See real life implementation of KMM application on Empire Projekt Mobile
- IOS - shared logic; native UI
- JVM - shared logic and Compose UI
- Android - shared logic and Compose UI
- JS - Not yet implemented
- Shared resources usage(Strings, Images)
- Shared navigation usage via Decompose
- Shared logic usage via MVI-Kotlin and moko-MVVM
- Shared UI via decompose on Desktop/Android
- DI without fraemwork
What | Library |
---|---|
DI | ServiceLocator |
Async | Coroutines |
Navigation | Decompose |
MVI | MVI-Kotlin |
UI-Shared | Compose |
UI-ios | SwiftUI |
Resources | MokoResources |
MVVM | Moko-MVVM |
Local settings | russhwolf-MPP Setting |
├── build-logic # Build convention
├── desktop # Desktop/Android app
├── iosApp # IOS native swiftUI + Storyboard app
├── shared # shared code
├── modules # Shared UI for Desktop/Android
│ ├── features # Authorize Screen
│ │ └── shared-ui # Shared UI JBCompose
│ ├── services
│ │ ├── core # Core data
│ │ ├── core-ui # Core ui
│ │ ├── data-preferences # Local preferences
└── └── └── resources # Resources