awesome-rxjs
A collection of awesome RxJS resources
https://github.com/ichpuchtli/awesome-rxjs
Last synced: 18 days ago
JSON representation
Articles
Essential Reads
- 2 Minute Introduction to Rx
- Learning Observable By Building Observable
- Observables, Reactive Programming, and Regret
Patterns & Best Practices
- RxJS Best Practices in Angular
- Automating RxJS Cleanup: How Halodoc Eliminated Angular Memory Leaks - world memory leak prevention at scale.
- Will Signals Replace RxJS?
- Angular & RxJS in 2025: The Expert's Playbook
Tutorials
- Containers Are Dead. Long Live Observable Combinators - Matti Lankinen (Nov 2015)
- Angular - Introduction to Reactive Extensions (RxJS) - gsans (Sep 2015)
- A Dead-Simple Todo List with RxJS - Edan Schwartz (Sep 2015)
- Impossível errar com RxJS e Redux - BR) Tiago Miranda (Mar 2018)
- A Dead-Simple Todo List with RxJS - Edan Schwartz (Sep 2015)
Beyond the Basics
- RxJS Beyond the Basics: Creating Observables from scratch - Egghead series by André Staltz
- RxJS Beyond the Basics: Operators in Depth - Egghead series by André Staltz
Books
Angular-Specific Utilities
- RxJS in Action
- Build Reactive Websites with RxJS - on, project-based. From fundamentals to building a canvas game. By a senior engineer at Netflix.
- Reactive Programming with RxJS 5 - time earthquake visualization and a space shooter game.
- Reactive Patterns with RxJS and Angular Signals - by-step guide covering RxJS 7 and Angular Signals interop.
- RxJS Cookbook for Reactive Programming - world solutions for building async, event-driven web apps.
- The Illustrated Book of RxJS
Free Online Books
Community
Conferences & Events
Discussion & Q&A
Podcasts
- Software Engineering Daily — RxJS with Ben Lesh - depth interview about RxJS past, present, and future (Jul 2025).
- Adventures in Angular - angular, and reactive patterns.
- Angular Experts Podcast
Data & Persistence
Angular-Specific Utilities
-
apollo-angular
- ready GraphQL client for Angular with native RxJS integration.
.valueChangesreturns Observables. - apollo-client-rxjs
- reactive-graphql
Debugging
Angular-Specific Utilities
Examples
Frameworks Using RxJS
RxJS Version History
Getting Started
- The introduction to Reactive Programming you've been missing
- Learnrx interactive operator tutorial
- Introduction to Reactive Programming - Egghead series by André Staltz for brand new to reactive programming
- Step-by-Step Async JavaScript with RxJS - Egghead series by John Lindquist
- Introducing the Observable - Egghead Series by Jafar Husain
- The Two Pillars of JavaScript — Pt 2: Functional Programming
- RxJS, Kefir and Bacon are "inspired by" FRP but not strict functional - Conal Elliott
- Learn RxJS - RxJS 5 descriptions, examples, and resources by Brian Troncone
- Reactive.how - Animated cards to learn Reactive Programming by Cédric Soulas
- Learnrx interactive operator tutorial
- Interactive diagrams of Rx Observables - André Staltz
- Learn RxJS - loved community resources.
- Introducing the Observable
- RxJS Marbles
- Reactive.how
Hot vs Cold Observables
Interactive Tools
Tutorials
- ThinkRx
- DevDocs — RxJS - capable API docs with instant search.
Libraries Built with RxJS
- WebRx - The Browser-based MVVM-Framework for ReactiveX-powered Single Page Applications.
- ds300/derivablesjs - Functional Reactive State for JavaScript and TypeScript
- 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
- arkverse/lell - Reactive state, no boilerplate, just init and subscribe
- bcoop713/routerx - A Router for RxJS and Cycle.js applcations
Libraries & Utilities
Angular-Specific Utilities
Framework-Agnostic
-
rxjs-etc
- bag of additional observables and operators for RxJS by Nicholas Jamieson. Includes
combineLatestArray,debounceSync,concatMapEager, and more. - rxjs-ninja
- backoff-rxjs
- rxjs-websockets - observable-based WebSocket library for RxJS. Supports browser and Node.js.
-
rxjs-for-await
- await
for await...ofloops via AsyncIterables by Ben Lesh. - rxjs-ninja
Linting
Angular-Specific Utilities
-
eslint-plugin-rxjs-x
- floating-observables
,no-async-subscribe,no-unsafe-switchmap,no-unsafe-takeuntil`, and more. The recommended choice for new projects. - eslint-plugin-rxjs-angular-x - specific RxJS ESLint rules.
- @smarttools/eslint-plugin-rxjs
- eslint-plugin-rxjs
Official Resources
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.
- cujojs/most - high performance FRP library.
People
The Builders
-
Nicholas Jamieson (cartant)
- plugin-rxjs
,rxjs-spy,rxjs-marbles,rxjs-etc`, and more. Nicholas built the tooling layer that makes RxJS safer and more debuggable in production. The ecosystem owes him an enormous debt. - Daniel Meyer (pubkey) - time, offline-first data management.
- Brandon Roberts - framework). Angular Google Developer Expert. A cornerstone of the Angular reactive ecosystem.
- Mike Ryan - creator of NgRx. Wrote the initial NgRx Store and Effects code that brought Redux-style reactive state management to Angular. Google Developer Expert.
- Alex Okrushko - rxjs. A driving force in the Angular reactive state management ecosystem.
The Community Champions
- Tracy Lee
- Jan-Niklas Wortmann
- Jason Weinzierl - plugin-rxjs-x`, ensuring the community has modern linting support for ESLint v9+.
- Shai Reznik - spy and HiRez.io. Made testing RxJS Observables dramatically simpler.
- Sergi Mansilla
- Randall Koutnik
- Deborah Kurata - conf talks on RxJS pipelines and reactive Angular components have guided thousands of developers toward better reactive patterns.
- OJ Kwon
The Educators
- Ben Lesh @BenLesh - Lead Maintainer of RxJS 5
- André Staltz @andrestaltz - Creator of Cycle.js
- Jafar Husain @jhusain - Technical Lead at Netflix, used to work at microsoft on Rx
- Matt Podwysocki @mattpodwysocki - Works at Netflix with Jafar on ReactiveX stuff
- Erik Meijer @headinthebox - Functional Programming Wizard
- ReactiveX Offical Twitter - Official ReactiveX/Rx twitter
- David Sheldrick @djsheldrick - Creator of Derivables.js
React & RxJS
Framework-Agnostic
- observable-hooks - compatible, 100% test coverage. The recommended way to use RxJS with React. Compatible with RxJS 6 & 7.
- rxjs-hooks
- observable-hooks - compatible, 100% test coverage. The recommended way to use RxJS with React. Compatible with RxJS 6 & 7.
References
Related Reactive Libraries
Podcasts
- xstream
- Kefir.js
- Highland.js - thinking the JavaScript utility belt. Manages synchronous and asynchronous code using Node-like Streams. | Caolan McMahon |
- Callbags - pull streams. | André Staltz |
RxJS 5 vs RxJS 4
- ReactiveX/RxJS - (RxJS 5)
- Reactive-Extensions/RxJS - (RxJS 4)
State Management
Angular Ecosystem
-
rx-angular
- performance Angular applications by Michael Hladky and the Push-Based team. Includes
@rx-angular/state,@rx-angular/template,@rx-angular/cdk, and@rx-angular/isr. - Elf - shakeable and modular.
- Akita
-
NgRx
- powered state management for Angular, inspired by Redux. Includes
@ngrx/store,@ngrx/effects,@ngrx/entity,@ngrx/component-store, and the newer@ngrx/signals(SignalStore). v21+ available. - NGXS
Framework-Agnostic
- RxDB - -persistence).
React Ecosystem
- redux-observable - based middleware for Redux using "Epics" — functions that take a stream of actions and return a stream of actions. Created by Jay Phelps. In maintenance mode.
Talks
Foundational
Modern
- dotJS 2024 — Ben Lesh
- 4 Wicked RxJS Pipelines for the Real World - conf 2021). Practical Subjects, creation functions, and higher-order mapping.
- Mastering the Subject: Communication Options in RxJS
- RxJS Schedulers from Outer Space
- dotJS 2024 — Ben Lesh
- Reactive JavaScript at Netflix, Microsoft and the World - Matthew Podwysocki (Dec 2015)
- What if the user was a function? - Andre Staltz (Jun 2015)
- Controlling Time and Space: understanding the many formulations of FRP - Evan Czaplicki (Sep 2014)
Testing
Angular-Specific Utilities
-
RxJS TestScheduler
- in marble testing with
TestScheduler. The official way to test time-dependent Observable code. - rxjs-marbles
- rx-sandbox - based test suite for RxJS. Provides visual diffs for debugging failed tests.
- observer-spy
- How to Easily Write and Debug RxJS Marble Tests
- How To Debug RxJS Code - Andre Staltz (Dec 2015)
- Testing reactive code - Dr. Gleb Bahmutov (Feb 2016)
- Testing your Rx application - RxJS documentation
- RxJs Testing in Real World Applications - Simon Jentsch (Feb 2016)
The Observable Standard
Podcasts
Video Courses
Free
- Thinking Reactively with RxJS
- Cycle.js Fundamentals
- Free RxJS Training by Ben Lesh
- State of RxJS Panels