MVI: a Robust and Modern Architecture
summary
Describes adopting MVI (Model‑View‑Intention) on Android/iOS using Kotlin/Swift with Jetpack LiveData or Rx and Room for persistence. Presents an implementation where UI events are sealed action classes dispatched to a base ViewModel that maintains one LiveData holding a single immutable state (updated by cloning) to enforce unidirectional dataflow, making presentation logic testable by setting state and asserting transitions. Also cites metrics that roughly half of app code is presentation, with ~15% web services and 15–25% tracking, and mentions a prototype app using this approach (not yet in production).
AI-written summary · about
chapters (9)
- 0:00MVI intro
- 3:40Traditional architecture issues
- 7:32MVC and MVP limits
- 9:18MVVM architecture
- 17:12MVI benefits
- 23:12Action integration
- 26:20MVI concepts and dataflow
- 30:12Team benefits
- 33:42Q&A
related talks
33mModel-View-Intent for
18mMVI made for Android
39mSimple MVI: A LiveData Based MVI Approach
30mArchitecting an app with MVP and ViewModels
42mHands on MvRx: Building Real Apps
35mModel View Intent, Embracing Reactive UI's
48mBuilding Multi Platform Projects with MVI
46mMvRx: Android Development on Autopilot
