MLOC.JS beszámoló

érdekes és jó érzés volt részt venni az idei MLOC.js konferencián, ahol többek között igazi nagyágyúk is képviseltették magukat, mint a Google, Mozilla, Facebook vagy éppen a WHATWG. érdekes előadásokkal tűzdelt jó hangulat volt a menü, ahol megpróbáltunk előrefele nézni és látni, mi lehet(ne) a web jövője.

A konferencia nevében szereplő MLOC betűszó eredetileg a million lines of code jelentése. Az egész esemény fókuszában a nagyméretű, hangsúlyos kódbázissal rendelkező webes JavaScript alapú alkalmazások állnak. Több szempontból is érdemes ezeknek a programoknak a fejlesztéséről beszélgetni, mivel ez a terület manapság szinte napról-napra változik mind az eszközök, mind az alkalmazott módszerek tekintetében. Pont ezért egy ilyen alkalmazás több sebből is tud vérezni, amiről érdemes megosztani a tapasztalatokat. Hogy csak a legegyszerűbb problémákat említsem, izgalmas kihívás lehet a kód minőségének fenntartása, a konzisztens kódírási stílus fenntartása vagy akár a tesztelhetőség biztosítása.

A Helyszín

Magát a helyszínt a Prezi biztosította a House of Ideas elnevezésű konferencia létesítményükben, ami kimondottan az ilyen rendezvények és eszmecserék lebonyolítására lett létrehozva, többeknek ismerős lehet a JavaScript Meetup-ok rendszeres helyszíneként. Erre az alkalomra külön díszítésekkel készültek, amelyeken vicces JavaScript elmélkedéseket lehet olvasni, a plafonra felfüggesztve, valamint a lépcsőre matricázva, geeketől geekeknek. A személyes kedvencem az “Answer to life: (+true+!+[])*7*3” volt.

A rendezvény hangulatára nem lehetett panasz, nyílt és kedves környezet vett körül. Fejlesztők jöttek a világ minden tájáról, könnyen szót értettem az amerikai, svéd és az izraeli kollegákkal is. Mindenki nyitott volt a diskurzusra a jelenlegi munkájáról, projektjeiről, hogy mi az, amit élvez és mi az, amin javítani lehetne. Egy amerikai fejlesztő srác olyan lelkes volt a saját munkája kapcsán, hogy egyből be is mutatta a saját fejlesztéseit a telefonjáról. A rendezvényekkel járó SWAG-ek sem maradtak el. A belépés után sok mloc.js feliratú hátizsákos embert lehetett látni, azonban a benne rejlő EPAM-os kesztyűt nem sokan merték hozzá felvenni. Ez talán annak tudható be, hogy nem volt téli hideg. Az előadások tartalma is hozta az elvárt minőséget. A továbbiakban összefoglalom a két nap eseményeit.

Programok

Az első napon Jeff Harrelltől megtudtuk, hogy a PayPal-nél is próbálgatják a Node-ot, és ráadásul a kijelölt projektjükön állítólag kétszer gyorsabban végeztek, mintha a tradicionális Springes irányba mentek volna. Ezután Daniel Steigerwald hívta fel a figyelmet a fejlesztők képzésének fontosságára, az ES6 újdonságaira, és a transzkompilerek használatára. Utánuk jött a mélyvíz szekció, ahol a V8 optimalizálás mélységeibe és a Mozilla objektum implementációjában vájkálhattunk, utóbbiból a végére világos üzenet is kaptunk: “Jelentős teljesítmény csökkenéssel jár sokszor property-ket törölgetni az objektumokból”. Ezek után Maxime Chevalier-Boisvert nyűgözött le mindenkit a saját Higgs névre hallgató JavaScript JIT fordítójával. Az első nap végére még akadémikus vitákba is ütköztünk annak kapcsán, hogy mi is az a tail call optimalizáció.

A komoly témák után jólesett az első nap végén szervezett közös sörözés, ismerkedés. Kicsit talán túl sok is volt ennek a napnak a végén a mélyvizes téma, és annál kevesebb a gyakorlati know-how avagy “mi hogyan csináljuk”. Ahogy megtudtam a többiektől, ők is hiányolták kicsit a konkrét tippeket, jobban számítottak a konkrét fejlesztési technikákra irányuló hangvételre.

A második nap teljesült vágyunk, kicsit feljöttünk a mélyvízből és népszerűbb témakörökre, technológiai bemutatókra váltottak az előadók. Dominic Denicola - aki most a WHATWG képviseleteként lett bemutatva - beszélt a Stream API jövőbeni szerepéről és fontosságáról. Erre a projektre érdemes lesz odafigyelni az elkövetkezendő években. Stoyan Stefanov bemutatta a React-ot, valamint utána megtudhattuk, hogy mi is az a Stratified JS. A nap vége a C-geekeknek kedvezett, és látványos is volt egyben, mivel szó esett arról hogy hol is tart a JavaScript, mint komoly játékokat kiszolgáló platform, és ezt demonstrálták is egy Doom 3-ból kiragadott JS-en futtatott részlettel. Valamint láttuk, hogy hogyan lehet C++ból DOM-ra irányuló utasításokat kiadni a Duettoval. Levezetésnek egy itthoni fejlesztő, Rocska ádám mondta el gondolatait általánosan a JS projektek architektúrájával és kialakításával kapcsolatban. Ehhez pedig kéretlenül - bár nem kelletlenül - bekapcsolódott az első napról Daniel, aki felhívta a figyelmet a “clean coding” fogalmára.

Végszó

összefoglalásképp, érdekes volt a rendezvény és sokat lehetett belőle tanulni JavaScript fejlesztőként. Egyedül azt bánom, hogy pont nem kaptam meg azt, amit a címtől vártam, tehát senki sem konkrétan a többezer soros JS appjának megírásáról vagy annak tapasztalatairól beszélt, kivéve egy-két előadást. Inkább egy nagyon széleskörű JS bemutatóra asszociálnék az esemény kapcsán, ami persze a fejlesztői látókörünk szélesítéséhez járul hozzá, és ebből a szempontból érdemes lesz elmenni a következő mloc-ra is.