Masterclasses
GOTO Copenhagen 2023

Thursday Oct 5
09:00 –
17:00

Multiplatform App Development in Kotlin

Create real world applications that run on Android, iOS, Desktop and even WebAssembly

Kotlin Multiplatform extends the Kotlin ecosystem far beyond the JVM and Android. You can compile applications natively for iOS or Linux, and even target WebAssembly. Libraries like Compose, Ktor and Koin let you create rich multiplatform clients that can communicate with remote services and databases.

In this workshop we will show you how a single codebase can be used to create applications that target multiple platforms. We will incrementally build a sample application from scratch, layering on testing, dependency injection, database access, REST and concurrency as we go.

The workshop will enable you to:

  • Set up multiplatform projects via wizards and templates
  • Manage codebases with common and platform specific source sets
  • Add unit and integration tests, via libraries like kotlin.test and Kotest
  • Declaratively specify the User Interface via Compose Multiplatform
  • Apply MVVM architecture and share View Models across platforms
  • Use the Ktor client and coroutines to interact with RESTful services
  • Perform Dependency Injection via frameworks such as Koin
  • Access several kinds of data stores via multiplatform libraries

This workshop is intended for experienced developers who are proficient in Kotlin or a related language (such as Swift, Scala, Rust or Java 17+). A detailed setup guide will be provided in advance of the workshop. You will require a MacBook with Android Studio and Xcode installed.