Skip to content
This repository has been archived by the owner on Jul 1, 2023. It is now read-only.

makeevrserg/KMM-Playground

Repository files navigation

KMM Playground [Deprecated]

See real life implementation of KMM application on Empire Projekt Mobile

Platforms

  • IOS - shared logic; native UI
  • JVM - shared logic and Compose UI
  • Android - shared logic and Compose UI
  • JS - Not yet implemented

This example provides:

  • 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

The Stack

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

Directory structure

├── 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