Kotlin Multiplatform Development

Kotlin Multiplatform Development

2h 34mIntermediate2025-05-21

Authors

Colin Lee

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.

Skills covered

KotlinCross-Platform DevelopmentMobile DevelopmentProgramming LanguagesOpen SourceSoftware DevelopmentOne-Off

Concepts

Introduction

  • Kotlin multiplatform development
  • What you should know

Creating Our First Multiplatform App

  • The problem Kotlin Multiplatform solves
  • Comparison with alternatives
  • Supported platforms and performance
  • Just what the KDoctor ordered
  • Android studio for KMP
  • Xcode for KMP
  • Crafting a template with the Kotlin Multiplatform wizard

Combining Native with Multiplatform

  • Building our first multiplatform app
  • Whether to use Compose Multiplatform
  • Expect and actual
  • An actual example
  • Accessing operating system methods
  • Multiplatform project structure

KMP and Swift

  • Using Kotlin from Swift code
  • Making it easier with Swift export
  • KMP together with SwiftUI

Architecture

  • Recommended architecture with MVVM
  • Google ViewModel

Sharing Network

  • Adding Ktor to your project
  • Modeling with Kotlinx-serialization
  • Making network requests
  • Apollo GraphQL

Sharing Database

  • Adding SQLDelight to your project
  • Setting up your database and adding objects
  • Creating queries
  • Going with the flow

Quality of Life

  • Kermit for logging
  • Managing resources
  • KOIN for dependency injection
  • Storing values in multiplatform-settings
  • Dates in Kotlinx-datetime

Conclusion

  • Next steps
80,000 Toman