https://github.com/Kotlin/KMP-App-Template-Native
Kotlin Multiplatform app template with native UI
https://github.com/Kotlin/KMP-App-Template-Native
android ios jetpack-compose kotlin kotlin-multiplatform swiftui
Last synced: 3 months ago
JSON representation
Kotlin Multiplatform app template with native UI
- Host: GitHub
- URL: https://github.com/Kotlin/KMP-App-Template-Native
- Owner: Kotlin
- License: apache-2.0
- Created: 2023-10-17T10:40:20.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-07-02T10:41:03.000Z (6 months ago)
- Last Synced: 2025-07-02T11:43:03.644Z (6 months ago)
- Topics: android, ios, jetpack-compose, kotlin, kotlin-multiplatform, swiftui
- Language: Kotlin
- Homepage: https://kmp.jetbrains.com
- Size: 1.94 MB
- Stars: 220
- Watchers: 5
- Forks: 29
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-list - Kotlin/KMP-App-Template-Native - Kotlin Multiplatform app template with native UI (Kotlin)
README
# Kotlin Multiplatform app template
[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
[](https://opensource.org/licenses/Apache-2.0)
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](https://github.com/kotlin/KMP-App-Template).
>
> The [`amper` branch](https://github.com/Kotlin/KMP-App-Template-Native/tree/amper) showcases the same project configured with [Amper](https://github.com/JetBrains/amper).

### Technologies
The data displayed by the app is from [The Metropolitan Museum of Art Collection API](https://metmuseum.github.io/).
The app uses the following multiplatform dependencies in its implementation:
- [Ktor](https://ktor.io/) for networking
- [kotlinx.serialization](https://github.com/Kotlin/kotlinx.serialization) for JSON handling
- [Koin](https://github.com/InsertKoinIO/koin) for dependency injection
- [KMP-ObservableViewModel](https://github.com/rickclephas/KMP-ObservableViewModel) for shared ViewModel implementations in common code
- [KMP-NativeCoroutines](https://github.com/rickclephas/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](https://github.com/terrakok/kmp-awesome) repository.
And the following Android-specific dependencies:
- [Jetpack Compose](https://developer.android.com/jetpack/compose)
- [Navigation component](https://developer.android.com/jetpack/compose/navigation)
- [Coil](https://github.com/coil-kt/coil) for image loading