WebExpo 2013 byl zatím nejlepší ročník

Minulý týden proběhl šestý ročník konference WebExpo. Rád bych se s vámi podělil o dojmy z několika přednášek, které jsem měl možnost vyslechnout.

Letošní WebExpo bylo celé v angličtině. To je asi největší změna proti minulým ročníkům. Další, neméně důležitou změnou, byl rekordní počet zahraničních přednášejících.

Trochu jsem měl obavy, jestli budu dostatečně rozumět, ale i se svou průměrnou angličtinou jsem nenarazil na jedinou přednášku, se kterou bych měl problém. Někteří lidé kritizovali angličtinu českých speakrů, tedy spíš výslovnost, než angličtinu jako takovou. Měl jsem ale pocit, že to nejvíc řešili ti, co sami perfektní výslovnost nemají. Naopak lidé s plynulou angličtinou se zdáli podstatně tolerantnější.

Pátek – 20.9.2013

Single-page applications

Přednášky v Development Hall zahájil Jakub Mrozek. V úvodu popsal, co si vlastně pod Single-page applications (SPA) představuje. V zásadě jde o jednostránkové aplikace, napsané v JavaScriptu a vyvíjené s přístupem Frontend first. Tedy logika aplikace je na klientu a se serverem se komunikuje přes REST API. Za výhodu tohoto přístupu k vývoji považuje i to, že stejné API můžeme kromě SPA použít i pro mobilní aplikaci.

Jako úložiště pro případný běh SPA v offline režimu lze použít HTML5 Application Cache nebo třeba PouchDB – JavaScriptová databáze inspirovaná CouchDB.

Na straně serveru lze použít cokoliv, ale Node.js je výhodou už proto, že používáte na obou stranách stejný jazyk – JavaScript. Ten lze samozřejmě nahradit CoffeeScriptem, TypeScriptem nebo třeba Dartem. Jakubovým favoritem je TypeScript. Dalším důležitým prvkem je možnost používat nějaký JS framework. Z ankety, co je favoritem mezi JS frameworky, vyplynulo, že velká část lidí v sále zná a používá AngularJS, z čehož byl Jakub mile překvapen.

Hlavním nedostatkem SPA je především SEO. Jsou špatně indexovatelné. Google a Bing podporují indexaci SPA pomocí zvláštního URL, které poskytuje statický obsah. To ale bohužel nepodporuje Seznam a mnoho dalších vyhledávačů.

Jakub Mrozek

Jakub Mrozek

How to Turn Your Ugly Old CSS into a Clean Future-Ready Beauty

Robin Pokorný vtipně ukázal, jak je CSS nedokonalé a nevhodné pro použití v dnešní době. Ukazoval to na webu Jobs.cz – rozdíl, jak vypadala jeho homepage v r. 1996 a 2005.

Zavzpomínal na CSS Zen Garden a na doby, kdy se měnil design jedno HTML za pomocí různých CSS. Když přišly frameworky typu Twitter Bootstrap, změnilo to pohled na frontend. Naopak stejné CSS třídy aplikujete na zcela rozdílné HTML.

Zaznělo tam několik zajímavých myšlenek: CSS nepíšete pro sebe. Přemýšlejte o CSS jako o knize návrhových vzorů a ne jako sadě nářadí (volně přeloženo). Robin zmínil i další techniky, jako je objektově orientované CSS.

P1020610 - Robin Pokorny

Robin Pokorný

Saxon CE – Interactive browser based applications without single line of JavaScript

Z úvodní otázky Jirky Koska vyplynulo, že Saxon CE (Client Edition) moc lidí nezná, takže bylo co ukazovat. V zásadě jde o implementaci XSLT v browseru, zkompilovanou do JavaScriptu pomocí Google Web Toolkit. Webové browsery sice nějakou podporu XSLT mají, ale omezenou. Podporují většinou jen XSLT 1.0 a pouze statickou část (načtení XML, transformaci a renderování).

Saxon CE podporuje XSLT 2.0 a ještě ho rozšiřuje o další možnosti: události, přístup do DOMu a javascriptové objekty. Jirka to demonstroval na jednoduché kalkulačce.

Na jednu stranu je to úžasné, co všechno se s tím XSLT 2.0 dá dělat, ale stejně se nemohu zbavit dojmu, že je to zbytečně komplikované. Osobně na jednom projektu z historických důvodů XSLT používám, ale právě proto bych ho už asi nahradil něčím jednodušším.

Jirka Kosek

Jirka Kosek

Internet of Things and Open Data

Štěpán Bechynský pracuje v Microsoftu, ale jeho velkým koníčkem jsou malé jednodeskové nebo dokonce jednočipové počítače. Na začátku přednášky nám ukázal několik různých verzí počítačů jako je Arduino, Raspberry Pi: nebo XBee.

Potom předvedl i praktickou ukázku, kdy propojil několik senzorů s počítačem XBee a názorně předvedl například měření teploty. Dále ukázal zdrojový kód a demonstroval, jak je ve Visual Studiu snadné napsat takový obslužný program. Obslužné programy pro počítače tohoto typu se musí psát velmi úsporně, protože často disponují jen desítkami nebo dokonce jednotkami kilobytů paměti.

A ještě jeden poznatek: Není dobré připojovat k Internetu každý sensor samostatně. Je to drahé a energeticky náročné. Lepší je připojit čidla k centrální jednotce a teprve tu připojit k Internetu.

Štěpán Bechynský

Štěpán Bechynský

Huge Web Apps

Daniel Steigerwald zahájil přednášku konstatováním, že psát Huge Web Apps je náročné. A to je velmi diplomaticky řečeno. Symptomům kolem souhrnně říká Stress Driven Development. Z přednášky jsem zachytil několik postřehů:

  • Aplikaci je dobré strukturovat podle vlastností. Tématicky. Tedy nepoužívat adresáře jako controller, view, model,… ale tématicky, co k sobě patří. Aby už z adresářové struktury bylo zhruba patrné, co která část aplikace dělá. Ale vždy nějak oddělit model.
  • Vůbec celé to slavné MVC označil Daniel za Man Vs. Controller
  • Nepiště unit testy jen pro to, abyste psali unit testy. Tohle je dnes skoro kacířská myšlenka, ale naprosto s ní souhlasím. Spousta vývojářů dnes podlehlo iluzi, že testy musí pokrývat veškerou funkcionalitu a ztrácí čas testováním něčeho, co vůbec testovat nepotřebují.
  • AngularJS je framework pro kodéry, ne pro vývojáře ;-)
Daniel Steigerwald

Daniel Steigerwald

Sobota – 21.9.2013

OK glass, bring me a mojito

Sobotní ráno zahájil Radek Simko s Google Glass nasazenými na hlavě. V první části přednášky předváděl, co všechno Google Glass umí, takže hledal na Googlu, hledal na mapách, fotil, natáčel video, to hned publikoval apod.

Google Glass zatím stále pro veřejnost nejsou, a ještě asi chvíli nebudou, ale na WebExpu jste si je mohli po přednášce alespoň vyzkoušet. Pro vývojáře je ale důležitější jiná věc: Jak je nebo bude možné pro Glass vyvíjet. Jsou dvě možnosti:

  • Google Mirror API – jednodušší varianta; data z jakékoliv webové aplikace můžete přes toho API zpřístupnit uživatelům Google Glass aniž byste museli vyvíjet skutečnou aplikaci.
  • GDK – Glass Development Kit – je v podstatě Android SDK upravené pro Google Glass. GDK je určeno spíš pro pokročilejší věci, které nelze udělat přes Mirror API.
Radek Simko

Radek Simko

Elasticsearch: Beyond Simple Fulltext Search

Elasticsearch je, podobně jako např. Solr, postaven na Java knihovně Lucene. Karel Minařík a Honza Král v úvodu rozebrali čtyři základní vlastnosti, které dělají Elasticsearch elastickým: flexibilita, škálování, univerzálnost a otevřenost. Zaujala mě právě ta univerzálnost. Elasticsearch má i jiné využití, než je vysloveně vyhledávání. Hodně lidí ho využívá například jako úložiště logů nebo na analýzu různých dat. Například vestavěná podpora facetů se dá dobře využít právě pro různé statistiky, i když k tomu facety přímo určené nejsou.

Začít používat Elasticsearch je jednoduché – nainstalujete ho a rovnou začnete používat. Pro začátek není třeba nic konfigurovat. Praktické příklady v přednášce ukázaly, jak je to opravdu jednoduché. Ke komunikaci používá REST + JSON API, takže pro ukládání dat a pro pokládání dotazů nepotřebujete nic, než CURL.

Tato přednáška mě hodně zaujala. Sám jsem příznivcem jiné vyhledávací technologie – Sphinx Search, ale tato přednáška mě přesvědčila, že Elasticsearch na nějakém projektu vyzkouším, abych měl praktické srovnání.

Honza Král, Karel Minařík

Honza Král, Karel Minařík

Accessibility in High Contrast Mode

Když mluvíme o accessibilitě webů, máme většinou na mysli zpřístupnění obsahu pro nevidomé. Ale nejde jen o ně. Jde i o další uživatele, kteří sice vidí, ale z různých důvodů potřebují vyšší kontrast. Například 8% obyvatel trpí barvoslepostí, kdy nerozeznají zelenou a červenou.

Jakub Tománek ze Skypu ukazoval, co je tzv. High Contrast Mode a že upravit váš web tak, aby v tomto módu vypadal dobře, není moc práce navíc. Vystačíte si většinou jen s úpravami CSS. Následovalo několik tipů, které je dobré dodržet:

  • Pokud nějaký element nemá rámeček, dejte mu průhledný. V HCM bude vypadat dobře, normální mode to neovlivní.
  • HCM schová všechny obrázky na pozadí – na to je třeba pamatovat a nějak, většinou pomocí CSS, vyřešit.
  • HCM je možné detekovat v CSS pomocí media queries (jen v MSIE 10+ a WIndows 8+).
  • CSS sprity pomocí :before v HCM nefungují.

Podpora HCM je v různých systémech a prohlížečích různá. Ve Windows funguje v MSIE, Firefox taktéž, ale nepodporuje systémové barvy. Chrome na to má nějaký plugin, ale skutečný HCM to není. Mac má naproti tomu tzv. Inverted colors (negativ).

Na otázku, kolik procent uživatelů HCM používá, Jakub bohužel nedokázal odpovědět, protože k tomu žádné statistiky nejsou.

Jakub Tománek

Jakub Tománek

Scaling LAMP doesn’t have to suck

Steve Corona, který škáloval službu Twitpic pro 30 milionů uživatelů, se podělil o postřehy, jak škálovat platformu LAMP. Škálováním myslí designovat aplikaci pro miliony uživatelů. Škálování je o architektuře a nikoliv o vaší aplikaci nebo kódu. Kód je rychlý dost.

Když Steve mluví o LAMPu, nemyslí dnes již doslova Linux, Apache, MySQL a PHP, ale používá termín Better LAMP, kde některé technologie nahrazuje výkonnějšími nebo jednoduššími. Steve doporučuje používat Nginx nejen jako reverzní proxy, ale také jako http server, balancer a Fast-CGI proxy. Tedy ne jen ho dát před Apache, ale i místo Apache.

Místo MySQL doporučuje projekt Percona. Na otázku, proč ne Maria DB, odpověděl nějak neutrálně, ale bylo vidět, že Percona u něj vede. Místo Memcache potom Redis, který považuje za univerzálnější.

Dále zdůraznil výhody nového PHP 5.5, na které doporučuje přejít ze starších verzí. PHP 5.5 je o 10-20% rychlejší, než PHP 5.4 a to je rychlejší, než PHP 5.3. Doporučuje zapomenout na APC, jelikož v PHP 5.5 je už přímo integrován Zend Optimize, který je opět rychlejší.

Steve Corona

Steve Corona

Závěr

Celkově hodnotím letošní ročník jako zatím nejlepší WebExpo a organizátorům i přednášejícím přeji hodně síly a energie do dalších let.

Další ohlasy

(Seznam budeme průběžně doplňovat.)

Věděli jste, že nám můžete zasílat zprávičky? (Jen pro přihlášené.)

Komentáře: 7

Přehled komentářů

Venca Stoupa This webexpo was really DOBRY!
Lukáš
Jan Prachař Re:
Martin Hassman Re:
tom zajímavé, asi dvě různé konference :)
Dvorak videa
Martin Hassman Re: videa
Zdroj: https://www.zdrojak.cz/?p=9836