Hello, I have a question related more to the arhit...
# compose
c
Hello, I have a question related more to the arhitecture of the application or what it’s the best practices? When are you creating screens are you creating on each platform. on iOS (SwiftUI screen) and on Android (compose screens) ?
r
Hi! 1. Compose Multiplatform (CMP): You write the UI once, and it works everywhere like Flatter. 2. Native UI (Compose + SwiftUI, etc.): This option is chosen for complex work with iOS system APIs, custom animations, or support for specific platforms (e.g., watchOS). Using the Decompose library, you can extract all business logic, state, and navigation into shared Kotlin code (I have it in a feature module). With this approach, the UI layer becomes "dumb." You can start a project using Compose Multiplatform, and if your business requires a native iOS interface in the future, you can gradually rewrite the screens in SwiftUI without touching the shared logic at all. Here are my open source projects: Native UI version (Compose for Android, SwiftUI for iOS/macOS/watchOS, Kotlin React, Compose Wear): https://github.com/yet300/TetrisLite Completely Compose Multiplatform version: https://github.com/yet300/BlockBlast
decompose intensifies 1
f
You can also find some tips here if you go for Native Screen