Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RxJava2 from (not) scratch
Search
Roberto Orgiu
March 30, 2017
Technology
130
0
Share
RxJava2 from (not) scratch
Slides for mDevTalk #8, Prague, March 30 2017
Roberto Orgiu
March 30, 2017
More Decks by Roberto Orgiu
See All by Roberto Orgiu
Wellness & Droid
tiwiz
0
130
Behind the curtains
tiwiz
0
72
The Importance of Being Tested
tiwiz
0
430
An Android Dev start to Kotlin MPP
tiwiz
0
190
Fantastic API and where to find them
tiwiz
0
85
Flipping the Koin @ GDG Dev Party
tiwiz
1
78
Flipping the Koin
tiwiz
2
170
Trip into the async world @ NYC Kotlin Meetup
tiwiz
0
120
Trip into the async world
tiwiz
1
150
Other Decks in Technology
See All in Technology
Building a Standalone Programming Environment
harukasan
PRO
1
230
Do Vibe Coding ao LLM em Produção para Busca Agêntica - TDC 2026 - Summit IA - São Paulo
jpbonson
3
160
社内エンジニア勉強会の醍醐味と苦しみ/tamadev
nishiuma
0
260
AgentCore×VPCでの設計パターンn選と勘所
har1101
4
340
【技術書典20】OpenFOAM(自宅で深める流体解析)流れと熱移動(2)
kamakiri1225
0
320
Arcana: Production-Ready RAG in Elixir @ ElixirConf EU 2026
georgeguimaraes
0
120
AIが書いたコードを信じられない問題 〜レビュー負荷を下げるために変えたこと〜 / The AI Code Trust Gap: Reducing the Review Burden
bitkey
PRO
8
1.4k
生成AIが変える SaaS の競争原理と弁護士ドットコムのプロダクト戦略
bengo4com
1
2.6k
Expiration of Secure Boot Certificates for vSphere Virtual Machines
mirie_sd
0
120
Rapid Start: Faster Internet Connections, with Ruby's Help
kazuho
2
890
Pure Intonation on Browser: Building a Sequencer with Ruby
nagachika
0
260
Chasing Real-Time Observability for CRuby
whitegreen
0
290
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.2k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
380
Optimizing for Happiness
mojombo
378
71k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
100
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
190
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
470
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
520
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
120
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
130
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
380
Music & Morning Musume
bryan
47
7.2k
Statistics for Hackers
jakevdp
799
230k
Transcript
None
R X J AVA 2 F R O M (
N O T ) S C R AT C H R O B E R T O O R G I U
– E V E RY O N E , W
H E N R X J AVA 2 WA S A N N O U N C E D “I am on RxJava 1… am I doomed?”
R X J AVA A N D R X J
AVA 2 C A N B E U S E D AT T H E S A M E T I M E N O P E
compile ‘io.reactivex:rxjava:1.2.7’
compile ‘io.reactivex:rxjava:1.2.7’ compile 'io.reactivex.rxjava2:rxjava:2.0.7'
rx.Observable
rx.Observable reactivex.Observable
rx.Observable rx.functions.* RXJAVA
reactivex.Observable reactivex.functions.* RXJAVA 2
FuncN<T,R> R call(T data)
FuncN<T,R> R call(T data) Function<T,R> R apply(T data)
FuncN<T,R> R call(T data) Function<T,R> R apply(T data)
Func1<T,R> Function<T,R> Func2<T,R> BiFunction<T,R> Func3<T,R> Function3<T,R>
Action1<T> call(T data)
Action1<T> call(T data) Consumer<T> accept(T data)
Action1<T> call(T data) Consumer<T> accept(T data)
Action0 call() Consumer accept()
Action0 call() Action run()
rx.Observable RXJAVA
rx.Observable RXJAVA reactivex.Observable reactivex.Flowable RXJAVA 2
reactivex.Observable RXJAVA 2 • ~1k elements • GUI & touch
events • Synchronous flow
reactivex.Flowable RXJAVA 2 • 10k+ elements • Reading from file,
databases and network • Blocking/pull-based data source
Single RXJAVA Completable
Single* RXJAVA 2 Completable Maybe * has been totally redesigned
Maybe RXJAVA 2 onSubscribe (onSuccess | onError | onComplete)?
BACKPRESSURE
Observable.from() RXJAVA
Observable.fromArray() RXJAVA 2 Observable.fromIterable() Observable.fromFuture()
Observable.create() RXJAVA
Observable.create() RXJAVA 2
Observable.create() RXJAVA 2 Observable.fromAsync()
M O R E A B O U T R
X J AVA 2 https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0 https://caster.io/courses/rxjava2/
D O Y O U H AV E A N
Y Q U E S T I O N ? T H A N K S F O R Y O U R AT T E N T I O N !