8 października w Krakowie odbyło kolejne spotkanie z cyklu meet.js, organizowane przeze mnie, Wojtka Dłubacza i Damiana Wielgosika. Chciałbym zacząć od podziękowania lokalowi który zgodził się nas przyjąć – Touch Inn.
Wybraliśmy miejsce ze względu na fajne ekrany na stołach dzięki którym można zamawiać piwo w sposób odpowiedni dla geeka. Właściciel Touch Inn stanął na wysokości zadania (czego nie mogliśmy ostatnio powiedzieć o Drukarni, meh). Nagłośnienie i obraz były idealne. Trochę doskwierał słaby zasięg wifi i IE7 na stołach, ale postaramy się żeby to się zmieniło następnym razem
Naszą konferencję wsparło też Lunar Logic Polska, organizator Front Row Conference, fundując nagrodę w konkursie – wejściówkę na konferencję. 
jQuery Mobile – szybko, tanio, prosto… ale czy na pewno?
Adrian Gadzina i Krzysztof Ścira opowiedzieli o swoich doświadczeniach z jQuery mobile. Prezentacja zwróciła uwagę na wiele problemów z którymi zmaga się projekt (obecnie w wersji RC1). Myślę, że na wyróżnienie (negatywne) zasługują ciągłe zmiany w API, ciężkie stylowanie i chwalenie się na wyrost kompatybilnością z wieloma platformami. Zobaczyliśmy kilka rozwiązań takich problemów, integracje z PhoneGapem i stylowanie elementów. Pod koniec prezentacji znajduje się kod QR z linkiem do przykładowej aplikacji.
Geolocation
Lidia Wilczyńska zaprezentowała krótko tematykę geolokacji. Dowiedzieliśmy się jakie metody działają a jakie nie w przypadku przeglądarek, jak wygląda obiekt pozycji, co można z nim zrobić i jakie metody używać do śledzenia zmian. Został też poruszony ważny temat prywatności w sieci.
Responsive Web Design
Tobiasz Glazar zaprezentował metody budowania dynamicznych systemów gridowych dla przeglądarek w zróżnicowanych środowiskach. Pokazał kilka problemów (i rozwiązań) skalowania obrazów i serwowania różnego contentu dla różnych ekranów.
Node.js – server side javascript
Maciej Jastrzębski zaprezentował podstawy node.js i jego testy przeprowadzone w Dreamlabie Onetu. Wydajność w porównaniu z Apache + PHP czy Tornado + PyPy była znacząco wyższa. Sam test był bardzo sprytny, zamiast hello world które łatwo cacheować, w teście użyto timestamp serwera aby content był odświeżany za każdym razem. Oprawa graficzna prezentacji jest świetna i dobrze wyjaśnia jak właściwie działa node.js i dlaczego może być o tyle szybszy w niektórych zadaniach.
Bardzo miłą niespodzianką był też mały press release ze strony Onetu – 1 stycznia 2012 Dreamlab uruchomi Onet.cloud, serwis PaaS, SaaS i IaaS. Prawdopodobnie część backendu będzie oparta właśnie na node.js.
Ta prezentacja wywołała zaciekły flamewar długą dyskusję, argumenty obu stron wyglądały mniej więcej tak: pro1, pro2, con1, con2. Konkluzja – node.js jest jeszcze mało dojrzały, ma niewiele stabilnych i dobrych pakietów (pomimo gigantcznego repozytorim npm), ale w wyspecjalizowanych zadaniach jest bardzo szybki i wart użycia.
Prezentacja (pptx) Polecam też post o node.js na blogu Dreamlabu.
Asynchroniczna pułapka
Meet.js został zaplanowany tak, aby poziom trudności kolejnych prezentacji był lekko rosnący. Gdyby jednak chcieć umiejscowić prezentację Piotrka Koszulińskiego w odpowiednim miejscu, musiałaby być siedemnasta, może osiemnasta w kolejności. Ilość i poziom kodu na slajdach zwalała z nóg, ale dla wytrwałych nagroda była wielka. Piotrek pokazał problemy które spotykamy (głównie korzystając z node.js) przy funkcjach wywoływanych asynchronicznie. Funkcje które powinny być wywoływane równolegle lub sekwencyjnie tworzą zazwyczaj przerażająco zagnieżdżony kod, pełen callbacków i nadmiarowych linijek. Lekarstwem na to mają być biblioteki które ostatnio mnożą się na githubie. Piotrek pokazał bliżej dwie – async i deferred, które systematyzują i upraszczają najczęściej spotykane struktury.
O ile async był prawdopodobnie dla wszystkich zrozumiały, o tyle deferred jest oparty na bardzo magicznych właściwościach JavaScriptu i dla niewprawnego oka wygląda strasznie. Po spokojnym przejrzeniu kodu widać elegancję takiego rozwiązania, więc polecam to wszystkim.
Konkurs
W czasie meet.js zorganizowaliśmy mały konkurs na najlepszy pomysł na grę w przeglądarce. Po dogrywce nagrody zdobyły dwa pomysły:
- miejsce I i wejściówka na Front Row Conference od Lunar Logic Polska – Angry Nyan Cat, Jacek Złydach
- miejsce II i książka “The Essential Guide to HTML5: Using Games to learn HTML5 and JavaScript” ode mnie - Sokoban QR, anonimowy uczestnik (proszę o maila jeśli ktoś zna
)



No ładnie, to teraz czekamy na Poznań
Obydwie moje prezentacje – ta z MeetJS oraz ta (częściowo pokrywająca się z meetjsową) o middle-endzie z warsztatów DevMeetings – http://code42.pl/2011/10/09/moje-prezentacje-z-devmeetings-i-meetjs/
Wspomniana przez Sebastiana strona w JQM: http://7pl.info/jqm