Smashinglabs

Sebastian Poręba's blog

[PL] meet.js Krakow #3 – 08.10.2011

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.

Prezentacja (PDF)

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.

Prezentacja (www)

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.

Prezentacja (www)

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.

Prezentacja (www)

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:

Mam nadzieję, że zwycięzcy zabiorą się jak najszybciej za implementowanie swoich pomysłów i opowiedzą o nich naastępnym razem. Call for papers na kolejny meet.js do Wojtka Dłubacza :)

3 Responses so far.

  1. chemikpil says:

    No ładnie, to teraz czekamy na Poznań :)

  2. 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/

  3. procek says:

    Wspomniana przez Sebastiana strona w JQM: http://7pl.info/jqm :)


  • RSS
  • Facebook
  • Twitter

3D Tetris with Three

[include file="ThreejsTetrisMenu.php"] Joined or separated? Think about the way we play Tetris. ...

3D Tetris with Three

[include file="ThreejsTetrisMenu.php"] Preparation First you need to download Three.js: https://github.com/mrdoob/three.js I also use Stats ...

gMap 3.3.0 released

As always, you can download it from github. I had a ...

JavaScript performan

Trace JIT is no more I was surprised by the news that trace ...

Lecture for GTUG: Ja

My main topics were: Optimization in general DOM Reflow/repaint Garbage collector JIT Google Closure (Compiler/Tools/Library) You can ...

gMap 3.3.0 released

As always, you can download it from github. I had a ...

Lecture for GTUG: Ja

My main topics were: Optimization in general DOM Reflow/repaint Garbage collector JIT Google Closure (Compiler/Tools/Library) You can ...

Unit testing for jQu

In part 1 I described basics of unit testing in ...

Unit testing for jQu

There are few testing frameworks dedicated for frontend that are ...

What do we need for

Contents Better graphics Involve desktop game developers Easier animations Code like in C++ Fix WebGL Write ...