共享业务逻辑
在 commonMain 中编写一次网络请求、数据解析、业务规则,Android 和 iOS 共同复用,告别重复劳动。
原生 UI 体验
各平台保留原生 UI 框架(Jetpack Compose / SwiftUI),不牺牲用户体验,平台特性完整呈现。
Compose Multiplatform
可选择使用 Compose Multiplatform 共享 UI 代码,一套 Compose 代码运行在 Android、iOS 和桌面端。
接近原生性能
iOS 端编译为原生机器码,Android 端运行在 JVM/ART 上。无 JavaScript 桥接,无虚拟机开销。
JetBrains 生态
Ktor Client 网络请求、SQLDelight 数据库、Kotlinx.Serialization JSON 解析,完整的多平台工具链。
渐进式迁移
可从现有 Android 项目逐步引入 KMP,无需重写整个应用,风险可控,收益即时可见。
KMP 简介与生态
KMP vs Flutter vs React Native 架构对比,expect/actual 核心机制,支持平台概览
环境搭建与项目创建
JDK / Android Studio / Xcode 安装,KMP Wizard 创建项目,目录结构详解
共享模块架构
commonMain / expect / actual,Kotlinx 系列库,三层架构实践,版本目录管理
网络层(Ktor Client)
多平台 HTTP 引擎配置,ContentNegotiation,Bearer Token 认证,ApiClient 封装
本地数据库(SQLDelight)
SQL 生成类型安全 Kotlin API,多平台驱动,离线缓存,数据库迁移
状态管理与 ViewModel
Coroutines + Flow,StateFlow 状态流,共享 ViewModel,iOS Flow 互操作
Android UI(Jetpack Compose)
Compose 消费共享 ViewModel,Koin 依赖注入,Coil3 图片加载,Material 3
iOS UI(SwiftUI)
Framework 集成,Swift 调用 Kotlin,SKIE 库简化 Flow 消费,完整 iOS 实战
Compose Multiplatform 共享 UI
composeApp 模块,平台差异处理,CMP 导航,资源共享(图片/字体/字符串)
测试、发布与最佳实践
kotlin.test 单元测试,XCFramework 发布,GitHub Actions CI/CD,选型建议