Learn RxJS
Clear examples, explanations, and resources for RxJS.
By @btroncone
Introduction
RxJS is one of the hottest libraries in web
development today. Offering a powerful, functional approach for dealing with
events and with integration points into a growing number of frameworks,
libraries, and utilities, the case for learning Rx has never been more
appealing. Couple this with the ability to utilize your knowledge across
nearly any language, having a solid grasp
on reactive programming and what it can offer seems like a no-brainer.
But…
Learning RxJS and reactive programming is
hard. There’s the
multitude of concepts, large API surface, and fundamental shift in mindset from
an
imperative to declarative style.
This site focuses on making these concepts approachable, the examples clear and
easy to explore, and features references throughout to the best RxJS related
material on the web. The goal is to supplement the
official docs and pre-existing learning material
while offering a new, fresh perspective to clear any hurdles and tackle the pain
points. Learning Rx may be difficult but it is certainly worth the effort!
Content
Operators
Operators are the horse-power behind observables, providing an elegant,
declarative solution to complex asynchronous tasks. This section contains all
RxJS 5 operators, included with clear, executable
examples in both JSBin and
JSFiddle. Links to additional resources and recipes for
each operator are also provided, when applicable.
Categories
OR…
Complete listing in alphabetical order
Concepts
Without a solid base knowledge of how Observables work behind the scenes, it’s
easy for much of RxJS to feel like ‘magic’. This section helps solidify the
major concepts needed to feel comfortable with reactive programming and
Observables.
Recipes
Recipes for common use-cases and interesting solutions with RxJS.
Introductory Resources
New to RxJS and reactive programming? In addition to the content found on this
site, these excellent articles and videos will help jump start your learning
experience!
Reading
- RxJS Introduction -
Official Docs - The Introduction to Reactive Programming You’ve Been Missing -
André Staltz
Videos
- Asynchronous Programming: The End of The Loop -
Jafar Husain - What is RxJS? - Ben Lesh
- Creating Observable from Scratch -
Ben Lesh - Introduction to RxJS Marble Testing -
Brian Troncone - Introduction to Reactive Programming
:dollar: - André Staltz - Reactive Programming using Observables -
Jeremy Lund
Exercises
- Functional Programming in JavaScript - Jafar
Husain
Tools
- Rx Marbles - Interactive diagrams of Rx Observables -
André Staltz - Rx Visualizer - Animated playground for Rx Observables -
Misha Moroshko - Reactive.how - Animated cards to learn Reactive Programming -
Cédric Soulas
Interested in RxJS 4? Check out Denis Stoyanov’s
excellent eBook!
Translations
A Note On References
All references included in this GitBook are resources, both free and paid, that
helped me tremendously while learning RxJS. If you come across an article or
video that you think should be included, please use the edit this page link in
the top menu and submit a pull request. Your feedback is appreciated!