Skip to content

Latest commit

 

History

History
42 lines (36 loc) · 5.41 KB

README.md

File metadata and controls

42 lines (36 loc) · 5.41 KB

AndroidToKMPState

State of popular libraries/APIs in Android apps and their KMP support state

KMP support - support Kotlin Multiplatform with more than one target

Android libraries

Library/Techology Has KMP support Supported Targets KMP Alternatives Useful Links
Jetpack Room in 2.7 (base features only) Android, iOS, JVM SQLDelight Guide "Migrate Room to KMP"
Moshi KotlinX Serialization
Jetpack Paging -
Jetpack Collections Kotlin stdlib
Jetpack Viewmodel - Using Common ViewModel
Jetpack Lifecycle - Using Common Lifecycle
Jetpack Livedata StateFlow from KotlinX Coroutines, Reaktive
Jetpack Compose JetBrains Compose Multiplatform Android, Desktop JVM, iOS (Beta), WASM (Alpha) -
Android Resources Compose Multiplatform Resources
Jetpack Compose Navigation Jetbrains Compose Navigation Android, iOS, JVM Voyager, Decompose, Appyx, PreCompose Using Common Navigation
Glide - CoIL, Kamel, Compose ImageLoader -
CoIL 3.0 Android, JVM, iOS, macOS, JS, WASM - Coil KMP Migration
Shared Preferences - Jetpack DataStore -
Jetpack DataStore 1.1.0 Android, iOS, JVM, Linux, macOS, JVM - -
Build Config (AGP feature) - - BuildKonfig -

JAVA libraries

All libraries that has been writtent in Java or Kotlin for JVM and can be used only on JVM or Android. They have no planned KMP support or possibility to do it in future. Projects that use libraries/APIs from the table below must be replaced to use in KMP projects.

Library/Techology KMP Alternatives Useful Links
Retrofit Ktorfit
OkHttp Ktor Client
RxJava Reaktive, KotlinX Coroutines + Flow
APT/KAPT KSP
Java Dynamic Proxy Code generation with KSP/Gradle
Java Date KotlinX-datetime
GSON KotlinX Serialization
Java I/O, Java NIO OkIO
Dagger/Hilt Koin, Kodein, Manual DI, etc.
Timber Khronicle