Unidirectional Data Flow with...
summary
Claims a concrete Unidirectional Data Flow implemented with Android Architecture Components and Kotlin Coroutines (Channels/Actors): a View → ViewModel → Store → Reducer pipeline that returns immutable view states via LiveData. Store runs in its own CoroutineScope on IO, dispatches states on Main, and uses Either to separate success vs failure streams, channels (produce/receive) for multi-step updates, and fold to test accumulated channel outputs. Implementation targets MixTiles app and reports improved testability and scalability.
AI-written summary · about
chapters (33)
- 0:00Introduction
- 4:30User Actions
- 6:11View Model
- 7:54Initial State
- 8:37Threading
- 9:11Context
- 10:32ViewState
- 11:10Observe
- 11:47Reducer
- 12:21UI
- 12:45API
- 13:58Render Screen
- 14:28Action
- 14:56Loading State
- 15:21Navigation Events
- 16:56Failures
- 18:35Store
- 19:14MainView
- 19:56Live Data Object
- 20:44Data Class
- 21:44Render
- 22:17Failure
- 22:47Progress Bar
- 23:34Flow
- 24:33Channels
- 26:01Receiving Channel
- 26:24Sending Code
- 27:06Produce Stage
- 27:23Storage Changes
- 27:58Channel
- 28:42Testing
- 29:24Fault
- 30:19Exception
related talks
39mUnidirectional data flow on Android using Kotlin
45mExploring the possibilities of Unidirectional Data Flow Architectures on Android (en)
49mRiding the state flow
40mCompose Without Flow: Unidirectional State with Snapshots and Coroutines
38mRedux for Android
01h 12mA-Z of Kotlin Flow
31mFlux: Utilize unidirectional data flow ...
45mImplementing Modern Android Architecture
