In this session, we explain a hybrid development approach that combines Compose Multiplatform with each platform’s native UI frameworks—Jetpack Compose on Android and SwiftUI on iOS. In our production project, we shared business logic with Kotlin Multiplatform and chose the most suitable framework for each platform at the UI layer. We will demonstrate techniques for embedding Compose Multiplatform screens in a SwiftUI-based iOS app, and conversely invoking SwiftUI components (such as Map and other iOS-native UI) from within a Compose screen. This lets us leverage platform-specific UI/UX—iOS design language and standard components—while gaining efficiency through shared business logic and partial UI code sharing. We will also discuss strategies for code separation: criteria for deciding whether to implement each screen or component in Compose or SwiftUI, and design patterns for controlling both UIs from a KMP-defined ViewModel. Finally, we share practical insights on the advantages and disadvantages of coexisting native and cross-platform UIs, phased Compose adoption in existing apps, and impacts on the development workflow. (Translated by the DroidKaigi Committee)
Yena Hwang KINTO Technologies Corporation, Assistant Manager
Intermediate mobile developers interested in introducing Kotlin Multiplatform or combining Compose and SwiftUI for cross-platform development.
Nasty Dependencies: Surviving and fixing bugs in 3rd-party libraries
Yury
#Development Tools and Services
Cache Me If You Can
RyuNen344
#Development Tools and Services
Challenges developing an Android based system for 2-wheel vehicles
Luke Carwardine
#Android Platform