Building Shared UIs Across Platforms With Compose
summary
A sample SwiftUI app converts a single image list to shared UI using Kotlin Multiplatform and Compose, rendering on iOS via Skia bindings (SECO) through a Compose UI ViewController bridge and running successfully in Xcode. State and business logic share via molecule + moco (frame clock driven with CADisplayLink), images load with Camel, networking uses Ktor patterns, and Kotlin Multiplatform preview 1.5.10 is noted as the current release.
AI-written summary · about
chapters (18)
- 0:00Introduction and motivation
- 1:07Why share UI between platforms
- 2:54Two approaches to shared UIs
- 4:00Demo setup and goals
- 7:40Project structure and setup
- 9:06Bridging Compose and SwiftUI
- 11:10How Skia enables rendering on iOS
- 13:40Compose UI controller internals
- 15:05Sharing view models with Molecule
- 17:53Lifecycle-aware view models with Moco
- 21:07Handling events and state in shared UIs
- 23:20Image loading in shared components
- 25:08Alternative architecture choices
- 25:28Using SwiftUI inside Compose
- 27:57Using UIKit inside Compose
- 30:47Platform-specific UI components
- 31:50Recent updates and roadmap
- 32:37Personal growth and closing
related talks
40mBuilding Multiplatform Apps with Compose
46mMultiplatform UI with Compose
45mShared mobile UIs with Compose Multiplatform
45mThe Adventures of Kotlin And Compose Through the Multiplatform World
47mCross-Platform Redux and SwiftUI / Jetpack Compose
34mBeyond the UI: Compose as a Foundation for Multiplatform Apps
41mSharing and Separation — Design Guidelines for Compose Multiplatform Production Adoption
36mBest Practices for Developing Amazing Kotlin Multiplatform Apps
