Kotlin Multiplatform Development
2h 34mIntermediate2025-05-21
Authors

Colin Lee
Course details
Master cross-platform development with Kotlin by creating sophisticated applications that run seamlessly across Android, iOS, web, and desktop. In this comprehensive course, instructor Colin Lee empowers you to make smart architectural choices between Compose Multiplatform's shared UI approach and platform-specific interfaces like SwiftUI, balancing code reuse with native feel. Learn how to create shared networking layers with Ktor and implement cross-platform data persistence using SQLDelight. Whether you're a mobile developer looking to expand your reach or a full-stack engineer seeking to unify your codebase, this course equips you with the essential skills you need to develop professional Kotlin applications that truly write once and run from anywhere.
Learning objectives
Assemble a Kotlin application that can execute across Android, iOS, web, macOS, Windows, and Linux.
Correctly choose between building your Kotlin app using either Compose Multiplatform with shared Compose user interfaces or using Kotlin Multiplatform with native user interface libraries, such as Jetpack Compose and SwiftUI.
Create shared networking code in Kotlin across multiple platforms using a REST library such as Ktor.
Share database code in Kotlin across multiple platforms using a library such as SQLDelight.
Learning objectives
Assemble a Kotlin application that can execute across Android, iOS, web, macOS, Windows, and Linux.
Correctly choose between building your Kotlin app using either Compose Multiplatform with shared Compose user interfaces or using Kotlin Multiplatform with native user interface libraries, such as Jetpack Compose and SwiftUI.
Create shared networking code in Kotlin across multiple platforms using a REST library such as Ktor.
Share database code in Kotlin across multiple platforms using a library such as SQLDelight.
Skills covered
KotlinCross-Platform DevelopmentMobile DevelopmentProgramming LanguagesOpen SourceSoftware DevelopmentOne-Off
Concepts
0. Introduction
- 01 - Kotlin multiplatform development
- 02 - What you should know
1. Creating Our First Multiplatform App
- 03 - The problem Kotlin Multiplatform solves
- 04 - Comparison with alternatives
- 05 - Supported platforms and performance
- 06 - Just what the KDoctor ordered
- 07 - Android studio for KMP
- 08 - Xcode for KMP
- 09 - Crafting a template with the Kotlin Multiplatform wizard
2. Combining Native with Multiplatform
- 10 - Building our first multiplatform app
- 11 - Whether to use Compose Multiplatform
- 12 - Expect and actual
- 13 - An actual example
- 14 - Accessing operating system methods
- 15 - Multiplatform project structure
3. KMP and Swift
- 16 - Using Kotlin from Swift code
- 17 - Making it easier with Swift export
- 18 - KMP together with SwiftUI
4. Architecture
- 19 - Recommended architecture with MVVM
- 20 - Google ViewModel
5. Sharing Network
- 21 - Adding Ktor to your project
- 22 - Modeling with Kotlinx-serialization
- 23 - Making network requests
- 24 - Apollo GraphQL
6. Sharing Database
- 25 - Adding SQLDelight to your project
- 26 - Setting up your database and adding objects
- 27 - Creating queries
- 28 - Going with the flow
7. Quality of Life
- 29 - Kermit for logging
- 30 - Managing resources
- 31 - KOIN for dependency injection
- 32 - Storing values in multiplatform-settings
- 33 - Dates in Kotlinx-datetime
Conclusion
- 34 - Next steps
Related courses
- Kotlin Multiplatform Libraries
- Exploring Ktor with Kotlin Multiplatform and Compose
- Intermediate Kotlin for Android Developers
- Kotlin Essential Training: Functions, Collections, and I/O
- Kotlin for Android: Best Practices
- Android Development: Retrofit with Kotlin
- Advanced Kotlin Database Development
- Android Development Essential Training: Manage Data with Kotlin