用途:为使用 Compose Multiplatform 与 Jetpack Compose 构建 Android、iOS、桌面和 Web 共享 UI 的 KMP 项目提供模式参考,覆盖状态管理、导航、主题与性能。
主要能力:状态管理推荐 ViewModel 配合单一状态数据类,以 StateFlow 暴露并用 collectAsStateWithLifecycle 收集;复杂界面可用 sealed interface 事件汇聚为单一 onEvent 回调。导航支持 Compose Navigation 2.8+ 的类型安全路由(@Serializable 路由对象、composable<T>、toRoute),以及 dialog 与底部弹层导航。组件设计提倡插槽式 API 与 Modifier 顺序(布局、形状、绘制、交互)。KMP 平台特定 UI 用 expect/actual 声明平台组件。性能方面建议用 @Stable/@Immutable 标记稳定类型、Lazy 列表使用稳定 key、用 derivedStateOf 延迟读取、避免重组中分配对象。主题使用 Material 3 动态取色。
使用方式:资料未提供安装命令或具体接入步骤,仅给出代码模式示例,需结合项目自行应用。
适用场景:构建 Compose UI、用 ViewModel 管理界面状态、在 KMP 或 Android 项目实现导航、设计可复用组件与设计系统、优化重组与渲染性能。
限制:资料未说明支持的版本范围、平台差异细节或收费信息;反模式部分提醒避免在 ViewModel 中使用 mutableStateOf、深层传递 NavController、在 @Composable 中做重计算、用 LaunchedEffect(Unit) 替代 ViewModel init、在参数中创建新对象。相关模块结构与协程模式另见 android-clean-architecture 与 kotlin-coroutines-flows 技能。