Architectures in the Compose World
summary
Compose integrates with existing MVVM/MVI but the deciding details are concrete: unidirectional data flow as the required pattern, a Detail screen where SavedStateHandle pulls ID 123 into a ViewModel, viewModelScope.launch calling a use case and exposing UI via view model + mutableStateOf, Hilt via entry points or a custom composable-scoped component to inject singletons, and navigation using rememberNavController/navHost. Side effects use SharedFlow or channels (single‑live‑event has edge cases); screens replace fragments but lifecycle differences (remember vs viewModel) matter.
AI-written summary · about
chapters (13)
- 0:00Compose architectures intro
- 1:11Unidirectional data flow
- 2:58MVVM and MVI patterns
- 4:44UI as state function
- 6:31Side effects handling
- 6:52Immutability & state management
- 11:24XML to Compose conversion
- 13:49Compose screens & lifecycle
- 17:04Hilt dependency injection
- 22:20ViewModels in Compose?
- 23:42Compose Navigation & ViewModels
- 32:11Compose ViewModel alternatives
- 32:52Compose requirements
related talks
29mNavigation and Dependency Injection in Compose
43mHelp! ViewModel
28mComposing Magic with MVI and Kotlin StateFlow
34mBeyond the UI: Compose as a Foundation for Multiplatform Apps
19mUsing Jetpack libraries in Compose
43mHosting our states in Compose
36mMVWTF: Demystifying Architecture Patterns
29mModern Android Development using MVI architecture
