Fueled Reactive apps with Asynchronous Flow
summary
Migration plan for a Twitter search app shows a concrete path from RxJava to coroutines: convert network and DB calls to suspend functions, use Kotlin Flows to emit DB-first then network-refresh results (the demo emits twice), interoperate during migration with asObservable and scheduler.asCoroutineDispatcher, use channelFlow for view input and debounce, and expose UI via StateFlow to remove callbacks; supervisorJob + dispatchers replace disposables, a StateFlow handler bridges Java views, and the sample migration proves the approach works while keeping layers decoupled for gradual rollout.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 1:59Use case overview
- 2:41Migration strategy
- 7:56Basics of reactive streams
- 11:49Gradle dependencies setup
- 12:09Data sources design
- 14:40Repository design
- 19:53Pro approach with coroutines
- 23:04Use case implementation
- 26:56View delegate migration
- 30:48Synchronous communication
- 37:06Lessons learned
- 40:17Q&A session
related talks
36mRx in Multiplatformland
42mGo with the Flow
43mBattle of the Titans: RxJava vs Kotlin Coroutines
39mReactive Android: RxJava and beyond
32mUnderstanding the principles of Rx, Flow, Compose, and more, through Programming Paradigms
38mAndroid Coroutines: How to manage async tasks in Kotlin
23mWhy Reactive Programming?
43mFunctional Reactive Programming with Kotlin on Android
