It's all open to interpretation:)
RxJS
Advantages:
- Extensive documentation and a large community support.
- Shares interface with the Rx* family, allowing for easy adoption of RxJava samples.
- Diverse range of primitives in the library with helpful usage examples.
- Supports back-pressure.
- Serves as a benchmark for other libraries.
Drawbacks:
- Can appear overly complex at times.
- Designed with a focus on "Java".
Bacon.js
Pros:
- Comprehensive documentation with advanced sample projects like a snake game implementation.
- Rich set of primitives available.
- Developed with JavaScript in mind.
- Easy for beginners to get started.
Cons:
- Lacks support for back-pressure which limits backend applications.
Highland.js
Advantages:
- Designed for use in node.js (or browserify) environments, offering seamless integration.
- No unfamiliar concepts from a JavaScript/Node standpoint.
- Provides support for back-pressure.
- Built on top of Node streams, a clever approach.
- Minimal footprint.
Drawbacks:
- Poor documentation and lack of practical examples, making it challenging to understand without prior knowledge of Rx or Bacon.
- Some primitives are missing, requiring manual implementation or adaptation from existing ones.
Summary: Due to limited sample resources, mastering each library is essential. In my opinion, Highland.js shows promise despite its shortcomings. However, RxJS remains a more mature option.
Tip: When seeking help on StackOverflow, consider using RxJS terminology and framing your query in simpler terms.