+ 1

What is RxJS?

RxJS is a library for reactive programming using Observables, to make it easier to compose asynchronous or callback-based code. This project is a rewrite of Reactive-Extensions/RxJS with better performance, better modularity, better debuggable call stacks, while staying mostly backwards compatible, with some breaking changes that reduce the API surface.
RxJS is a tool in the Concurrency Frameworks category of a tech stack.
RxJS is an open source tool with 19.5K GitHub stars and 2.1K GitHub forks. Here’s a link to RxJS's open source repository on GitHub

Who uses RxJS?

267 companies reportedly use RxJS in their tech stacks, including ROBLOX, Biting Bit, and Onefootball.

786 developers on StackShare have stated that they use RxJS.
Pros of RxJS
Easier async data chaining and combining
Steep learning curve, but offers predictable operations
Observable subjects
Ability to build your own stream
Works great with any state management implementation
Easier testing
Lot of build-in operators
Simplifies state management
Great for push based architecture
Decisions about RxJS

Here are some stack decisions, common use cases and reviews by companies and developers who chose RxJS in their tech stack.

Praveen Mooli
Engineering Manager at Taylor and Francis · | 19 upvotes · 3.9M views

We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.

To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas

To build #Webapps we decided to use Angular 2 with RxJS

#Devops - GitHub , Travis CI , Terraform , Docker , Serverless

See more

RxJS Alternatives & Comparisons

What are some alternatives to RxJS?
Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.
It emphasizes a purer functional style. Immutability and side-effect free functions are at the heart of its design philosophy. This can help you get the job done with simple, elegant code.
MobX is a battle tested library that makes state management simple and scalable by transparently applying functional reactive programming (TFRP). React and MobX together are a powerful combination. React renders the application state by providing mechanisms to translate it into a tree of renderable components. MobX provides the mechanism to store and update the application state that React then uses.
An alternative side effect model for Redux apps
It is a Javascript library used to make http requests from node.js or XMLHttpRequests from the browser and it supports the Promise API that is native to JS ES6.
See all alternatives

RxJS's Followers
628 developers follow RxJS to keep up with related blogs and decisions.