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