This is a basic Kotlin Multiplatform app template for Android and iOS. It includes shared business logic and data handling, and native UI implementations using Jetpack Compose and SwiftUI.
The template is also available with shared UI written in Compose Multiplatform.
The
amper
branch showcases the same project configured with Amper.
The data displayed by the app is from The Metropolitan Museum of Art Collection API.
The app uses the following multiplatform dependencies in its implementation:
- Ktor for networking
- kotlinx.serialization for JSON handling
- Koin for dependency injection
- KMP-ObservableViewModel for shared ViewModel implementations in common code
- KMP-NativeCoroutines
These are just some of the possible libraries to use for these tasks with Kotlin Multiplatform, and their usage here isn't a strong recommendation for these specific libraries over the available alternatives. You can find a wide variety of curated multiplatform libraries in the kmp-awesome repository.
And the following Android-specific dependencies:
- Jetpack Compose
- Navigation component
- Coil for image loading