There is some buzz about Reactive programming. I prepared a small comparison between some popular FRP libraries
Everything below is pretty subjective:)
RxJS
Pros:
- Documentation and big community.
- Shared interface with Rx* family. It’s a big advantage because you can adopt samples from RxJava community.
- A lot of primitives in the library and some samples how to use them
- back-pressure
- it is a kind of etalon for other libraries
Cons:
- Sometimes it looks overcomplicated
- Implemented with “Java” in mind. IMHO, concepts like schedulers are alien for Node.js
Bacon.js
Pros
- Really nice documentation with some advanced samples(snake game, implementation for example)
- a lot of primitives
- Implemented with JS in mind
- I found it is really easy to start
Cons
- it doesn’t implement back-pressure which makes it silly on backend
Highland.js
Pros:
- it’s intended to work with node.js(or browserify) environment which is really nice
- no alien concepts(from JavaScript/Node.js perspective)
- back-pressure
- the implementation is on top of Node stream which is really great idea
- small footprint
Cons:
- Silly documentation and no examples. Actually every time I’m trying to adopt samples from Rx or Bacon
- absence of some primitives. Actually you can implement most of them by yourself already implemented but it’s painful(see previous point)
Summary: because absence of samples you will learn them all:) IMHO, the most perspective one is Highland.js. But RxJs is much more mature
Tip: If you need to ask something on StackOverflow use RxJS dialect and translate it to youth
Hacker Noon is how hackers start their afternoons. We’re a part of the @AMIfamily. We are now accepting submissions and happy to discuss advertising & sponsorship opportunities.
To learn more, read our about page, like/message us on Facebook, or simply, tweet/DM @HackerNoon.
If you enjoyed this story, we recommend reading our latest tech stories and trending tech stories. Until next time, don’t take the realities of the world for granted!