Programowanie gier w JavaScript

Training_teaser_1

Tagi JavaScript, HTML 5, CSS 3, Performance tuning

Zapraszamy na spotkanie z cyklu zaawansowanych technik programowania w JavaScript, tym razem “Programowanie gier w JS”. Podczas intensywnego 1-dniowego warsztatu omówimy zagadnienia związane z tworzeniem interaktywnych, wydajnych i multimedialnych gier uruchamianych w przeglądarce. Spotkanie ma charakter interaktywny, połączenia wykładu z warsztatami. Urozmaicone jest wieloma praktycznymi zadaniami rozwiązywanymi przez uczestników i omawianymi wspólnie z prowadzącym. Zadania dotyczą specyficznych problemów związanych z programowaniem gier.

Dla kogo?

Spotkanie dedykujemy programistom aplikacji webowych, którzy chcą poszerzyć swoje umiejętności o tworzenie gier oraz dla game developerów, którzy planują wytwarzać gry w środowisku webowym. Zapraszamy przede wszystkim osoby z solidnym warsztatem developerskim i doświadczeniem w projektach programistycznych (aplikacje webowe / javascripowe lub gry).

Sobota

9:00 – 21:00

Omówienie ogólnych zagadnień związanych z tworzeniem gier przeglądarkowych

  • Przedstawienie założeń projektowania przyjaznego oraz responsywnego interfejsu graficznego, które zrealizujemy w poźniejszych etapach szkolenia.
  • Studium przypadku na bazie istniejących na rynku gier (Tanadu, Travian, Margonem, Heroes Kingdom) oraz silników (gameQuery, Diggy, effectgames i innych).

Realizacja dobrych praktyk

  • Omówienie na przykładach implementacji dobrych praktyk inżynierii frontendowej w kontekście gier webowych oraz narzędzi z nimi związanych. Czyli jak poprawić responsywność aplikacji zanim zaczniemy optymalizować kod.

Grafika i animacja w przeglądarce

  • Przedstawienie dwóch podejść do animacji: operacji na elementach DOM kontra rysowanie na canvasie. Dokładne omówienie problemów, wad i zalet obydwu podejść oraz praktyczne wskazówki. Na kanwie porównania poruszymy zagadnienia takie jak: zasada działania engine’u renderującego przeglądarki, reflow, event delegation oraz zastosowanie CSS3.

Komunikacja klient / server w JS

  • Omówienie sposobów komunikacji z serwerem.
  • REST
  • Komunikacja cross-domain w oparciu o JSONP i iframe.
  • Komunikacja dwustronna oparta o long polling, multipart HTTP response oraz WebSocket’y.

Performance tuning w JS

  • Dobre praktyki tworzenia wydajnego kodu JS’owego, w tym: optymalizacja kodu na poziomie czystego języka oraz związane z tym zagadnienia i techniki.

Architektura i modułowość

  • Architektura Model-View-Controller w JavaScript.
  • Koncepcja systemu złożonego z widgetów (html / css / js) ładowanych na żądanie.

Aktualne trendy i przyszłość JavaScript

  • Ogólny przegląd zagadnień: od HTML5 i CSS3, przez Test-Driven Development (jsTestDriver, qUnit, TestSwarm, Selenium) i narzędzia (ClosureCompiler, YUICompressor, JSMin), po integrację z serwisami społecznościowymi i ServerSide JavaScript (node.js, Rhino, Jaxer…).

Warsztaty, które się odbyły

Wrocław, 8-9 stycznia relacja

  • 1_1_t
  • 1_2_t
  • 1_3_t
  • 1_4_t

Warszawa, 22-23 stycznia relacja

  • 2_1_t
  • 2_2_t
  • 2_3_t
  • 2_4_t

Poznań, 5-6 lutego relacja

  • 3_1_t
  • 3_2_t
  • 3_3_t
  • 3_4_t

Kraków, 19-20 lutego relacja

  • Img_0069
  • Img_0092
  • Img_0120
  • Img_2421

Gdańsk, 5-6 marca relacja

  • Img_2784
  • Img_2730
  • Img_2629
  • Img_2628

Devmeetings @ facebook

Prowadzący

1

Frontend developer, współautor jednej z pierwszych polskich gier przeglądarkowych – Tanadu. Zafascynowany JavaScriptem, szczególnie w kontekście przeglądarek: od optymalizacji wydajności animacji, przez czystą architekturę dużych aplikacji webowych, po integrację z backendem (np. opartym o Node.js). Kiedy akurat nie pisze testów w QUnit, uczestniczy w budowie frameworka Unify (cross-platformowy JS).

Dyskusja

Aby wziąć udział w dyskusji, musisz się zalogować .
Jeśli nie posiadasz jeszcze konta, prosimy się zarejestrować .