Learning resources
We’ve collected over 30 essential Kotlin Multiplatform (KMP) and Compose Multiplatform learning materials. Browse by skill level to find tutorials, courses, and articles that fit your experience:
🌱 Beginner. Learn KMP and Compose fundamentals through official JetBrains and Google tutorials. Build simple apps using core libraries like Room, Ktor, and SQLDelight.
🌿 Intermediate. Develop real-world apps with shared ViewModels, Koin-based dependency injection, and clean architecture. Learn through courses by JetBrains and community educators.
🌳 Advanced. Progress to full-scale KMP engineering for backend and game development, with guidance on scaling architecture and adoption for large, multi-team projects.
🧩 Library authors. Create and publish reusable KMP libraries. Learn API design, Dokka documentation, and Maven publishing with official JetBrains tooling and templates.
🎚 | Resource / Type | Creator / Platform | You will learn | Price | Est. time |
|---|---|---|---|---|---|
🌱 | Article | JetBrains | The core value of KMP, real-world use cases, and guidance on choosing the right learning path. | Free | 30 min |
🌱 | Tutorial | JetBrains | How to set up a KMP project and share simple business logic between Android and iOS while keeping the UI fully native. | Free | 1–2 h |
🌱 | Get Started With Kotlin Multiplatform (Google Codelab) Tutorial | Android | How to add a shared KMP module to an existing Android project and integrate it with iOS, using the SKIE plugin to generate idiomatic Swift APIs from your Kotlin code. | Free | 1–2 h |
🌱 | Create Your First Compose Multiplatform App Tutorial | JetBrains | How to build a complete Compose Multiplatform app from the ground up, covering essential UI components, state management, and resource handling, as you progress from a simple template to a functional time zone app that runs on Android, iOS, desktop, and web. | Free | 2–3 h |
🌱 | Create a Multiplatform App Using Ktor and SQLDelight Tutorial | JetBrains | How to build a shared data layer using Ktor for networking and SQLDelight for a local database, and connect it to native UIs built with Jetpack Compose on Android and SwiftUI on iOS. | Free | 4–6 h |
🌱 | Expected and Actual Declarations Article | JetBrains | The core expect/actual mechanism for accessing platform-specific APIs from common code, covering different strategies like using functions, properties, and classes. | Free | 1–2 h |
🌱 | Using Platform-Specific APIs in KMP Apps Video tutorial | JetBrains YouTube | Best practices for using platform-specific code in your KMP apps. | Free | 15 min |
🌱 | Video course | Mykola Miroshnychenko Gumroad | How to extend your existing Android development skills to iOS by mastering KMP fundamentals like expect/actual and source sets, as well as building a complete app stack using modern libraries like Ktor for networking and Room for persistence. | ~$60 | 8–12 h |
🌱 | Kotlin Multiplatform Masterclass Video course | Petros Efthymiou Udemy | How to apply clean architecture and MVI from the ground up to build a complete KMP application, integrating a full stack of essential libraries – Ktor, SQLDelight, and Koin – with native Jetpack Compose and SwiftUI UIs. | €10–€20 | 6 h |
🌱 | Compose Multiplatform Full Course 2025 | Zero to Hero Video course | Code with FK YouTube | How to build a complete, feature-rich application entirely with Compose Multiplatform, progressing from the fundamentals to advanced, real-world features like Firebase Authentication, offline support with SQLDelight, and real-time updates. | Free | 20 h |
🌱 | Kotlin Multiplatform Development Video course | Colin Lee LinkedIn Learning | Architectural choices between Compose Multiplatform and native UIs, fundamentals of Swift interoperability, and a comprehensive overview of the essential KMP ecosystem for networking, persistence, and dependency injection. | ~$30–$40/month) | 3 h |
🌱 | Kotlin Multiplatform by Tutorials (Third Edition) Book | Kodeco Team (Kevin D. Moore, Carlos Mota, Saeed Taheri) | The fundamentals of sharing code by connecting native UI to a KMP shared module for networking, serialization, and persistence. You'll also see how to apply dependency injection, testing, and modern architecture to build maintainable and scalable real-world apps. | ~$60 | 40–60 h |
🌿 | Make Your Android Application Work on iOS Tutorial | JetBrains | The practical steps to migrate an existing Android app to KMP by extracting its business logic into a shared module that can be used by both the original Android app and a new native iOS project. | Free | 2 h |
🌿 | Migrate Existing Apps to Room KMP (Google Codelab) Tutorial | Android | How to migrate an existing Android Room database into a shared KMP module, allowing you to reuse your familiar DAOs and entities on both Android and iOS. | Free | 2 h |
🌿 | How to Share ViewModels in Compose Multiplatform (with Dependency Injection!) Video tutorial | Philipp Lackner YouTube | How to implement shared ViewModels in a Compose Multiplatform project using Koin for dependency injection, allowing you to write your state management logic once. | Free | 30 min |
🌿 | The Compose Multiplatform Crash Course 2025 Video course | Philipp Lackner YouTube | How to build a complete, production-ready book-reading app from scratch using a clean architecture, covering a modern KMP stack including Ktor for networking, Room for the local database, Koin for dependency injection, and multi-platform navigation. | Free | 5 h |
🌿 | Building Industry-Level Multiplatform Apps With KMP Video course | Philipp Lackner | How to build a real-world translator app by sharing ViewModels and business logic between native UIs (Jetpack Compose and SwiftUI), covering the full development life cycle from clean architecture to unit, UI, and end-to-end testing for both platforms. | ~€99 | 20 h |
🌿 | Building Industry-Level Compose Multiplatform Android and iOS Apps Video course | Philipp Lackner | How to build a large-scale, offline-first chat application from scratch using a complete Compose Multiplatform stack, including Ktor for real-time WebSockets, Room for local persistence, and Koin for multi-module dependency injection. | ~€199 | 34 h |
🌿 | Ultimate Compose Multiplatform: Android/iOS and Testing Video course | Hamidreza Sahraei Udemy | How to build a feature-rich virtual crypto wallet app entirely with Compose Multiplatform, covering not just the core stack (Ktor, Room, Koin) but also robust unit/UI testing and advanced platform integrations like biometric authentication. | ~€20 | 8 h |
🌳 | Article | JetBrains GitHub | Interoperability with iOS (Obj-C/Swift), SKIE, KMP-NativeCoroutines, workarounds for language feature gaps, Swift export, and bidirectional interop. | Free | 2 h |
🌳 | Multi-Modular Ecommerce App for Android and iOS (KMP) Video course | Stefan Jovanovic Udemy | The full product life cycle, from designing the UI of an e-commerce app in Figma to building it as a complete, multi-modular application with a shared UI using Compose Multiplatform, while also creating and integrating a full backend with Firebase services for authentication, database, and automated cloud functions. | ~€50 | 30 h |
🌳 | Exploring Ktor with Kotlin Multiplatform and Compose Video course | Troy Miles LinkedIn Learning | How to build a full-stack Kotlin application by first creating and deploying a secure Ktor backend to AWS and then using Kotlin Multiplatform to build native clients with shared code that consume your API. | ~$30–$40/month | 2-3 h |
🌳 | Full-Stack Game Development - Kotlin and Compose Multiplatform Video course | Stefan Jovanovic Udemy | How to build a complete 2D game with Compose Multiplatform, covering physics, collision detection, and sprite sheet animations, and how to deploy it across Android, iOS, desktop, and web (via Kotlin/Wasm). | ~€99 | 8–10 h |
🌳 | Philipp Lackner Full-Stack Bundle: KMP and Spring Boot Video course | Philipp Lackner | How to architect, build, and deploy a complete, full-stack chat application, covering everything from a multi-module Spring Boot backend with WebSockets to offline-first Compose Multiplatform clients (Android, iOS, desktop, web) and a full CI/CD pipeline. | ~€429 | 55 h |
🌳 | Article series | Touchlab | How to navigate the entire KMP adoption process within an established native mobile team, from securing initial buy-in and running a technical pilot to scaling the shared codebase with a sustainable real-world workflow. | Free | 6–8 h |
🧩 | API Guidelines for Multiplatform Library Building Documentation | JetBrains | How to design the public API of your multiplatform library, following essential best practices for maximizing code reuse and ensuring broad platform compatibility. | Free | 1–2 h |
🧩 | Create Your Kotlin Multiplatform Library Tutorial | JetBrains | How to use the official starter template, set up local Maven publishing, structure your library, and configure publishing. | Free | 2–3 h |
🧩 | Documentation | JetBrains | How to use Dokka to automatically generate professional API documentation for your KMP library in multiple formats, with support for mixed Kotlin/Java projects. | Free | 2–3 h |
🧩 | GitHub template | JetBrains GitHub | How to quickly bootstrap a new KMP library project using an official template that comes pre-configured with best practices for build setup and publishing. | Free | 1 h |
🧩 | Tutorial | JetBrains | The complete, step-by-step process for publishing your KMP library to Maven Central, including setting up credentials, configuring the publishing plugin, and automating the process with CI. | Free | 3–4 h |
🧩 | Kotlin Multiplatform Libraries Video course | LinkedIn Learning | The complete life cycle of creating a KMP library, from effective API design and code sharing strategies to final distribution and best practices. | ~$30–$40/month | 2-3 h |
🎚 | Resource / Type | Creator / Platform | You will learn | Price | Est. time |
|---|---|---|---|---|---|
🌱 | Article | JetBrains | The core value of KMP, real-world use cases, and guidance on choosing the right learning path. | Free | 30 min |
🌱 | Tutorial | JetBrains | How to set up a KMP project and share simple business logic between Android and iOS while keeping the UI fully native. | Free | 1–2 h |
🌱 | Get Started With Kotlin Multiplatform (Google Codelab) Tutorial | Android | How to add a shared KMP module to an existing Android project and integrate it with iOS, using the SKIE plugin to generate idiomatic Swift APIs from your Kotlin code. | Free | 1–2 h |
🌱 | Create Your First Compose Multiplatform App Tutorial | JetBrains | How to build a complete Compose Multiplatform app from the ground up, covering essential UI components, state management, and resource handling, as you progress from a simple template to a functional time zone app that runs on Android, iOS, desktop, and web. | Free | 2–3 h |
🌱 | Create a Multiplatform App Using Ktor and SQLDelight Tutorial | JetBrains | How to build a shared data layer using Ktor for networking and SQLDelight for a local database, and connect it to native UIs built with Jetpack Compose on Android and SwiftUI on iOS. | Free | 4–6 h |
🌱 | Expected and Actual Declarations Article | JetBrains | The core expect/actual mechanism for accessing platform-specific APIs from common code, covering different strategies like using functions, properties, and classes. | Free | 1–2 h |
🌱 | Using Platform-Specific APIs in KMP Apps Video tutorial | JetBrains YouTube | Best practices for using platform-specific code in your KMP apps. | Free | 15 min |
🌱 | Video course | Mykola Miroshnychenko Gumroad | How to extend your existing Android development skills to iOS by mastering KMP fundamentals like expect/actual and source sets, as well as building a complete app stack using modern libraries like Ktor for networking and Room for persistence. | ~$60 | 8–12 h |
🌱 | Kotlin Multiplatform Masterclass Video course | Petros Efthymiou Udemy | How to apply clean architecture and MVI from the ground up to build a complete KMP application, integrating a full stack of essential libraries – Ktor, SQLDelight, and Koin – with native Jetpack Compose and SwiftUI UIs. | €10–€20 | 6 h |
🌱 | Compose Multiplatform Full Course 2025 | Zero to Hero Video course | Code with FK YouTube | How to build a complete, feature-rich application entirely with Compose Multiplatform, progressing from the fundamentals to advanced, real-world features like Firebase Authentication, offline support with SQLDelight, and real-time updates. | Free | 20 h |
🌱 | Kotlin Multiplatform Development Video course | Colin Lee LinkedIn Learning | Architectural choices between Compose Multiplatform and native UIs, fundamentals of Swift interoperability, and a comprehensive overview of the essential KMP ecosystem for networking, persistence, and dependency injection. | ~$30–$40/month) | 3 h |
🌱 | Kotlin Multiplatform by Tutorials (Third Edition) Book | Kodeco Team (Kevin D. Moore, Carlos Mota, Saeed Taheri) | The fundamentals of sharing code by connecting native UI to a KMP shared module for networking, serialization, and persistence. You'll also see how to apply dependency injection, testing, and modern architecture to build maintainable and scalable real-world apps. | ~$60 | 40–60 h |
🎚 | Resource / Type | Creator / Platform | You will learn | Price | Est. time |
|---|---|---|---|---|---|
🌿 | Make Your Android Application Work on iOS Tutorial | JetBrains | The practical steps to migrate an existing Android app to KMP by extracting its business logic into a shared module that can be used by both the original Android app and a new native iOS project. | Free | 2 h |
🌿 | Migrate Existing Apps to Room KMP (Google Codelab) Tutorial | Android | How to migrate an existing Android Room database into a shared KMP module, allowing you to reuse your familiar DAOs and entities on both Android and iOS. | Free | 2 h |
🌿 | How to Share ViewModels in Compose Multiplatform (with Dependency Injection!) Video tutorial | Philipp Lackner YouTube | How to implement shared ViewModels in a Compose Multiplatform project using Koin for dependency injection, allowing you to write your state management logic once. | Free | 30 min |
🌿 | The Compose Multiplatform Crash Course 2025 Video course | Philipp Lackner YouTube | How to build a complete, production-ready book-reading app from scratch using a clean architecture, covering a modern KMP stack including Ktor for networking, Room for the local database, Koin for dependency injection, and multi-platform navigation. | Free | 5 h |
🌿 | Building Industry-Level Multiplatform Apps With KMP Video course | Philipp Lackner | How to build a real-world translator app by sharing ViewModels and business logic between native UIs (Jetpack Compose and SwiftUI), covering the full development life cycle from clean architecture to unit, UI, and end-to-end testing for both platforms. | ~€99 | 20 h |
🌿 | Building Industry-Level Compose Multiplatform Android and iOS Apps Video course | Philipp Lackner | How to build a large-scale, offline-first chat application from scratch using a complete Compose Multiplatform stack, including Ktor for real-time WebSockets, Room for local persistence, and Koin for multi-module dependency injection. | ~€199 | 34 h |
🌿 | Ultimate Compose Multiplatform: Android/iOS and Testing Video course | Hamidreza Sahraei Udemy | How to build a feature-rich virtual crypto wallet app entirely with Compose Multiplatform, covering not just the core stack (Ktor, Room, Koin) but also robust unit/UI testing and advanced platform integrations like biometric authentication. | ~€20 | 8 h |
🎚 | Resource / Type | Creator / Platform | You will learn | Price | Est. time |
|---|---|---|---|---|---|
🌳 | Article | JetBrains GitHub | Interoperability with iOS (Obj-C/Swift), SKIE, KMP-NativeCoroutines, workarounds for language feature gaps, Swift export, and bidirectional interop. | Free | 2 h |
🌳 | Multi-Modular Ecommerce App for Android and iOS (KMP) Video course | Stefan Jovanovic Udemy | The full product life cycle, from designing the UI of an e-commerce app in Figma to building it as a complete, multi-modular application with a shared UI using Compose Multiplatform, while also creating and integrating a full backend with Firebase services for authentication, database, and automated cloud functions. | ~€50 | 30 h |
🌳 | Exploring Ktor with Kotlin Multiplatform and Compose Video course | Troy Miles LinkedIn Learning | How to build a full-stack Kotlin application by first creating and deploying a secure Ktor backend to AWS and then using Kotlin Multiplatform to build native clients with shared code that consume your API. | ~$30–$40/month | 2-3 h |
🌳 | Full-Stack Game Development - Kotlin and Compose Multiplatform Video course | Stefan Jovanovic Udemy | How to build a complete 2D game with Compose Multiplatform, covering physics, collision detection, and sprite sheet animations, and how to deploy it across Android, iOS, desktop, and web (via Kotlin/Wasm). | ~€99 | 8–10 h |
🌳 | Philipp Lackner Full-Stack Bundle: KMP and Spring Boot Video course | Philipp Lackner | How to architect, build, and deploy a complete, full-stack chat application, covering everything from a multi-module Spring Boot backend with WebSockets to offline-first Compose Multiplatform clients (Android, iOS, desktop, web) and a full CI/CD pipeline. | ~€429 | 55 h |
🌳 | Article series | Touchlab | How to navigate the entire KMP adoption process within an established native mobile team, from securing initial buy-in and running a technical pilot to scaling the shared codebase with a sustainable real-world workflow. | Free | 6–8 h |
🎚 | Resource / Type | Creator / Platform | You will learn | Price | Est. time |
|---|---|---|---|---|---|
🧩 | API Guidelines for Multiplatform Library Building Documentation | JetBrains | How to design the public API of your multiplatform library, following essential best practices for maximizing code reuse and ensuring broad platform compatibility. | Free | 1–2 h |
🧩 | Create Your Kotlin Multiplatform Library Tutorial | JetBrains | How to use the official starter template, set up local Maven publishing, structure your library, and configure publishing. | Free | 2–3 h |
🧩 | Documentation | JetBrains | How to use Dokka to automatically generate professional API documentation for your KMP library in multiple formats, with support for mixed Kotlin/Java projects. | Free | 2–3 h |
🧩 | GitHub template | JetBrains GitHub | How to quickly bootstrap a new KMP library project using an official template that comes pre-configured with best practices for build setup and publishing. | Free | 1 h |
🧩 | Tutorial | JetBrains | The complete, step-by-step process for publishing your KMP library to Maven Central, including setting up credentials, configuring the publishing plugin, and automating the process with CI. | Free | 3–4 h |
🧩 | Kotlin Multiplatform Libraries Video course | LinkedIn Learning | The complete life cycle of creating a KMP library, from effective API design and code sharing strategies to final distribution and best practices. | ~$30–$40/month | 2-3 h |