RxJS to coraz popularniejsza biblioteka do reaktywnego programowania w JavaScript. Warto ją dokładnie poznać, by w pełni wykorzystywać potencjał współczesnych technologi webowych.

Adresaci szkolenia

Szkolenie jest przeznaczone dla programistów ze znajomością JavaScript, którzy chcą rozszerzyć swój warsztat o reaktywne programowanie po stronie klienta oraz serwera.

Cel szkolenia

Głównym celem szkolenia jest przekazanie praktycznej wiedzy z zakresu programowania reaktywnego w JavaScript z wykorzystaniem RxJS.

Jest to biblioteka wspierająca funkcyjne reaktywne programowanie przy użyciu Observables, pozwala na łatwiejsze programowanie operacji asynchronicznych i rozwiązuje problemy które mamy w obietnicach (Promise) czy funkcjach zwrotnych (callbacks).

RxJS to odpowiednik Lodash, jednakże przeznaczony do obsługi strumieni zdarzeń. Jej popularność szybko rośnie dzięki wykorzystaniu jej jako zależność w takich projektach jak Angular (po stronie przeglądarki), czy Nest (po stronie serwera).

Najtrudniejszy aspekt programowania reaktywnego, to zacząć myśleć reaktywnie.

Aby nauczyć się myśleć reaktywnie, najpierw musimy poznać i zrozumieć podstawowe założenia, w jaki sposób działają streamy, jak je tworzyć, łączyć i modyfikować przesyłane w nich wartości.

Uczestnik pozna:

  • Asynchroniczność w JavaScript (callback, promise, observable)
  • Wykorzystanie RxJS po stronie przeglądarki oraz serwera
  • Podstawowe elementy RxJS, takie jak Observable, Observer, operator, subscription
  • Wbudowane operatory, te podstawowe oraz bardziej zaawansowane
  • Komponowanie strumieni
  • Tworzenie własnych operatorów
  • Zarządzanie reaktywne stanem aplikacji webowej
  • Zarządzanie subskrypcją, czyli jak unikać wycieków pamięci
  • Testowanie strumieni

Mocne strony szkolenia

Dzięki przygotowanym ćwiczeniom, poznamy korzyści jakie płyną z pisania kodu reaktywnego. Pozbędziemy się imperatywnych nawyków pisania kodu, zamieniając architekturę stateful na architekturę reaktywną opartą o strumienie.

Zdobytą wiedzę przećwiczymy budując aplikację do pracy zespołowej w czasie rzeczywistym, dzięki czemu lepiej zapamiętasz zastosowanie poszczególnych elementów biblioteki.

Wymagania

Od uczestników wymagana jest podstawowa znajomość JavaScript. Zagadnienia, które należy znać: var, const, let, pętle, operacje warunkowe, funkcja, arrow function, klasa, ES Modules, Promise, async/await

Specjalne wymagania techniczne

Wymagany jest komputer z zainstalowanym Node.js w wersji 10 lub nowszej, oraz edytorem wspierającym TypeScript(zalecany to darmowy Visual Studio Code)

Parametry szkolenia

2*8 godzin (2*7 godzin netto) wykładów i warsztatów (z wyraźną przewagą warsztatów).

Program szkolenia

  1. Wprowadzenie
    • ECMAScript 2015
    • TypeScript
    • Angular
  2. Programowanie funkcyjne
    • Funkcja
    • Scope
    • Closures
    • Funkcja wyższego rzędu
    • Funkcje czyste a efekty uboczne
  3. Asynchroniczność
    • Callback
    • Promise
    • Observable
  4. Podstawy RxJS
    • Podstawy działania strumieni
      • Observable
      • Observer
      • Subscription
    • Tworzenie strumieni
      • Własny strumień: Observable.create()
      • Wbudowane kreatory strumieni: of, from, fromEvent, timer...
    • Jak działają Operatory
      • Użycie metody pipe()
      • Podstawowe operatory: map, filter, reduce, switchMap
      • Tworzenie własnych operatorów
    • Observable i Observer w jednym
      • Subject
      • BehaviorSubject
      • ReplaySubject
    • Multicasting
      • Cold i Hot Observable
      • Operatory: publish, share, multicast
    • Scheduler
  5. Testowanie przy użyciu Marble Diagrams
  6. Budowa przykładowej aplikacji do pracy zespołowej w czasie rzeczywistym (real time)
    • Zarządzanie danymi i stanem aplikacji webowej (Angular)
    • Budowa serwera WebSockets (Nest)
    • Komunikacja przez WebSockets
    • Zarządzanie stanem offline/online
    • Praktyczne zastosowanie zaawansowanych operatorów
    • Sposoby zarządzania subskrypcją w celu uniknięcia wycieków pamięci

Pytania?

* Wymagane.


Konsultant on-line
Skorzystaj z usług naszego konsultanta on-line.
Naciśnij przycisk ‘Skorzystaj’ aby przejść do okienka czatu
Kontakt
ul. Nowogrodzka 62c
02-002 Warszawa
Telefon +48 22 2035600
Fax +48 22 2035601
Email