SlideShare a Scribd company logo
Go Reactive
Manuel Vicente Vivo
@manuelvicnt
What is Reactive Programming?
Go Reactive @manuelvicnt
Programming paradigm based on
Propagation of changes
Processing data flows
 Can be used in a Functional style
Propagation of Changes
Processing Data Flows
Output of processing
the different flows
Source A
Source B Source B
Modified
FUNCTIONAL REACTIVE
LAMBDAS
CLOSURES
COMPOSABLE
PUSH
EVENTS
ASYNCHRONOUS
@manuelvicntGo Reactive
Reactive Extensions
 C#: Rx.NET
 Java: RxJava
 JavaScript: RxJS
Scala: RxScala
 Swift: RxSwift
 C++: RxCpp
 Ruby: Rx.rb
Python: RxPY
Groovy: RxGroovy
Kotlin: RxKotlin
Android: RxAndroid
iOS: RxCocoa
Go Reactive @manuelvicnt
RxJava http://github.com/Netflix/RxJava
“ A library for COMPOSING
ASYNCHRONOUS and event-based
programs using OBSERVABLE
SEQUENCES for the Java VM”
Go Reactive @manuelvicnt
Components
Go Reactive @manuelvicnt
 Observables: Emit Items
Subscribers: Consume Items
Common Methods:
onNext
onCompleted
onError
Subscribers
Go Reactive @manuelvicnt
 Consume items
Observables
Go Reactive @manuelvicnt
Emit items
Subjects
Go Reactive @manuelvicnt
 Are both an Observable and a Subscriber
Operators http://rxmarbles.com
Go Reactive @manuelvicnt
Transformers
map, flatMap
Filters
filter, take, skip
Conditions
takeWhile
Combination
concat, zip
Aggregate
count, toList
Go Reactive @manuelvicnt
Observable
Observable
Map Operator Observable
Zip Operator
Observable seen
by the Subscriber
Backpressure
Go Reactive @manuelvicnt
The Observable is too fast for
Subscribers
 Can happen anywhere in the chain
Operators:
Throttle
Debounce
Testing Observables
Go Reactive @manuelvicnt
Create special cases
Observable.error()
Observable.empty()
Observable.never()
 Use TestSubscriber
Live Coding
https://github.com/manuelvicnt/RxJava-android-structure
Fragments
Subscribers
View
Models
Subjects
Registration
API Service
Observable
UserData
Request
Manager
Observable
Login
API Service
Observable
Account
API Service
Observable
Games
API Service
Observable
Authentication
Request
Manager
Observable
Retrofit
Registration
Retrofit
Login
Retrofit
Account
Retrofit
Games
Go Reactive @manuelvicnt
1. Registration
Retrofit returns
Observable
2. Registration API Service
propagates the
Observable
3. User Auth RM
concatenates
Login Request
4. User Auth RM
gets the Login Observable
5. Subscribers will get this
when subscribing to Registration,
Registration & Login request will be
made and the result will be a
Login Response
Go Reactive @manuelvicnt
1.1 Account Data from
Account API Service
Observable
3. Subscriber
will get the result
when both
requests come
2. Zip Operator in
UserData RM
Observable
1.2 Games Data from
Games API Service
Observable

More Related Content

PDF
Reactive Programming
Zhentian Wan
 
PPTX
Intro to RxJS
Alan Fadliawan
 
PPTX
From Streams to Reactive Streams
Oleg Tsal-Tsalko
 
PDF
APIdays Paris 2019 - End-to-end Type-Safe GraphQL Apps by Carlos Rufo, GraphQ...
apidays
 
PPTX
Redux with React Native
Dan Jensen
 
PDF
Heptio Contour - talk CNCF Nantes
Gaëlle Acas
 
PPTX
RxJs
Akila Iroshan
 
PDF
What's new in React
sabativi
 
Reactive Programming
Zhentian Wan
 
Intro to RxJS
Alan Fadliawan
 
From Streams to Reactive Streams
Oleg Tsal-Tsalko
 
APIdays Paris 2019 - End-to-end Type-Safe GraphQL Apps by Carlos Rufo, GraphQ...
apidays
 
Redux with React Native
Dan Jensen
 
Heptio Contour - talk CNCF Nantes
Gaëlle Acas
 
What's new in React
sabativi
 

What's hot (9)

PDF
Reactive programming with RxSwift
Oleksandr Stepanov
 
PDF
Artificial Neural Network: A Brief Overview
Suraj Kumar Jana
 
PPTX
Observables in angular2
Filip Bruun Bech-Larsen
 
PDF
aboutActiveGitHub
gautham_nair
 
PDF
Rethinking HTTP Apps using Ratpack
Naresha K
 
PPTX
Reactive Extensions for JavaScript
Jim Wooley
 
PPTX
Meet Akka gRPC
Renato Guerra Cavalcanti
 
PDF
Leveraging Micronaut on AWS Lambda
Naresha K
 
PDF
SBLint
fukamachi
 
Reactive programming with RxSwift
Oleksandr Stepanov
 
Artificial Neural Network: A Brief Overview
Suraj Kumar Jana
 
Observables in angular2
Filip Bruun Bech-Larsen
 
aboutActiveGitHub
gautham_nair
 
Rethinking HTTP Apps using Ratpack
Naresha K
 
Reactive Extensions for JavaScript
Jim Wooley
 
Meet Akka gRPC
Renato Guerra Cavalcanti
 
Leveraging Micronaut on AWS Lambda
Naresha K
 
SBLint
fukamachi
 
Ad

Viewers also liked (6)

PPT
Lecture 11 part i- american expansion west - mexican territories & west
LACCD
 
PPT
Lecture 11ii american west & increasing conflicts over slavery
LACCD
 
PPT
Lecture 7 - Slavery - 10.2016
LACCD
 
PPT
Lecture 12 part i - the civil war
LACCD
 
PPT
Lecture 4 moving toward revolution
LACCD
 
PPT
Lecture 6 a new republic & question of slavery 4.2015
LACCD
 
Lecture 11 part i- american expansion west - mexican territories & west
LACCD
 
Lecture 11ii american west & increasing conflicts over slavery
LACCD
 
Lecture 7 - Slavery - 10.2016
LACCD
 
Lecture 12 part i - the civil war
LACCD
 
Lecture 4 moving toward revolution
LACCD
 
Lecture 6 a new republic & question of slavery 4.2015
LACCD
 
Ad

Similar to Go reactive - Manuel Vicente Vivo (20)

PDF
Reactive systems
Naresh Chintalcheru
 
PPTX
RxSwift
Kristaps Grinbergs
 
PPTX
Mario Fusco - Reactive programming in Java - Codemotion Milan 2017
Codemotion
 
PDF
Reactive programming
Mesut Can Gurle
 
PDF
Reactive java - Reactive Programming + RxJava
NexThoughts Technologies
 
PPTX
Reactive programming
saykopatt
 
PDF
Moving towards Reactive Programming
Deepak Shevani
 
PDF
I have a stream - Insights in Reactive Programming - Jan Carsten Lohmuller - ...
Codemotion
 
PDF
RxJava - introduction & design
allegro.tech
 
PDF
Reactive Programming in Java by Mario Fusco - Codemotion Rome 2015
Codemotion
 
PDF
Reactive Programming for a demanding world: building event-driven and respons...
Mario Fusco
 
PDF
Unite 2017 - Reactive Programming - Pieter Nijs
N Core
 
PDF
Reactive Programming
Knoldus Inc.
 
PDF
Reactive Functional Programming with Java 8 on Android N
Shipeng Xu
 
PPTX
Reactive Programming in Java 8 with Rx-Java
Kasun Indrasiri
 
PPTX
Reactive Programming with RxJava
Grand Parade Poland
 
PDF
Reactive in Android and Beyond Rx
Fabio Tiriticco
 
PDF
rx-java-presentation
Mateusz Bukowicz
 
PPTX
Reactive Programming with RxJS
Danca Prima
 
PDF
Reactive programming and RxJS
Ravi Mone
 
Reactive systems
Naresh Chintalcheru
 
Mario Fusco - Reactive programming in Java - Codemotion Milan 2017
Codemotion
 
Reactive programming
Mesut Can Gurle
 
Reactive java - Reactive Programming + RxJava
NexThoughts Technologies
 
Reactive programming
saykopatt
 
Moving towards Reactive Programming
Deepak Shevani
 
I have a stream - Insights in Reactive Programming - Jan Carsten Lohmuller - ...
Codemotion
 
RxJava - introduction & design
allegro.tech
 
Reactive Programming in Java by Mario Fusco - Codemotion Rome 2015
Codemotion
 
Reactive Programming for a demanding world: building event-driven and respons...
Mario Fusco
 
Unite 2017 - Reactive Programming - Pieter Nijs
N Core
 
Reactive Programming
Knoldus Inc.
 
Reactive Functional Programming with Java 8 on Android N
Shipeng Xu
 
Reactive Programming in Java 8 with Rx-Java
Kasun Indrasiri
 
Reactive Programming with RxJava
Grand Parade Poland
 
Reactive in Android and Beyond Rx
Fabio Tiriticco
 
rx-java-presentation
Mateusz Bukowicz
 
Reactive Programming with RxJS
Danca Prima
 
Reactive programming and RxJS
Ravi Mone
 

More from Manuel Vicente Vivo (6)

PDF
Coroutines and RxJava - An Asynchronicity Comparison
Manuel Vicente Vivo
 
PDF
Android Development - ConstraintLayout
Manuel Vicente Vivo
 
PDF
Mobile Development - Unit and Automation Testing
Manuel Vicente Vivo
 
PDF
Agile - Opportunities to improve a team
Manuel Vicente Vivo
 
PDF
Android 101 - Manuel Vicente Vivo
Manuel Vicente Vivo
 
PDF
Android Wear - Manuel Vicente Vivo
Manuel Vicente Vivo
 
Coroutines and RxJava - An Asynchronicity Comparison
Manuel Vicente Vivo
 
Android Development - ConstraintLayout
Manuel Vicente Vivo
 
Mobile Development - Unit and Automation Testing
Manuel Vicente Vivo
 
Agile - Opportunities to improve a team
Manuel Vicente Vivo
 
Android 101 - Manuel Vicente Vivo
Manuel Vicente Vivo
 
Android Wear - Manuel Vicente Vivo
Manuel Vicente Vivo
 

Recently uploaded (20)

PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Doc9.....................................
SofiaCollazos
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
The Future of Artificial Intelligence (AI)
Mukul
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 

Go reactive - Manuel Vicente Vivo