9. MIGRATING TO RXJAVA2
What is RxJava2Interop?
▸ https://github.com/akarnokd/RxJava2Interop
▸ RxJava1とRxJava2のReactive Typeを相互に変換
▸ 作: David Karnok(RxJavaのmain commiter)
▸ このライブラリを使うとステップ・バイ・ステップで
RxJava2に移行できる
18. MIGRATING TO RXJAVA2
Architecture of AWA
DbClientDbClientDbClient
DbClientDbClientApiClient
SharedPreferences Realm SQLite API Server
DbClientDbClientModel
DbClientDbClientUseCase
DBCLIENTDBCLIENTActivity/Fragment
View
Domain
Data
19. MIGRATING TO RXJAVA2
Architecture of AWA
DbClientDbClientDbClient
DbClientDbClientApiClient
SharedPreferences Realm SQLite API Server
DbClientDbClientModel
DbClientDbClientUseCase
DBCLIENTDBCLIENTActivity/Fragment
View
Domain
Data
DbClientをRxJava2化
RxJava2Interop
でRxJava1に変換
Domainより上の
レイヤは変更不要
20. MIGRATING TO RXJAVA2
Some random tips
▸ doOnDisposeではなくdoFinallyを使う
▸ https://github.com/ReactiveX/RxJava/wiki/What's-
different-in-2.0
▸ Reactive Typeで「値がない状態」を通知したい時はOptionalを
使う
▸ Kotlinだとgojuno/koptionalがミニマムでよさそう
▸ Singleで↑の場合はMaybeを使いましょう