Android | Desktop | Web |
---|---|---|
This is a demo application implementing a simple counter using Kotlin Compose Multiplatform, it targets mobile (Android), desktop (Linux) and Web (using Compose Web).
The architecture of the project follows Clean Architecture and MVVM. Dependency injection is made using
kodein-di
.
The structure of the project is as follows:
common
: contains the domain, data, use cases and the common presentation layer (in this case, view models). Also includes the DI module to provide the View Models.android
: depends oncommon
, implements the Android framework-dependent elements (in this case, the Main Activity) and Android UI.desktop
: depends oncommon
, implements the Linux Desktop UI.web
: depends oncommon
, implements the web UI using Compose web.
Each platform (Android, Linux, Web) implements its own UI presentation, the view model is shared. All UIs are implemented using Compose, on all platforms.
Sources that were used for this project: