Multiplatform App Development in Kotlin (part 1)
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
– 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/Android, but have no/little experience with Kotlin Multiplatform. A detailed setup guide will be provided in advance of the workshop. You will require a MacBook with Android Studio and Xcode installed.