KMPTemplate
KMPTemplate copied to clipboard
A KMP Template targeting Multiplatform Compose Android, IOS and Desktop. Get started with zero effort.
KMPTemplate
Featured in Kotlin weekly and Kotlin weeekly
The KMPTemplate is designed to help developers build applications for three platforms:
- Android
- iOS
- Desktop
This is built to reduce the effort of configuring all the targets together such as Compose for Ios which currently does not have an ios target when creating a new compose multiplatform project using intellij idea.

How it works?
KMPTemplate leverages the power of Kotlin Multiplatform and Compose Multiplatform to create a unified codebase for all target platforms. Here's how it works for each platform:
- Android: Runs natively on Android devices.
- iOS: Utilizes UIKit under the hood for seamless integration with iOS devices.
- Desktop: Employs the Skia Library to provide native-like performance on desktop platforms.
Template Features
The KMPTemplate comes with several preconfigured features to accelerate your development process:
- Version Catalogs
- Compose Multiplatform
- Koin for dependency injection
- Ktor for networking
- Kotlin serialization
- Multiplatform image viewer
Is it production-ready?
KMPTemplate can be considered both production-ready and not production-ready, depending on your requirements. You can use the UIControllers generated by Compose alongside SwiftUI or UIKit to share the UI across platforms. For platform-specific features like camera and sensors, you can utilize SwiftUI or UIKit.
If you have any suggestions or find a bug, please add it to the issues.
Troubleshooting
MacOS on Apple Chip (M1/M2)
If you encounter the error 'pod install' command failed with code 1. run the following commands in the terminal:
sudo softwareupdate --install-rosetta --agree-to-license
sudo gem uninstall ffi && sudo gem install ffi -- --enable-libffi-alloc