SuperAPI AI 工具集

kmp-navigation

通用与其它

查看项目

更新于 10-15 19:52

技能介绍

用途:为 Kotlin Multiplatform 项目提供跨平台导航策略,覆盖共享代码与各平台原生导航的衔接。

主要能力:资料列出三种方案。Voyager(被标注为推荐)通过 Navigator 与 Screen 组合实现导航,依赖 cafe.adriel.voyager:voyager-navigator 与 voyager-screen-model;Decompose 通过 Config 与 Navigator 管理导航栈,依赖 com.arkivanov.decompose:decompose 与 extensions-compose-jetpack;平台原生桥接用 expect/actual 定义 Navigator 接口,Android 侧接 Compose Navigation 的 NavHost,iOS 侧包装 SwiftUI NavigationStack。此外还包含标签导航(Voyager TabNavigator、Decompose 手动 Tab 切换)、深链解析(fromDeepLink 按 URL 匹配 Home/Detail)、类型安全参数(sealed class + Parcelable/Serializable,含默认值)以及状态保持(Voyager ScreenModel 加载数据)。

使用方式:在 build.gradle.kts 添加对应依赖,在 commonMain 定义 Screen/Config 与导航入口,在平台源集实现 actual 或桥接。示例命令与代码保持原样,未提供安装命令。

适用场景:需要在 Android 与 iOS 间共享导航逻辑、统一路由与参数传递的 KMP 应用。

限制:资料未提供版本兼容性、性能对比、迁移成本与官方文档链接;选择建议仅为“Voyager 求简单、Decompose 求控制、平台原生求完整平台特性”,具体取舍需自行评估。