Top Banner
34

Roberto Orgiu: RxJava 2 for the rest of us

Jan 22, 2018

Download

Mobile

mdevtalk
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Roberto Orgiu: RxJava 2 for the rest of us
Page 2: Roberto Orgiu: RxJava 2 for the rest of us

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

Page 3: Roberto Orgiu: RxJava 2 for the rest of us

– E V E R Y O N E , W H E N R X J AVA 2 W A S A N N O U N C E D

“I am on RxJava 1… am I doomed?”

Page 4: Roberto Orgiu: RxJava 2 for the rest of us

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

Page 5: Roberto Orgiu: RxJava 2 for the rest of us

compile ‘io.reactivex:rxjava:1.2.7’

Page 6: Roberto Orgiu: RxJava 2 for the rest of us

compile ‘io.reactivex:rxjava:1.2.7’

compile 'io.reactivex.rxjava2:rxjava:2.0.7'

Page 7: Roberto Orgiu: RxJava 2 for the rest of us

rx.Observable

Page 8: Roberto Orgiu: RxJava 2 for the rest of us

rx.Observable

reactivex.Observable

Page 9: Roberto Orgiu: RxJava 2 for the rest of us

rx.Observable

rx.functions.*

RXJAVA

Page 10: Roberto Orgiu: RxJava 2 for the rest of us

reactivex.Observable

reactivex.functions.*

RXJAVA 2

Page 11: Roberto Orgiu: RxJava 2 for the rest of us

FuncN<T,R>

R call(T data)

Page 12: Roberto Orgiu: RxJava 2 for the rest of us

FuncN<T,R>

R call(T data)

Function<T,R>

R apply(T data)

Page 13: Roberto Orgiu: RxJava 2 for the rest of us

FuncN<T,R>

R call(T data)

Function<T,R>

R apply(T data)

Page 14: Roberto Orgiu: RxJava 2 for the rest of us

Func1<T,R> Function<T,R>

Func2<T,R> BiFunction<T,R>

Func3<T,R> Function3<T,R>

Page 15: Roberto Orgiu: RxJava 2 for the rest of us

Action1<T>

call(T data)

Page 16: Roberto Orgiu: RxJava 2 for the rest of us

Action1<T>

call(T data)

Consumer<T>

accept(T data)

Page 17: Roberto Orgiu: RxJava 2 for the rest of us

Action1<T>

call(T data)

Consumer<T>

accept(T data)

Page 18: Roberto Orgiu: RxJava 2 for the rest of us

Action0

call()

Consumer

accept()

Page 19: Roberto Orgiu: RxJava 2 for the rest of us

Action0

call()

Action

run()

Page 20: Roberto Orgiu: RxJava 2 for the rest of us

rx.Observable

RXJAVA

Page 21: Roberto Orgiu: RxJava 2 for the rest of us

rx.Observable

RXJAVA

reactivex.Observable reactivex.Flowable

RXJAVA 2

Page 22: Roberto Orgiu: RxJava 2 for the rest of us

reactivex.Observable

RXJAVA 2

• ~1k elements • GUI & touch events • Synchronous flow

Page 23: Roberto Orgiu: RxJava 2 for the rest of us

reactivex.Flowable

RXJAVA 2

• 10k+ elements • Reading from file, databases and network • Blocking/pull-based data source

Page 24: Roberto Orgiu: RxJava 2 for the rest of us

Single

RXJAVA

Completable

Page 25: Roberto Orgiu: RxJava 2 for the rest of us

Single*

RXJAVA 2

Completable

Maybe

* has been totally redesigned

Page 26: Roberto Orgiu: RxJava 2 for the rest of us

Maybe

RXJAVA 2

onSubscribe (onSuccess | onError | onComplete)?

Page 27: Roberto Orgiu: RxJava 2 for the rest of us

BACKPRESSURE

Page 28: Roberto Orgiu: RxJava 2 for the rest of us

Observable.from()

RXJAVA

Page 29: Roberto Orgiu: RxJava 2 for the rest of us

Observable.fromArray()

RXJAVA 2

Observable.fromIterable()

Observable.fromFuture()

Page 30: Roberto Orgiu: RxJava 2 for the rest of us

Observable.create()

RXJAVA

Page 31: Roberto Orgiu: RxJava 2 for the rest of us

Observable.create()

RXJAVA 2

Page 32: Roberto Orgiu: RxJava 2 for the rest of us

Observable.create()

RXJAVA 2

Observable.fromAsync()

Page 33: Roberto Orgiu: RxJava 2 for the rest of us

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/

Page 34: Roberto Orgiu: RxJava 2 for the rest of us

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 !