Compose Multiplatform + SwiftUIのハイブリッドCMP開発手法 by 森大海

Kotlin Fest 2025
ショート(20分)
Kotlin Multiplatform/Compose Multiplatform 中級者

Compose Multiplatform + SwiftUIのハイブリッドCMP開発手法

森大海

CMPのiOS版がStableとなり、UIを一つのコードで表現できるようになりました。しかし、iOS側のUIがマテリアルデザインになってしまうというデザイン制約から、CMPではなくKMPを選択することも多いのではないでしょうか。

本セッションでは、大部分のUIをComposeで共通化し、iOS特有のこだわりがあるUIをSwiftUIで記述するハイブリッドCMP開発の手法についてご紹介します。この手法はiosAppモジュールに配置したSwiftUIをKoinでsharedモジュールに提供し、画面単位またはUIパーツ単位でSwiftUIをComposeの画面に埋め込むことで実現できます。これによりCMPの利点であるUIのコード共通化を行いつつ、デザイン自由度の制約を最小限にできます。

このセッションを通じ、iOSのUIにも妥協したくない人がCMPという選択肢を選べることを願っています。