Mentionsy Mentionsy
Subiektywny Frontend
Subiektywny Frontend

Koniec RxJS w Angularze? Signals przejmują stery… ale nie tak szybko!

27.11.2025 ·11 min 7 s · 2 rozdziały · 2 sponsorów

W tym odcinku rozkładamy na czynniki pierwsze zmianę, która właśnie dzieje się w Angularze — stopniowe przechodzenie od RxJS do wbudowanych Angular Signals. Framework wyraźnie kieruje się w stronę prostszej, reaktywnej architektury, ale… RxJS wcale nie znika. Nadal króluje w ogromnej liczbie istniejących projektów i w wielu przypadkach pozostaje najlepszym rozwiązaniem. Dlatego jeśli zaczynasz z Angularem, podstawy RxJS wciąż są warte poznania — nawet jeśli za kilka wersji jego rola może być już marginalna.👉 Subskrybuj, jeśli chcesz więcej frontendowych ciekawostek.

Cudownie. Signalsy. Tu sobie porobię wszystko na Signalsy. A potem zderzają się z rzeczywistością i wchodzą do prawdziwej aplikacji, która jest na prodzie, która już ma kilka lat i widzą tam paskudne strumienie. RxJS. I don't know. Wydaje mi się, że to pytanie jest nie tak, że głupie, ale ty nie masz wyboru. Musisz się nauczyć tych RxJSów, bo większość aplikacji, z którymi pracujesz na co dzień, mają jeszcze RxJS.

Więc jak możesz nie rozumieć RxJSa i nie umieć ich nawet w podstawowym stopniu? No właśnie, pamiętajcie, że mówimy dalej o świecie Angulara. Ten RxJS jest po prostu tam poszyty. To po prostu stoi na RxJSie, więc niestety nie ma wyboru. Tak, więc jak będziecie wchodzić w aplikację, która już istnieje, a przeważnie tak jest, no to będziecie musieli znać RxJSa. Dodatkowo musimy powiedzieć kolejną rzecz. Nawet w nowych aplikacjach wszystkiego nie da się zrobić na sygnałach. No właśnie, bo sygnały to jest, no powiedziałeś, że 4 wersje, a 4 wersje to znaczy 2 lata, a 2 lata to w sumie wcale nie tak długo. No nie.

I to nadal nie jest aż tak stabilny interfejs. Nie jest wygrzany. No nie jest wygrzany, bo nie mamy mnóstwa rzeczy na tych sygnałach. No i to, o czym ty mówisz, to właśnie tutaj jest taki potworek. No i słuchajcie, zanim Kuba przejdzie do tego, muszę wam powiedzieć dłuższą w cudzysłowie historię, ponieważ zacząłem ostatnio wchodzić w temat signalsów, robię swoje pierwsze pull i questy w pracy i tak dalej, no bo wcześniej tylko RxJS, zresztą cały czas pracuję z platformą, nie robisz za dużo now innych, nie ma tam potrzeby takich rzeczy. No w każdym razie robiłem, stworzyłem sobie piękne Tu Signal, tu Observable, wszystko ładnie. I tu dostaję taki koment od Jakumu, co to za g...

Byłem bardzo miły. Byłeś miły. Byłeś miły. Byłeś miły. Konstruktywny. Ale muszę to trochę tak przedstawić, rozumiesz? No, podkolorować. Muszę to tak podkolorować. W każdym razie zaczęliśmy pisać, zmieniłem swój kod, też byłem zadowolony z tych uwag od Jakuba, bo rzeczywiście to signal to observable nie wyglądało jakoś za dobrze. A potem, przygotowując się do tego odcinka, wchodzę na AngularExperts i proszę bardzo. AngularExperts mówi, że to signal to observable to jest dobry standard. Jeszcze obserwabla z sygnałów zapomniałeś. A tak, jeszcze obserwabla z sygnałów. No właśnie i to jest dla mnie trochę... Jesteśmy po prostu w tym okresie przejściowym, gdzie teoretycznie już witamy się z gąską, już mamy sygnały, już nowi deweloperzy w ogóle o RxJSie nie słyszą.

Na stronie Angulara jak wejdziecie w tutorial to tam w ogóle na promisach jest, tam oni udają, że RxJSa nie ma. Co? RxJS? No ale on jest, nie? I teraz, oczywiście, idziemy w tą stronę sygnałów, będą tam coraz dalej jechać, żeby tego RxJS-a się pozbyć, ale, no właśnie, to jest to, co powiedziałeś, że fajnie dla nowego projektu, świetnie, ale co z projektami, do których trafiamy? Najczęściej, jeśli nie pracujecie w startupie albo nie macie jakiegoś greenfielda, czyli projektu aplikacji, którą zaczynacie od zera, no to tamten RxJS będzie. I teraz, no trzeba się go nauczyć. Czy musicie się go nauczyć w jakimś zaawansowanym stopniu? Ja powiem, że nie.

Bo macie AI, który wam wytłumaczy co tu się dzieje. Ech, za dużo pokładasz nadziei w AI. Ja tu znalazłem w ogóle ciekawe pytanie na reddicie. Czy jest ktoś, kto zna RxJSa i nadal go nienawidzi? I no tutaj ktoś mówi, że się spotkał z wieloma osobami, które mówią, że nie lubią na ogół, ale to najczęściej dlatego, że go nie rozumieją, no bo jest dosyć wysoki próg wejścia, ale ten ktoś go lubi. Ale świetnie to opisał, że ci, kto go poznali i zrozumieli i z nim popracowali, to nie kojarzę, żeby było jakieś narzeganie.

I nagle się okazuje, że to nie jest problem, tylko właśnie problem z RxJS-em. I jeśli zaczynacie przygodę z tym, to jest ten taki moment, kiedy kliknie. Ktoś tu pisał, że 2 lata mu to zajęło. Mi wcale nie mniej. No ale to mniej więcej coś takiego, tak. Żeby naprawdę tak poczuć go i już czytać ten kod tak jak czytasz książkę, nie? No, bo problem z RxJS-em jest taki, że to właśnie to jest... Strumień. No bo to nie istnieje w danym momencie czasu. Oczywiście może są te marbles, możesz sobie spróbować wytłumaczyć, ale żeby to tak podświadomie mniej więcej zakumać, że tam to przechodzi jakoś tak...

Że ty musisz to w czasie jakoś rozkładać. Musisz wiedzieć, że te dane jakoś przechodzą właśnie przez jakieś filtry, przez jakieś operatory i co one dokładnie robią i jakie to są typy operatorów, co tam z tymi danymi na końcu dzieje. Więc niestety nie mamy dobrej informacji. Jeśli faktycznie chcecie się uczyć Angulara i chcecie lecieć na sygnałach, to i tak RxJSa musicie prędzej czy później trochę poznać. No bo na chwilę obecną czasami trzeba zrobić takiego potworka. Czasami trzeba po prostu zrobić sygnał z obserwabla z sygnału. No i też jakby o tym nie wspomnieliśmy, ale pamiętajmy, że sygnały są synchroniczne, prawda? Więc już od razu z wejścia nie masz możliwości, żeby asynchronicznych rzeczy w nich ograć.

Tak, teraz ostatnio dodali w Angularze, to chyba będzie 19 z tego co pamiętam, HTTP Resource, czy to było 19 czy 20, nie jestem pewien. W każdym razie któryś z tych wersji. Dodali pierwszą próbę asynchroniczności sygnałów. Więc jest jakiś tam plan na to, żeby może pójść w tą stronę, ale wciąż, tak jak w tym przykładzie, są takie miejsca, gdzie po prostu będzie skazane na RxJS-a. Podsumowując, nie masz wyboru. Nawet się RxJS-a. No i dobre! To co, polecajki? Polecajki. Moją polecajką dzisiaj jest w zasadzie to, że mamy listopad. A jak mamy listopad, to jest Movember. Oczywiście po mnie tego nie widać, ale po Tobie widać.

Pokazano wszystkie 9 dopasowań. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.