Javascript

Programowanie reaktywne – wprowadzenie do RxJS

ReactiveX to API, które pozwala nam budować aplikacje w oparciu o asynchroniczne strumienie danych. Wykorzystuje ono potęgę wzorca projektowego obserwator oraz elastyczność programowania funkcyjnego. Jest udostępnione w postaci bibliotek dla większości popularnych języków programowania takich jak Java, C# czy właśnie JavaScript.

Programowanie reaktywne

Programowanie reaktywne to paradygmat programowania, którego filozofia opiera się na zdarzeniach. Komponenty naszej aplikacji powinny odpowiednio „reagować” – na interakcję z użytkownikiem, odpowiedź serwera czy błędy. Pozwala nam to również na osiągnięcie luźnych powiązań pomiędzy fragmentami aplikacji dzięki wymianie danych przy pomocy równoległych strumieni.

Dlaczego RxJS?

RxJS to biblioteka, która implementuje API ReactiveX w języku JavaScript. Udostępnia nam dwie podstawowe cegiełki, dzięki którym budowanie aplikacji reaktywnych jest znacznie prostsze – Observable (producent) i Observer (konsument).


Czym różni się Observable od Promise?


  • Promise może zwrócić wartość zaledwie raz, Observable wielokrotnie,
  • Observable może zostać anulowane,
  • Observable udostępnia zestaw metod do wygodnego filtrowania i operowania na danych znajdujących się w strumieniu,
  • Observable zapewnia ujednolicone API do zarządzania zdarzeniami, bez względu na to jakie jest ich źródło (elementy drzewa DOM, zapytanie HTTP, timer),
  • I wiele, wiele innych…

Podsumowanie

RxJS to biblioteka dająca ogromne możliwości. Przełożenie tego, co nam oferuje w postaci teorii na papier byłoby niezwykle czasochłonne. Aby poznać jej pełny potencjał, najkrótszą drogą jest praktyka. W następnym artykule zaczniemy już od tworzenia pierwszych Observables, bez dalszego zagłębiania się w teorię.