Full Stack JavaScript - RxJS
1. Podstawy RxJS.
a. Podstawy działania strumieni
- Observable
- Observer
- Subscription
- Callback vs Promise vs Observable
b. Tworzenie strumieni
- Własny strumień: Observable.create()
- Wbudowane kreatory strumieni: of, from, fromEvent, timer...
c. Jak działają operatory
- Użycie metody pipe()
- Podstawowe operatory: map, filter, reduce, switchMap
d. Observable i Observer w jednym
- Subject
- Behavior Subject
- Replay Subject
e. MultiCasting
- Cold i Hot Observable
- Operatory publish, share, multicast
2. Praktyczne zastosowanie operatorów.
- debounceTime
- throttleTime
- combineLatest
- retry
- merge
- delay
- bufferTime
- switchMap
- takeUntil
Podczas warsztatu zapoznamy się z biblioteką RxJS oraz reaktywnym programowaniem w JavaScript. RxJS to biblioteka wspierająca reaktywne programowanie przy użyciu Observables, pozwala na łatwiejsze programowanie operacji asynchronicznych opartych o promisy, czy funkcje zwrotne (callbacks). RxJS to odpowiednik Lodash, jednakże skierowany do obsługi eventów.
W ostatnim czasie sporo mówi się o reaktywnym programowaniu, a sama biblioteka jest wykorzystywana jako dependency w takich projektach jak Angular (po stronie przeglądarki), czy NestJS (po stronie serwera).
Najtrudniejszy aspekt programowania reaktywnego, to zacząć myśleć reaktywnie!
Aby nauczyć się myśleć reaktywnie z RxJS, najpierw musimy poznać i zrozumieć jego podstawy, w jaki sposób działają streamy, jak je tworzyć, łączyć, a także zmieniać przesyłane w nich wartości poprzez operatory.
Ucząc się wbudowanych operatorów na przykładach, przestawimy nasze myślenie tak, żeby pozbyć się imperatywnych nawyków pisania kodu. Zamienić architekturę stateful na architekturę reaktywną opartą o strumienie.
Czego się nauczysz?
- poznasz podstawowe elementy RxJS, takie jak Observable, Observer, operator, subscription - pisząc je od podstaw samemu.
- na praktycznych przykładach będziesz się uczył wbudowanych operatorów, dzięki czemu szybciej je zrozumiesz i lepiej zapamiętasz ich zastosowanie.
- dzięki przygotowanym ćwiczeniom zobaczysz jakie korzyści płyną z pisania kodu reaktywnego i unikania przechowywania samemu stanu aplikacji.
- nauczysz się wykorzystywania RxJS po stronie przeglądarki oraz serwera.
Dla kogo jest ten warsztat?
Warsztat jest przeznaczony dla programistów ze znajomością JavaScript/ES2015 w zakresie podstawowym. Zagadnienia, które będą używane, ale nie omawiane na warsztacie to:
- konstrukcje warunkowe,
- pętle,
- operatory logiczne,
- var, const, let,
- funkcja,
- klasa,
- ES Modules (import/export)
- arrow function
- Promise
- callback
Podczas warsztatu uczestnicy korzystają z własnych komputerów.