RxJS - Reaktywne programowanie w JavaScript
LICZBA DNI: 2 (16h)
KOD KURSU: RXJS
O szkoleniu
DLA KOGO?
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
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
ZALETY
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
Cele szkolenia
Przekazanie praktycznej wiedzy z zakresu programowania reaktywnego w JavaScript z wykorzystaniem RxJS
Nauka myślenia reaktywnego
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
Program
Wprowadzenie
- ECMAScript 2015
- TypeScript
- Angular
Programowanie funkcyjne
- Funkcja
- Scope
- Closures
- Funkcja wyższego rzędu
- Funkcje czyste a efekty uboczne
Asynchroniczność
- Callback
- Promise
- Observable
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
Testowanie przy użyciu Marble Diagrams
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
