Virgo Frontend Monthly

Issue 021

BUÉK!

Üdvözlünk mindenkit a 2018-as év első Monthly-jában! Remélhetőleg mindenki kipihente az óév fáradalmait, túltette magát a sok karácsonyi süteményen, és készen áll az idei év kihívásaira!

Olvasnivaló

A JavaScript framework-ök világával elég nehéz lépést tartani. Rengeteg létezik belőlük, és nincs olyan hónap, hogy ne jelenne meg valami újdonság, azt ígérve magáról, hogy valamiben jobb lesz, mint az összes eddigi. Egy új projekt előtt állva fontos döntés, hogy milyen framework-öt fogunk hozzá használni (már ha használunk hozzá egyáltalán bármit). Ennek a döntésnek a meghozatalában hivatott segíteni ez a nemrég publikált útmutató. Azt nem gondolom, hogy folyamatos frissítésekkel mindig up-to-date információkat fogunk belőle kapni, de egy most induló projekt elkezdése előtt hasznos lehet átpörgetni, és megismerni a lehetőségeket.

Régebben minden év elején listát írtam azokról a dolgokról, amiket abban az évben véghez szeretnék vinni / meg szeretnék tanulni. Ezekből aztán általában nagyon kevés dolog valósult meg, de egy próbát megér, hátha más nagyobb sikerrel jár, mint én. A szakmai célok kitűzéséhez jó alapanyag lehet ez a 2018-as trendeket megjósolni próbáló bejegyzés. Nem hiszem, hogy megjósolható lenne, hogy 10 hónap múlva éppen mi számít majd hasznos és releváns tudásnak, de a következő hónapokra jó kiindulási pontot kaphatunk a cikk végén található lista által.

Bár a cikk említést teszt róla, a listában már nem szerepel a WebAssembly, annak ellenére sem, hogy immáron mind a négy nagy böngésző támogatja. Sőt, a Firefox az 58-as verziójában már a streaming compilation-t is támogatja. Ez lényegében azt jelenti, hogy a kód fordítása korábban, még a letöltés befejezte előtt elkezdődik. Mivel a fordítás korábban kezdődik, ezért a kód futtatására is kevesebbet kell várnunk, így a WebAssembly még gyorsabbá válik. A módszerről itt olvashattok bővebben.

Nem csak a Firefox adott ki új verziót. Az Apple is megjelentetett egy új technology previewt a Safari böngészőkhöz. Számomra a legjobban várt új funkció egyértelműen a Service Workerek támogatása, mind a desktop, mind a mobil verzióban. Az iOS 11.3-mas verziójában ez már minden bizonnyal támogatott funkció lesz, így valódi piac nyílhat a progresszív webalkalmazások előtt, bár a 11.3 első bétája kicsit bugosnak tűnik.

A Web Workerek persze nem csak PWA-khoz használhatók. A dedikált web workerek támogatottsága már régóta nagyon magas, és jól használhatóak magas számításigényű feladatok elvégzésére. A Web Workerek alapvető működését, és pár hasznos use-caset olvashatunk ezen a linken.

A HTML 5.2 nemrég hivatalos W3C ajánlás lett, így érdemes lehet megismerkedni a szabvány által nyújtott újdonságokkal. A legnagyobb port az új dialog elem kavarta, a vélemények megoszlanak a hasznosságáról, mindenesetre a ::backdrop pszeudo-selector nekem nagyon tetszik, ugyanakkor a scrollozást még nem sikerült jól megoldani.

A titkosításokat alapvetően elég nehéz megérteni. Át kell rágnunk magunkat egy csomó matematikai bizonyításon, kulcsokhoz tartozó algoritmusokon, ezeket ténylegesen megérteni nem egyszerű. Ha megelégszünk a koncepció alapjainak megértésével, sokkal könnyebb dolgunk van. Ha emellett a titkosítás működésére jól értelmezhető példákat is kapunk, a titkosítások megértése talán még örömet is tud okozni.

Ezt már mind vágod?

Senior frontendeseket keres a Virgo Systems. Jelentkezz!

Egyéb

Habár mostanában nem sokat hallani a jQueryről, januárban érkezett update hozzá. Nem is egy, hanem kettő, két egymást követő napon. Az update főleg deprecatednek jelölt függvényeket tartalmaz, az egyetlen valódi feature, amit kapunk, hogy az addClass, removeClass és toggleClass függvényeknek már tömböt is adhatunk paraméterként. A második release csak a függőségek kezelését javítja, a kód maga megegyezik a 3.3.0-ás verzióval.

Nem csak a jQuery, a Bootstrap is adott ki új verziót, végre megérkezett a stabil Bootstrap 4! Az utolsó béta óta nincsenek breaking változtatások, apró javítások történtek, illetve a dokumentáció és a példakódok bővültek sokat. A carousel még mindig nem slide-olható, de már stabilnak számít a 4-es verzió, úgyhogy aki eddig inkább a 3-mast használta, szép lassan nyugodtan válthat az újra, esetleg egy másik libraryre.

A webpack is jelentetett meg új verziót, szintén 4-es szám alatt, bár ez még csak béta fázisban van. Főleg performancia javulásokat fog tapasztalni, aki kipróbálja, és a bundle-ök méretének csökkenését, emellett megszűnt a Node.js 4-es verziójának támogatottsága. A teljes changelog is elérhető természetesen, aki aktívan használja a webpacket, annak érdemes lehet átolvasnia.

Bár még soha nem volt szükségem rá, nemrég szembe jött velem egy cikk arról, hogy hogyan lehetséges a mobil készülékeken megakadályozni azt, hogy elsötétedjen a kijelző böngészés közben. Először arra gondoltam, hogy egy új API-t kapunk, aminek segítségével kontrollálhatjuk, hogy elaludjon-e a kijelző, vagy sem, de nem erről van szó. A cikk egy NoSleep.js nevű libet ajánl a probléma megoldására, ami tulajdonképpen csak annyit csinál, hogy elindít egy .mp4 formátumú videót, ennek következtében a kijelző nem fog elaludni. A megoldás maga érdekes, de a fejlesztők nagy része valószínűleg boldogabb lenne egy új API-val.

Végezetül pedig pár apró szösszenet: Összegyűjtötték a 10 leggyakoribb JavaScript errort, több, mint 1000 projektről. A hibákhoz magyarázat is társul, illetve pár jó tanács, hogy hogyan lehet az ilyen típusú hibák számát csökkenteni.

Nemrég bejárta az internetet egy interjú kérdés, miszerint: hogyan lehetséges JavaScriptben, hogy az (a == 1 && a == 2 && a == 3) feltétel igazra értékelődjön ki? Biztos mindenkinek van ötlete a kérdés megválaszolására, de nagyon sok választ kapott a kérdező stackoverflow-n, a legkézenfekvőbbektől kezdve az egészen elvadultakig, a következő interjúján már biztos tud legalább egy jó választ adni a kérdésre.

Végszó

Ezzel a végére értünk az idei első számnak, minden visszajelzést szívesen fogadunk a cikk alatt található disquss felületen.

Találkozunk egy hónap múlva, sziasztok!