This is the official sample of the D-KMP architecture, presenting a simple master/detail app, for both Android and iOS.
For more info on the D-KMP Architecture, please read the relevant Medium article.
- it uses the latest declarative UI toolkits: JetpackCompose for Android and SwiftUI for iOS
- it fully shares the ViewModel (and the DataLayer) via Kotlin MultiPlatform
- it implements the MVI pattern and the unidirectional data flow
- it uses Kotlin's StateFlow for the multi-platform observable mechanism
- it implements the CQRS pattern, by providing 2 types of functions to the UI layer: Events and StateProviders
- webservices (using Ktor Http Client)
- local settings (using MultiplaformSettings)
- local db (using SqlDelight)
- realtime db (using Firestore)
- graphQL (using Apollo GraphQL)
- device bluetooth (using Kable)
- etc...