Battle of the Titans: RxJava vs Kotlin Coroutines
summary
Compares concrete migration work: an Android app is rewritten from RxJava to Kotlin Coroutines across refactored 80% of app using converters to interoperate flows and observables; code shrinks by replacing Observable/Single/Maybe/Completable with suspending functions and Flow, removing CompositeDisposable in favor of viewModelScope/viewLifecycleScope and structured concurrency; backpressure is automatic; readability and onboarding measurably improve; performance on a Scrabble microbenchmark shows Scrabble benchmark: sequence 10ms, flow 14ms, RxJava 24ms.
AI-written summary · about
chapters (14)
- 0:00Start
- 2:13RxJava Overview
- 4:03What are coroutines?
- 5:16Suspending functions
- 7:51Simpler API
- 11:57Operator Avoidance
- 14:13Structured Concurrency
- 17:16Readibility
- 17:28Readability
- 20:38Backpressure Handling
- 21:29Performance
- 23:44Kotlin Multiplatform
- 24:14Interoperability
- 25:09Recap on Coroutines Advantages
related talks
38mAndroid Suspenders
29mTrip into the async world
36mRx in Multiplatformland
40mBuilding Asynchronous Mechanisms in Android App, Using Kotlin Coroutines
20mLean Async Code with Kotlin's Coroutines
32mNetworking the Kotlin way: Retrofit + Coroutines
41mMaking a Kotlin, Architecture Components, Rx and Coroutines sandwich
38mAndroid Coroutines: How to manage async tasks in Kotlin
