样例

This is a curated list of Kotlin Multiplatform Mobile samples.

Do you have a great sample that you would like to add to the list?
Feel free to create a pull request and tell us about it! You can use this PR example for reference.

Sample name What's shared? Popular libraries used UI Framework iOS integration Platform APIs Tests JS target Features
Kotlin Multiplatform Mobile Sample Algorithms - XML, SwiftUI Xcode build phases - -
  • expect/actual declarations
KMM RSS Reader Models, Networking, Data Storage, UI State SQLDelight, Ktor, DateTime, multiplatform-settings, Napier, kotlinx.serialization Jetpack Compose, SwiftUI Xcode build phases - -
  • Redux for sharing UI State
  • Published to Google Play and App Store
KaMPKit Models, Networking, Data Storage, ViewModels Koin, SQLDelight, Ktor, DateTime, multiplatform-settings, Kermit Jetpack Compose, SwiftUI CocoaPods - - -
moko-template Models, Networking, Data Storage, ViewModels Moko Libraries, Ktor, multiplatform-settings - CocoaPods - -
  • Modular architecture
  • Shared features: Resource management, Runtime permissions access, Media access, UI lists management
  • Network layer generation from OpenAPI.
PeopleInSpace Models, Networking, Data Storage Koin, SQLDelight, Ktor Jetpack Compose, SwiftUI CocoaPods, Swift Packages -
    Targets list:
  • Android Wear OS
  • iOS
  • watchOS
  • macOS Desktop (Compose for Desktop)
  • Web (Compose for Web)
  • Web (Kotlin/JS + React Wrapper)
  • JVM
GitFox SDK Models, Networking, Interactors Ktor XML, UIKit Xcode build phases - -
  • Integrated into Flutter app
D-KMP-sample Networking, Data Storage, ViewModels, Navigation SQLDelight, Ktor, DateTime, multiplatform-settings Jetpack Compose, SwiftUI Xcode build phases -
  • Implements the MVI pattern and the unidirectional data flow
  • Uses Kotlin's StateFlow to trigger UI layer recompositions
Food2Fork Recipe App Models, Networking, Data Storage, Interactors SQLDelight, Ktor, DateTime Jetpack Compose, SwiftUI CocoaPods - - - -
kmm-ktor-sample Networking Ktor, kotlinx.serialization, Napier XML, SwiftUI Xcode build phases - - -
Currency Converter Calculator Models, Networking, Data Storage, Algorithms, ViewModels Ktor, SQLDelight, koin, moko-resources, kotlinx.datetime, multiplatform-settings XML, SwiftUI CocoaPods -
  • Logic shared with the backend
todoapp Models, Networking, Presentation, Navigation and UI SQLDelight, Decompose, MVIKotlin, Reaktive Jetpack Compose, SwiftUI Xcode build phases -
  • 99% of the code is shared
  • MVI architectural pattern
  • Shared UI across Android, Desktop and Web via Compose Multiplatform
kmm-arch-demo Models, Networking, ViewModels, UI State Ktor, kotlinx.serialization XML, SwiftUI CocoaPods - - -
  • Uses Arch, a Kotlin Multiplatform Mobile library that is based on Spotify’s Mobius library but uses SharedFlow, StateFlow and coroutines instead of RxJava
Codeforces WatchR Models, Networking, Data Storage, UI State SQLDelight, Ktor, kotlinx.serialization XML, UIKit CocoaPods -
  • Uses Redux (ReKamp) for sharing UI State
  • Published to Google Play and App Store
CatViewerDemo Models, Networking, Data Storage, ViewModels Ktor, multiplatform-settings, kotlinx.serialization Jetpack Compose, SwiftUI Xcode build phases -
  • Android Architecture
  • Pagination
  • Works on M1
  • GitHubActions CI
  • Cats 🐈
Praxis KMM Models, Networking, Data Storage kotlinx.serialization, Ktor, Koin, SQLDelight Jetpack Compose, SwiftUI, ReactJS CocoaPods, Swift Packages -
    Targets list:
  • iOS
  • Android
  • Android Wear OS
  • watchOS
  • macOS Desktop (Swift UI)
  • Web (Kotlin/JS + React Wrapper)
Bookshelf Models, Networking, Data Storage Realm-Kotlin, Ktor, kotlinx.serialization Jetpack Compose, SwiftUI CocoaPods - - -
  • Uses Realm for data persistence
kotlin-with-cocoapods-sample - - - CocoaPods - - -
multitarget-xcode-with-kotlin-cocoapods-sample - - - CocoaPods - - - -
mpp-sample-lib Algorithms - - - -
  • Demonstrates how to create a multiplatform library (tutorial)