Building Multi-Platform Projects with MVI Architecture
summary
Claims that Kotlin Multiplatform plus an MVI model lets one share most business logic across Android, iOS and web, implemented here as a habit‑tracker with an in‑memory habit store, optimistic cache and intent validation state machine. Uses Ktor + Kotlinx.serialization for REST, coroutines and StateFlow in common code (surprisingly supported), Compose on Android, SwiftUI with small flow adapters on iOS, Kotlinx.html for JS, and Koin for DI. Compose-on-web proves flaky; the multiplatform model and adapters work.
AI-written summary · about
chapters (18)
- 0:00Introduction and thanks
- 1:36Why multi-platform projects
- 2:40Kotlin Multiplatform overview
- 4:47MVI architecture principles
- 9:21Habit tracker app example
- 10:43Project setup and workflow
- 13:51Code reuse expectations
- 15:14Model state and intents
- 16:38Intent validation with state machines
- 19:47Authentication and session management
- 20:30Ktor for REST API calls
- 21:12Jetpack Compose for Android
- 24:01Kotlin JS for web views
- 27:08SwiftUI for iOS
- 28:34Camp Kit project for iOS
- 30:41Dependency injection with Koin
- 32:47Tracks to explore further
- 33:29MVI concepts beyond frameworks
related talks
48mBuilding Multi Platform Projects with MVI
25mKotlin Multiplatform Mobile in production: key takeaways from developing two cross-platform apps
45mThe Adventures of Kotlin And Compose Through the Multiplatform World
31mA novel architecture for Multiplatform applications
36mBest Practices for Developing Amazing Kotlin Multiplatform Apps
29mModern Android Development using MVI architecture
45mShared mobile UIs with Compose Multiplatform
41mIt Just Works
