A complete, step-by-step Kotlin Multiplatform tutorial series. Share business logic, networking, and database code between Android and iOS. From your first shared function to publishing a real cross-platform app.
Write Kotlin once. Run on Android, iOS, Desktop, and Web.
Part 1: Foundations#
| # | Tutorial | What You Will Learn |
|---|
| 1 | What is Kotlin Multiplatform? (Coming Soon) | What KMP is, how it works, who uses it, KMP vs Flutter |
| 2 | Setting Up Your First KMP Project (Coming Soon) | KMP wizard, project setup, running on Android + iOS |
| 3 | Understanding KMP Project Structure (Coming Soon) | commonMain, androidMain, iosMain, expect/actual |
| 4 | Compose Multiplatform — Share Your UI (Coming Soon) | CMP setup, shared Composables, platform-specific UI |
| 5 | KMP vs Flutter vs React Native (Coming Soon) | Detailed comparison, when to use each |
Part 2: Core Libraries#
| # | Tutorial | What You Will Learn |
|---|
| 6 | Ktor Client — Networking (Coming Soon) | HTTP requests, JSON parsing, error handling |
| 7 | SQLDelight — Database (Coming Soon) | SQL-first database, CRUD operations, Flow, migrations |
| 8 | DataStore — Key-Value Storage (Coming Soon) | Preferences, type-safe keys, Flow |
| 9 | Koin — Dependency Injection (Coming Soon) | DI in shared code, platform modules |
| 10 | Shared ViewModel (Coming Soon) | ViewModel in commonMain, StateFlow, connecting to UI |
Part 3: Architecture & Patterns#
| # | Tutorial | What You Will Learn |
|---|
| 11 | Clean Architecture in KMP (Coming Soon) | 3-layer architecture, shared domain and data layers |
| 12 | Navigation in Compose Multiplatform (Coming Soon) | Type-safe routes, bottom navigation, deep linking |
| 13 | Testing in KMP (Coming Soon) | commonTest, mock engines, platform-specific tests |
| 14 | Error Handling and Logging (Coming Soon) | Result pattern, Kermit logging, crash reporting |
Part 4: Build a Real App#
| # | Tutorial | What You Will Learn |
|---|
| 15 | Planning — A Notes App (Coming Soon) | Features, architecture, tech stack, project setup |
| 16 | Building the Data Layer (Coming Soon) | SQLDelight + Ktor, repository pattern, offline-first |
| 17 | Building the UI Layer (Coming Soon) | Compose (Android) + SwiftUI (iOS) + shared ViewModel |
| 18 | Publishing Your KMP App (Coming Soon) | Android APK, iOS IPA, CI/CD, Play Store + App Store |
Part 5: Advanced#
| # | Tutorial | What You Will Learn |
|---|
| 19 | KMP for Desktop and Web (Coming Soon) | Compose Multiplatform Desktop, Kotlin/Wasm for Web |
| 20 | Migrating an Android App to KMP (Coming Soon) | Step-by-step migration, gradual adoption strategy |
Who is This For?#
- Android/Kotlin developers who want to build iOS apps without learning Swift
- Mobile developers exploring cross-platform options
- Teams looking to share code between platforms
- Anyone who already knows Kotlin and wants to expand
Prerequisites#
- Basic Kotlin knowledge
- Familiarity with Jetpack Compose (see our Compose Tutorial Series)
- A Mac (required for iOS builds)
- Android Studio installed