SlideShare a Scribd company logo
Reactive Programming
and RxJS
by Denis Gorbunov
In computing, reactive programming is
a programming paradigm oriented
around data flows and the propagation
of change.
wikipedia.org
Systems built as Reactive Systems are
more flexible, loosely-coupled and
scalable. This makes them easier to
develop and amenable to change.
They are significantly more tolerant of
failure and when failure does occur they
meet it with elegance rather than disaster.
Reactive Systems are highly responsive,
giving users effective interactive feedback.
reactivemanifesto.org
Reactive Programming and RxJS
Reactive Programming and RxJS
Reactive Programming and RxJS
Reactive Programming and RxJS
Reactive Programming and RxJS
Reactive Programming and RxJS
Reactive Programming and RxJS
Reactive Programming and RxJS
Reactive Programming and RxJS
reactivex.io
Java: RxJava
JavaScript: RxJS
C#: Rx.NET
C#(Unity): UniRx
Scala: RxScala
Clojure: RxClojure
C++: RxCpp
Ruby: Rx.rb
Python: RxPY
Groovy: RxGroovy
JRuby: RxJRuby
Kotlin: RxKotlin
Swift: RxSwift
PHP: RxPHP
reactivex.io
Java: RxJava
JavaScript: RxJS
C#: Rx.NET
C#(Unity): UniRx
Scala: RxScala
Clojure: RxClojure
C++: RxCpp
Ruby: Rx.rb
Python: RxPY
Groovy: RxGroovy
JRuby: RxJRuby
Kotlin: RxKotlin
Swift: RxSwift
PHP: RxPHP
ReactiveX is a combination of the best ideas from
the Observer pattern, the Iterator pattern, and
functional programming
reactivex.io
Observable and Observer
Reactive Programming and RxJS
Reactive Programming and RxJS
Reactive Programming and RxJS
Reactive Programming and RxJS
Reactive Programming and RxJS
RxJS: Operators
ReactiveX provides a collection of operators with which you can
filter, select, transform, combine, and compose Observables.
This allows for efficient execution and composition.
RxJS: Operators
• buffer
• bufferCount
• bufferTime
• bufferToggle
• bufferWhen
• cache
• catch
• combineAll
• combineLatest
• concat
• concatAll
• concatMap
• concatMapTo
• create
• debounce
• debounceTime
• defaultIfEmpty
• distinctUntilCha
nged
• delay
• delayWhen
• do
• every
• empty
• expand
• filter
• first
• forkJoin
• from
• fromEvent
• fromPromise
• groupBy
• ignoreElements
• interval
• last
• let
• map
• mapTo
• merge
• mergeAll
• mergeMap
RxJS: Operators
• multicast
• of
• partition
• pluck
• publish
• race
• range
• retry
• retryWhen
• sample
• share
• single
• skip
• skipUntil
• skipWhile
• startWith
• take
• takeUntil
• takeWhile
• throttle
• throttleTime
• throw
• timer
• toPromise
• scan
• switchMap
• window
• windowCount
• windowTime
• windowToggle
• windowWhen
• withLatestFrom
• zip
map
rxmarbles.com
Reactive Programming and RxJS
switchMap
Reactive Programming and RxJS
Reactive Programming and RxJS
combineLatest
rxmarbles.com
Reactive Programming and RxJS
debounce
rxmarbles.com
Reactive Programming and RxJS
filter
rxmarbles.com
Reactive Programming and RxJS
Reactive Programming and RxJS
find
rxmarbles.com
reduce
rxmarbles.com
scan
rxmarbles.com
takeUntil
rxmarbles.com
merge
rxmarbles.com
distinct
rxmarbles.com
distinctUntilChanged
rxmarbles.com
Subject
Subject
Subject
Subject
Subject
Hot and Cold Observables
medium.com/@benlesh
Observables are functions that tie an
observer to a producer.
RxJS: Observable and Observer
Hot and Cold Observables
COLD is when your observable creates the producer
medium.com/@benlesh
Hot and Cold Observables
COLD is when your observable creates the producer
HOT is when your observable closes over the producer
medium.com/@benlesh
Hot and Cold Observables
COLD is when your observable creates the producer
HOT is when your observable closes over the producer
medium.com/@benlesh
Unsubscribe
Unsubscribe
medium.com/@benlesh
• take(n): emits N values before stopping the
observable.
• takeWhile(predicate): tests the emitted values
against a predicate, if it returns `false`, it will
complete.
• first(): emits the first value and completes.
• first(predicate): checks each value against a
predicate function, if it returns `true`, the emits
that value and completes.

More Related Content

PDF
Angular & RXJS: examples and use cases
PDF
RxJS Evolved
PDF
TypeScript - An Introduction
PDF
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
PDF
Introduction to RxJS
PDF
Asynchronous javascript
PPTX
Kafka presentation
PDF
Angular and The Case for RxJS
Angular & RXJS: examples and use cases
RxJS Evolved
TypeScript - An Introduction
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
Introduction to RxJS
Asynchronous javascript
Kafka presentation
Angular and The Case for RxJS

What's hot (20)

PDF
Angular Observables & RxJS Introduction
PPTX
TypeScript intro
PDF
TypeScript Best Practices
PPTX
Introduction to react_js
PPTX
Microservices in the Apache Kafka Ecosystem
PPTX
PDF
우아한 모노리스
PDF
PPTX
ReactJS presentation.pptx
PPTX
Introduction to microservices
PPTX
Elasticsearch
PDF
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
PDF
RxJS Operators - Real World Use Cases (FULL VERSION)
PDF
Asynchronous JavaScript Programming
PPTX
Java 8 Lambda and Streams
PDF
REST APIs with Spring
PPTX
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
PDF
Typescript in React: HOW & WHY?
PPTX
Introduction to spring boot
PDF
Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)
Angular Observables & RxJS Introduction
TypeScript intro
TypeScript Best Practices
Introduction to react_js
Microservices in the Apache Kafka Ecosystem
우아한 모노리스
ReactJS presentation.pptx
Introduction to microservices
Elasticsearch
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
RxJS Operators - Real World Use Cases (FULL VERSION)
Asynchronous JavaScript Programming
Java 8 Lambda and Streams
REST APIs with Spring
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
Typescript in React: HOW & WHY?
Introduction to spring boot
Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)
Ad

Viewers also liked (20)

PPTX
Unidirectional data flow
PDF
RxJS - The Reactive Extensions for JavaScript
PPTX
Reactive Extensions for JavaScript
PPTX
Rxjs ngvikings
PDF
RxJS - The Reactive extensions for JavaScript
PPTX
Functional Reactive Programming with RxJS
PDF
WebCamp:Front-end Developers Day. Роман Якобчук "FRP + React, building async ...
PPTX
Responsive Design & SharePoint 2013: A Case Study of a Responsive Intranet
PDF
FRP with Ractive and RxJS
PDF
ReactiveX-SEA
PDF
Progressive Web Apps
PDF
Programação reativa com RxJS e Angular
PPTX
Reactive programming
PDF
Add Some Fun to Your Functional Programming With RXJS
PDF
Functional Reactive Angular 2
PPTX
Angular2 + rxjs
PDF
Reactive Programming for a demanding world: building event-driven and respons...
PDF
Apresentação Google I/O Extended Vitória
PDF
Battle of Frameworks: Polymer - Meetup Paris Web Components - 2016-09
PDF
Workshop de Web Components
Unidirectional data flow
RxJS - The Reactive Extensions for JavaScript
Reactive Extensions for JavaScript
Rxjs ngvikings
RxJS - The Reactive extensions for JavaScript
Functional Reactive Programming with RxJS
WebCamp:Front-end Developers Day. Роман Якобчук "FRP + React, building async ...
Responsive Design & SharePoint 2013: A Case Study of a Responsive Intranet
FRP with Ractive and RxJS
ReactiveX-SEA
Progressive Web Apps
Programação reativa com RxJS e Angular
Reactive programming
Add Some Fun to Your Functional Programming With RXJS
Functional Reactive Angular 2
Angular2 + rxjs
Reactive Programming for a demanding world: building event-driven and respons...
Apresentação Google I/O Extended Vitória
Battle of Frameworks: Polymer - Meetup Paris Web Components - 2016-09
Workshop de Web Components
Ad

Similar to Reactive Programming and RxJS (20)

PDF
Dmytro Kochergin Angular 2 and New Java Script Technologies
PDF
PDF
Principios básicos de Garbage Collector en Java
PPTX
Reactive Programming with RxJS
PPTX
Implementing a JavaScript Engine
PDF
Solr Flair
PPTX
Scala.js for large and complex frontend apps
PDF
Reconciling ReactJS as a View Layer Replacement (MidwestJS 2014)
PDF
MidwestJS 2014 Reconciling ReactJS as a View Layer Replacement
PDF
A Quick Intro to ReactiveX
PDF
Reactive in Android and Beyond Rx
PDF
Upgrading to rails3
PDF
Best Practice-React
PDF
Reactive Thinking in Java
PPT
Reactive java programming for the impatient
PDF
Reactive meetup 0 copy
PDF
Taste of RxJS
PDF
Isomorphic JavaScript with Nashorn
PDF
Go reactive - Manuel Vicente Vivo
PPTX
Dev Games!
Dmytro Kochergin Angular 2 and New Java Script Technologies
Principios básicos de Garbage Collector en Java
Reactive Programming with RxJS
Implementing a JavaScript Engine
Solr Flair
Scala.js for large and complex frontend apps
Reconciling ReactJS as a View Layer Replacement (MidwestJS 2014)
MidwestJS 2014 Reconciling ReactJS as a View Layer Replacement
A Quick Intro to ReactiveX
Reactive in Android and Beyond Rx
Upgrading to rails3
Best Practice-React
Reactive Thinking in Java
Reactive java programming for the impatient
Reactive meetup 0 copy
Taste of RxJS
Isomorphic JavaScript with Nashorn
Go reactive - Manuel Vicente Vivo
Dev Games!

Recently uploaded (20)

PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PPTX
Sustainable Sites - Green Building Construction
PPTX
UNIT 4 Total Quality Management .pptx
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPT
introduction to datamining and warehousing
DOCX
573137875-Attendance-Management-System-original
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPTX
Artificial Intelligence
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
OOP with Java - Java Introduction (Basics)
PDF
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PDF
Well-logging-methods_new................
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Model Code of Practice - Construction Work - 21102022 .pdf
UNIT-1 - COAL BASED THERMAL POWER PLANTS
Sustainable Sites - Green Building Construction
UNIT 4 Total Quality Management .pptx
R24 SURVEYING LAB MANUAL for civil enggi
Automation-in-Manufacturing-Chapter-Introduction.pdf
introduction to datamining and warehousing
573137875-Attendance-Management-System-original
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Artificial Intelligence
Operating System & Kernel Study Guide-1 - converted.pdf
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
CH1 Production IntroductoryConcepts.pptx
OOP with Java - Java Introduction (Basics)
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
Well-logging-methods_new................
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx

Reactive Programming and RxJS