Example of application using Kotlin Multiplatform and MVVM pattern for both platforms (Android & iOS). To achieve it the libraries used are:
- moko-mvvm: This is a Kotlin Multiplatform library that provides architecture components of Model-View-ViewModel for UI applications. Components are lifecycle-aware on Android.
- KTOR: to make HTTP requests
- Serialization: to De/Serializing JSON
- Kodein-DI: Dependency injector
- kotlinx.coroutines: Library support for Kotlin coroutines with multiplatform support
- SQLDelight: SQLDelight generates typesafe kotlin APIs from your SQL statements.
Run gradlew build
from the root of the project. After a successful build, you should be able to install the app on both Android and iOS.
If you are unable to run the project in Xcode, you may need to add
-lsqlite3
toOther Linker Flags
as mentioned here