This talk will use the various Kotlin Multiplatform (KMP) samples I've been working on over the last 5+ years to provide a guided tour of some of the libraries/patterns used within them.
It will include overview and examples of how the following KMP/CMP libraries are used in the samples:
- Persistence: SQLDelight, Realm, Apollo Kotlin, Multiplatform Settings, Jetpack DataStore
- Remote API requests: Ktor, Apollo Kotlin
- Dependency Injection: Koin
- ViewModel/Component sharing: KMP-ObservableViewModel Jetpack ViewModel, Decompose, Molecule
- Navigation: Voyager, Jetpack Navigation
- Swift/Kotlin interop: KMP-NativeCoroutines, SKIE
- AI: Generative AI SDK
- Packaging: Multiplatform Swift Package
- Compose Multiplatform: Window Size Class, Coil, KoalaPlot, Compose on iOS
It will also cover examples from the various clients which were developed using:
- SwiftUI (on iOS, watchOS, and macOS)
- Jetpack Compose (on Android and Wear OS)
- Compose Multiplatform on Desktop, Web (using Wasm) and iOS (also includes examples of sharing Compose UI across multiple platforms).