Rx in Multiplatformland
summary
Compares Kotlin Flow and Reaktive (plus RxJava) with concrete findings: Flow 1.3.0 is already used by Room and SQLDelight; Reaktive 1.1.0.1 supports Kotlin/Native threading and avoids freezing via worker/thread-local helpers. Benchmarks show Flow wins simple throughput tests vs RxJava, but using flatMap (which uses channels) makes Flow about nine times slower and increases allocations; JVM memory use favors RxJava. Flow migration helpers exist, but error handling needs care—use onEach before collect—and ConflatedBroadcastChannel serves as a behavior-subject analog.
AI-written summary · about
chapters (11)
- 0:00Introduction and background
- 1:50Reactive Kotlin Multiplatform libraries
- 5:48Public API differences
- 8:54Threading models
- 13:31Adopting reactive streams
- 16:00Error handling pitfalls
- 19:10Native platform support
- 21:38Performance benchmarks
- 25:10Conclusion and recommendations
- 30:38MVI sample app demo
- 35:20Q&A
related talks
42mGo with the Flow
49mFueled Reactive apps with Asynchronous Flow
43mBattle of the Titans: RxJava vs Kotlin Coroutines
56mThirst-quenching Streams for the Reactive Mind
32mUnderstanding the principles of Rx, Flow, Compose, and more, through Programming Paradigms
40mRxJava 2 for the rest of us
44mGoing with the Flow - Using Coroutines 1.3.x
19mKotlin Flows and Channels for Android
