StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Product

  • Stacks
  • Tools
  • Companies
  • Feed

Company

  • About
  • Blog
  • Contact

Legal

  • Privacy Policy
  • Terms of Service

© 2025 StackShare. All rights reserved.

API StatusChangelog
RxJS
ByReactive ExtensionsReactive Extensions

RxJS

#34in Frameworks
Discussions3
Followers637
OverviewDiscussions3

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 Frameworks category of a tech stack.

RxJS Pros & Cons

Pros of RxJS

  • ✓Easier async data chaining and combining
  • ✓Steep learning curve, but offers predictable operations
  • ✓Ability to build your own stream
  • ✓Easier testing
  • ✓Observable subjects
  • ✓Works great with any state management implementation
  • ✓Documentation
  • ✓Great for push based architecture
  • ✓Lot of build-in operators
  • ✓Simplifies state management

Cons of RxJS

  • ✗Steep learning curve

RxJS Alternatives & Comparisons

What are some alternatives to RxJS?

Akka

Akka

Akka is a toolkit and runtime for building highly concurrent, distributed, and resilient message-driven applications on the JVM.

Netty

Netty

Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server.

Tokio

Tokio

It is an open source library providing an asynchronous, event driven platform for building fast, reliable, and lightweight network applications. It leverages Rust's ownership and concurrency model to ensure thread safety.

Redux Observable

Redux Observable

It allows developers to dispatch a function that returns an observable, promise or iterable of action(s). Compose and cancel async actions to create side effects and more.

Finagle

Finagle

Finagle is an extensible RPC system for the JVM, used to construct high-concurrency servers. Finagle implements uniform client and server APIs for several protocols, and is designed for high performance and concurrency.

Orleans

Orleans

Orleans is a framework that provides a straightforward approach to building distributed high-scale computing applications, without the need to learn and apply complex concurrency or other scaling patterns. It was created by Microsoft Research and designed for use in the cloud.

RxJS Integrations

Proppy, WatermelonDB, Cycle.js are some of the popular tools that integrate with RxJS. Here's a list of all 3 tools that integrate with RxJS.

Proppy
Proppy
WatermelonDB
WatermelonDB
Cycle.js
Cycle.js

RxJS Discussions

Discover why developers choose RxJS. Read real-world technical decisions and stack choices from the StackShare community.

NIDHISH PUTHIYADATH
NIDHISH PUTHIYADATH

Lead Software Engineer

May 31, 2019

Needs adviceonMaterial Design for AngularMaterial Design for AngularAngularAngularNode.jsNode.js

Material Design for Angular Angular Node.js TypeScript Spring Boot RxJS Microsoft SQL Server Hibernate Spring MVC

We built our customer facing portal application using Angular frontend backed by Spring boot.

0 views0
Comments
Eyas Sharaiha
Eyas Sharaiha

Software Engineer at Google

Dec 14, 2018

Needs adviceonTypeScriptTypeScriptAngularAngularRxJSRxJS

One TypeScript / Angular code health recommendation at Google is how to simplify dealing with RxJS Observables. Two common options in Angular are subscribing to an Observable inside of a Component's TypeScript code, versus using something like the AsyncPipe (foo | async) from the template html. We typically recommend the latter for most straightforward use cases (code without side effects, etc.)

I typically review a fair amount of Angular code at work. One thing I typically encourage is using plain Observables in an Angular Component, and using AsyncPipe (foo | async) from the template html to handle subscription, rather than directly subscribing to an observable in a component TS file.

Subscribing in components

Unless you know a subscription you're starting in a component is very finite (e.g. an HTTP request with no retry logic, etc), subscriptions you make in a Component must:

  1. Be closed, stopped, or cancelled when exiting a component (e.g. when navigating away from a page),
  2. Only be opened (subscribed) when a component is actually loaded/visible (i.e. in ngOnInit rather than in a constructor).

AsyncPipe can take care of that for you

Instead of manually implementing component lifecycle hooks, remembering to subscribe and unsubscribe to an Observable, AsyncPipe can do that for you.

I'm sharing a version of this recommendation with some best practices and code samples.

#Typescript #Angular #RXJS #Async #Frontend

0 views0
Comments
Lars Lockefeer
Lars Lockefeer

Mobile Tech Lead at Picnic Technologies

Dec 3, 2018

Needs adviceonReact NativeReact NativeTypeScriptTypeScriptReduxRedux

Earlier this year, we started developing a new app to help our runners deliver groceries to our customers. We chose React Native over a native app or a PWA and are really happy with it. So far, we really like what we are seeing. Development speed is fast and the tooling is awesome. The “learn once, write anywhere”-promise is really fulfilled and when we ran our project for the first time on iOS after a few weeks of development, we were excited to see how well it worked and what it looked like.

Read our blog post to learn more about how we use React Native, TypeScript, Redux, RxJS, CodePush, styled-components, React Storybook, Jest, and Prettier to develop this app, as well as our thought of what else we will do with it at Picnic.

0 views0
Comments

Try It

Visit Website

Adoption

On StackShare

Companies
319
APHSBC+313
Developers
865
SAPDJH+859