KMP-App-Template
This is a basic Kotlin Multiplatform app template for Android, iOS, desktop, and web. It includes shared business logic and data handling, and a shared UI implementation using Compose Multiplatform.
The template is also available with native UI written in Jetpack Compose and SwiftUI.
The
kotlin-toolchainbranch showcases the same project configured with the Kotlin Toolchain.

Running the apps
Use the run configurations provided by the run widget in your IDE's toolbar (make sure that you have the Kotlin Multiplatform plugin installed.
You can also use these commands and options:
- Android app:
./gradlew :androidApp:assembleDebug - Desktop app:
./gradlew :desktopApp:hotRun --auto - Web app:
./gradlew :webApp:wasmJsBrowserDevelopmentRun - iOS app: open the iOS project in Xcode and run it from there.
Technologies
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:
- Compose Multiplatform for UI
- Compose Navigation
- Ktor for networking
- kotlinx.serialization for JSON handling
- Coil for image loading
- Koin for dependency injection
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.
