Learn how to use Kotlin Multiplatform Mobile (KMM) to build both an Android client and an iOS client with a shared Kotlin codebase.
Shared Components
Ktor (Network Client)
SQL Delight (Caching Client)
Kotlinx.datetime
Kotlinx.serialization
Android Specific Components
Jetpack Compose
Jetpack Compose Navigation
(Single activity, zero fragments)
Accompanist Coil
Hilt
I decided to use AAC ViewModel because it gives so much state management stuff for free. Maybe in the future a shared viewmodel will be more practical. I'll talk about this in detail in the course.