1.3K
526
+ 1
18

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.6K GitHub stars and 2.2K GitHub forks. Here’s a link to RxJS's open source repository on GitHub

Who uses RxJS?

Companies
223 companies reportedly use RxJS in their tech stacks, including ROBLOX, Onefootball, and tumblbug-com.

Developers
497 developers on StackShare have stated that they use RxJS.
Pros of RxJS
4
Easier async data chaining and combining
3
Steep learning curve, but offers predictable operations
2
Easier testing
2
Ability to build your own stream
2
Works great with any state management implementation
1
Simplifies state management
1
Great for push based architecture
1
Observable subjects
1
Documentation
1
Lot of build-in operators
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 · | 14 upvotes · 2M 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?
React
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.
Ramda
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
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.
redux-saga
An alternative side effect model for Redux apps
axios
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
526 developers follow RxJS to keep up with related blogs and decisions.