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
0
110
RxJava2 from (not) scratch
Slides for mDevTalk #8, Prague, March 30 2017
Roberto Orgiu
March 30, 2017
Tweet
Share
More Decks by Roberto Orgiu
See All by Roberto Orgiu
Wellness & Droid
tiwiz
0
73
Behind the curtains
tiwiz
0
24
The Importance of Being Tested
tiwiz
0
270
An Android Dev start to Kotlin MPP
tiwiz
0
99
Fantastic API and where to find them
tiwiz
0
33
Flipping the Koin @ GDG Dev Party
tiwiz
1
33
Flipping the Koin
tiwiz
2
110
Trip into the async world @ NYC Kotlin Meetup
tiwiz
0
59
Trip into the async world
tiwiz
1
83
Other Decks in Technology
See All in Technology
生成AIの不確実性と向き合うためのオブジェクト指向設計
tkikuchi1002
2
690
Autopsy of a Cascading Outage from a MySQL Crashing Bug
jfg956
0
200
KTC_DBRE.pdf
_awache
1
290
サービス成長と共に肥大化するモノレポ、長くなるCI時間 / As services grow, monorepos get bigger and CI time gets longer
kohbis
5
2.1k
暗黙知を集積するプラットフォーム : 「健常者エミュレータ事例集」の取り組み
sora32127
1
160
Elementaryを用いたデータ品質の可視化とデータ基盤の運用改善
10xinc
6
1.6k
大規模なアジャイル開発の現場と技術負債 / Technical Debt
yoshiitaka
21
4.1k
こんなに簡単!AWSマルチアカウント
takuya_terada
0
120
2023 Japan AWS Jr.Championsに選出されての振り返りとこれから
hiropy877
1
130
LLM + RAG を使った SORACOM Support Bot の裏側の歴史
soracom
PRO
1
640
生成AIサービスPanorama AIご説明資料
sdt
0
300
今さら聞けない!? AWSの生成AIサービス Amazon Bedrock入門!
minorun365
PRO
11
2.6k
Featured
See All Featured
Faster Mobile Websites
deanohume
296
30k
A designer walks into a library…
pauljervisheath
199
23k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
Mobile First: as difficult as doing things right
swwweet
215
8.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
58
14k
Art, The Web, and Tiny UX
lynnandtonic
288
19k
Why Our Code Smells
bkeepers
PRO
330
56k
Agile that works and the tools we love
rasmusluckow
323
20k
Building a Scalable Design System with Sketch
lauravandoore
455
32k
Facilitating Awesome Meetings
lara
39
5.5k
Writing Fast Ruby
sferik
619
59k
Designing the Hi-DPI Web
ddemaree
275
33k
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 !