/awesome-rxjs

A collection of awesome RxJS resources

MIT LicenseMIT

image Awesome RxJS Awesome

A collection of awesome RxJS tools, frameworks and resources

Getting Started

Beyond the Basics

Hot vs Cold Observables

Paul Taylor (RxJS 5 Contributor) with the best explanation of Hot & Cold Observables yet. ReactiveX/rxjs#1121 (comment)

... "cold" and "hot" don't refer to unicast vs. multicast, they refer to the state of the computation. An Observable represents an asynchronous computation (aka, it's a function that can return multiple values between now and infinity).

"Cold" Observables are just like functions which haven't been called (subscribed to) yet. Each time you call it (aka, subscribe to it), you're re-running whatever calculation the Observable performs.

"Hot" Observables are just regular cold Observables that you've shoved a Subject between you and the cold Observable source. When you subscribe to it, you're really subscribing to the Subject over and over. Subjects can have any number of Observers (just like EventEmitter, etc.), but the original cold source has only one Observer (the Subject that's sitting between you and the source).

RxJS 5 vs RxJS 4

ReactiveX/RxJS - (RxJS 5)

This rewrite is meant to have better performance, better modularity, better debuggable call stacks, while staying mostly backwards compatible, with some breaking changes that reduce the API surface.

Reactive-Extensions/RxJS - (RxJS 4)

...is a set of libraries to compose asynchronous and event-based programs using observable collections and Array#extras style composition in JavaScript

Libraries Built with RxJS

  • arkverse/lell - Reactive state, no boilerplate, just init and subscribe
  • Cycle.js - A fully reactive JavaScript framework for Human-Computer Interaction.
  • ds300/derivablesjs - Functional Reactive State for JavaScript and TypeScript
  • WebRx - The Browser-based MVVM-Framework for ReactiveX-powered Single Page Applications.
  • Angular2 - Angular is a development platform for building mobile and desktop applications
  • garbles/yolk - 🥚 A library for building asynchronous user interfaces.
  • bcoop713/routerx - A Router for RxJS and Cycle.js applcations
  • ngrx/store - RxJS powered state management inspired by Redux for Angular2

Talks

Articles

Examples

Testing

References

People

Community

React & RxJS

Angular2 & RxJS

Other Reactive Programming Libraries

  • baconjs/bacon.js - FRP (functional reactive programming) library for Javascript.
  • pozadi/kefir - FRP library for JavaScript inspired by Bacon.js and RxJS with focus on high performance and low memory consumption.
  • [Highland.js] (http://highlandjs.org/) - Re-thinking the JavaScript utility belt, Highland manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams.
  • cujojs/most - high performance FRP library.

Sources

4.x

https://cdnjs.com/libraries/rxjs/

5.x

https://unpkg.com/@reactivex/rxjs@5.0.0-beta.12/dist/global/Rx.js

License

CC0