Centrum wiedzy o technologiach i pracy w IT

Programowanie reaktywne – na czym polega?

Ostatnia aktualizacja 21 marca, 2022

W procesie projektowania oraz rozwijania aplikacji niezbędne jest zadbanie o to, żeby program w krótkim czasie odpowiadał na żądania użytkownika. Jeśli w interakcji z programem nastąpią przerwy lub zawieszenia, wrażenia użytkownika z pracy z programem będą złe. Programowanie reaktywne jest jedną z technik, która może pomóc uzyskać płynniejsze działanie programu.

Sprawdź: Refaktoring

Co to jest programowanie reaktywne?

Programowanie reaktywne to paradygmat programowania opublikowany w The Reactive Manifesto w 2014 roku. Zakłada ono podstawowe cechy systemów: responsywność, odporność, elastyczność oraz działanie w oparciu o zdarzenia. Przy spełnieniu założeń programowania reaktywnego nie wystąpi sytuacja, w której interfejs użytkownika ulega zawieszeniu, gdy dane odczytywane są z dysku.

Każda operacja w programie zachodzi pomiędzy publikującym (ang. Publisher) oraz obserwującym (ang. Subscriber), gdzie publikujący jest zawsze źródłem danych, które przekazywane są obserwującemu. Przekazywanie danych pomiędzy publikującym a obserwującym może następować w trzech różnych formach: pobieraniu przez obserwującego, wysyłaniu przez publikującego lub w modelu hybrydowym.

W przypadku pobierania przez obserwującego, to jego zadaniem jest cykliczne odpytywanie, czy dostępne są nowe dane. W drugim przypadku to publikujący wysyła nowe dane obserwującemu, kiedy się pojawią. A w modelu hybrydowym publikujący tylko informuje obserwującego, że pojawiły się nowe dane, natomiast zadaniem obserwującego jest te dane pobrać samodzielnie.

Kiedy je stosować?

Programowanie reaktywne jest metodologią, która wymusza większy stopień skomplikowania w stosunku do rozwiązań klasycznych, przez co zwykle stosuje się je tylko w rozbudowanych, złożonych projektach lub projektach, które mogą w przyszłości zostać mocno rozbudowane. Dla prostych zastosowań przeważnie bardziej korzystne jest zainwestowanie czasu w analizę oraz optymalizację działania programu.

Zobacz: Mikroserwisy

Programuję w X – czy mogę zastosować programowanie reaktywne?

Ponieważ programowanie reaktywne jest tylko zbiorem zasad projektowych, z definicji możliwe jest napisanie programu wykorzystującego wzorzec reaktywny w większości języków. Pisanie takich programów od zera jest jednak żmudne, dlatego wygodnie jest zastosować jeden z frameworków. Te dobiera się w zależności od języka programowania. Przykładowo dla Javy może to być Spring. Możliwe jest także zastosowanie jednego z frameworków obsługujących wiele języków programowania, takich jak ReactiveX –wspiera on takie języki, jak Go, C++, Python, JavaScript lub C#.

Total
0
Shares
_podobne artykuły