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
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
140
Behind the curtains
tiwiz
0
88
The Importance of Being Tested
tiwiz
0
450
An Android Dev start to Kotlin MPP
tiwiz
0
210
Fantastic API and where to find them
tiwiz
0
100
Flipping the Koin @ GDG Dev Party
tiwiz
1
79
Flipping the Koin
tiwiz
2
180
Trip into the async world @ NYC Kotlin Meetup
tiwiz
0
130
Trip into the async world
tiwiz
1
150
Other Decks in Technology
See All in Technology
はじめてのWDM
miyukichi_ospf
1
130
勉強会企画をアプリで構造化してみた 〜そこで見えた、AIとの付き合い方〜 / I've structured a study group plan using an app.
pauli
0
340
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
4
3.6k
ループエンジニアリングでE2Eテストを実践
noriyukitakei
0
320
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
570
AI Agent SaaS を支える自社仮想化基盤への挑戦と実運用 / ai-agent-saas-virtualization
flatt_security
2
3.4k
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
1
150
[2026-07-15] AI Ready なはずだったアーキテクチャと、見えてきた課題・次に目指す状態
wxyzzz
2
620
Keeping applications secure by evolving OAuth 2.0 and OpenID Connect
ahus1
PRO
1
150
型は壁、Rustでもバグを直すな、表現できなくせよ
nwiizo
12
1.9k
デジタル・デザイン構想 by Sayaka Ishizuka
y150saya
0
200
Zoom2Youtube.Claude
kawaguti
PRO
3
480
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
410
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.7k
Scaling GitHub
holman
464
140k
Evolving SEO for Evolving Search Engines
ryanjones
0
240
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
We Have a Design System, Now What?
morganepeng
55
8.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Designing Powerful Visuals for Engaging Learning
tmiket
1
440
Claude Code のすすめ
schroneko
67
230k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
180
The Mindset for Success: Future Career Progression
greggifford
PRO
0
410
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 !