Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tberchanov/androidtokmp
https://github.com/tberchanov/androidtokmp
Last synced: 11 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/tberchanov/androidtokmp
- Owner: tberchanov
- Created: 2024-11-06T18:24:07.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-06T18:50:48.000Z (2 months ago)
- Last Synced: 2024-11-06T19:43:21.993Z (2 months ago)
- Language: Kotlin
- Size: 102 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AndroidToKMP
This is a sample project to demonstrate how to convert an existing Android project to a Kotlin Multiplatform project.
| | Android | iOS |
|----------|---------|-----|
| Branch | `main` | `kmp_ios` |
| DI | 🟢 Koin | 🟢 Koin |
| Presentation layer | 🟢 ViewModel | 🟢 ViewModel |
| Domain layer | 🟢 Coroutines | 🟢 Coroutines |
| Data layer | 🟢 DataStore
🟡 Gson
🟡 OkHttp
🟡 Retrofit | 🟢 DataStore
🟡 KotlinxSerialization
🟡 Ktor
🟡 Ktorfit |🟢 - Migration was KMP friendly, without significant changes.
🟡 - Migration to another library was needed.UI is not shared and implemented natively, XML is for Android, and SwiftUI is for iOS.
This project showcases the scenario for migration when an Android app may have a lot of XML UI and full migration to Compose may not be an option.
In such a scenario, migration to KMP can still be beneficial as it allows for the sharing of a significant part of logic at a low cost.
| Android | iOS |
| |
|---------|-----|
|#### To see the step by step migration flow to KMP go throug commits history: