-
RxJS is a library for composing (combining) asynchronous and event-based programs by using observable sequences.
-
It is a part of ReactiveX
-
ReactiveX is an API for asynchronous programming with observable streams, implementations are provided in multiple languages here
-
Observer AKA Event-Subscriber, Listener
-
what I have understood from observer pattern is that you have one Publisher class which maintains the list to reference Subscribers, and each Subscribers have one common method in place which Publisher can call after performing business logic with some Context
Single | Multiple | |
---|---|---|
Pull | Function | Iterator |
Push | Promise | Observable |
"The core of Reactive Programming is an extended implementation of the observer pattern, or as I like to call it "The Observer Pattern on Steroids". There is no black magic in reactive programming, just a nice(r) API to construct and compose observers and observables. (IHMO)"
*Sources
- https://projectreactor.io/
- https://reactivex.io/
- https://stackoverflow.com/questions/47988433/mono-vs-flux-in-reactive-stream
- https://www.reactivemanifesto.org/
- https://github.com/christophevg/reactive-c
- https://refactoring.guru/design-patterns/observer
- https://stackoverflow.com/questions/56461260/java-spring-webflux-vs-rxjava
- https://reactivex.io/tutorials.html
- https://raganwald.com/2015/02/17/lazy-iteratables-in-javascript.html