Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
RxJava2 from (not) scratch
Search
Roberto Orgiu
March 30, 2017
Technology
140
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
96
The Importance of Being Tested
tiwiz
0
460
An Android Dev start to Kotlin MPP
tiwiz
0
210
Fantastic API and where to find them
tiwiz
0
120
Flipping the Koin @ GDG Dev Party
tiwiz
1
83
Flipping the Koin
tiwiz
2
190
Trip into the async world @ NYC Kotlin Meetup
tiwiz
0
140
Trip into the async world
tiwiz
1
160
Other Decks in Technology
See All in Technology
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
0
220
購入ドメインでの課題と取り組み
ykagano
0
150
生成AIを使って「人が」考える技術 ― AI時代の人機共想と実践ノウハウ|UNITT AC2026
ishiirikie
0
580
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
350
今さら理解するウェブフォントver.2026
takanorip
3
530
並行性の問題を防げ!実践トランザクション入門
occhi
0
280
The seven pitfalls of AI (revised version)
ufried
0
310
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
0
1.1k
Cognition AI Japan - ウェビナー2_テストQA_運用監視
cogakira
0
120
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
560
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
3
680
予測不能な実行エージェントを安全にサクッと試せるサンドボックス環境の話
sansantech
PRO
0
140
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
840
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
300
Git: the NoSQL Database
bkeepers
PRO
433
67k
A better future with KSS
kneath
240
18k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
300
Accessibility Awareness
sabderemane
1
240
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Building the Perfect Custom Keyboard
takai
2
900
Producing Creativity
orderedlist
PRO
348
41k
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 !