Modern Android Development using MVI architecture
summary
Argues that MVI pairs naturally with Jetpack Compose by treating the model as the single source of truth and using a reducer function in the model to create new immutable states, with a ViewModel transforming UI events into intents. Recommends Kotlin channels (queued single-use events) for one-off UI actions, shows a sample project implementing the reducer and navigation-from-UI approach, demonstrates a time machine to log every state for reproducible debugging, and warns about extra boilerplate and class churn.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 0:51Android architecture evolution
- 4:28MVP to MVVM transition
- 7:19MVI principles
- 10:16MVI components
- 12:58UI events and state updates
- 14:04Debugging with state machine
- 15:28Configuration changes handling
- 17:21Navigation in MVI
- 18:49Unidirectional data flow benefits
- 20:38MVI challenges and scalability
- 22:07Summary and Q&A
related talks
36mSimple MVI Architecture for Android
18mMVI made for Android
36mSimple MVI Architecture for Android
35mModel View Intent, Embracing Reactive UI's
46mMvRx: Android Development on Autopilot
28mComposing Magic with MVI and Kotlin StateFlow
42mHands on MvRx: Building Real Apps
35mBuilding Multi-Platform Projects with MVI Architecture
