architecture-samples icon indicating copy to clipboard operation
architecture-samples copied to clipboard

Support Compose Multiplatform

Open qamarelsafadi opened this issue 2 years ago • 1 comments

qamarelsafadi avatar Jun 18 '23 13:06 qamarelsafadi

Description Currently, the project does not support JetBrains Compose Multiplatform, which limits its adaptability across desktop (Windows, macOS, Linux), Android, and potentially web platforms using the same codebase.

Why It Matters Unified UI Development: Compose Multiplatform allows sharing UI code across Android, Desktop, and Web.

Better Developer Experience: Compose simplifies UI creation using Kotlin, reducing the need to learn multiple frameworks.

Modern Architecture: Kotlin Multiplatform + Compose enables scalable and maintainable projects.

What’s Needed To enable Compose Multiplatform:

Refactor UI Layer to use @Composable functions instead of platform-specific views.

Migrate Project to KMP Setup:

Use kotlin { jvm() android() ... } in Gradle.

Include the compose-multiplatform plugin.

Adopt Compose APIs:

Use Window from org.jetbrains.compose.desktop for desktop apps.

Use androidx.compose.* for Android views.

Setup Gradle Modules:

:shared for common code (ViewModels, UseCases, etc.)

:androidApp, :desktopApp for platform-specific needs.

Example Template You can refer to JetBrains official sample: https://github.com/JetBrains/compose-multiplatform-template

VaradGupta23 avatar Jul 15 '25 13:07 VaradGupta23