Kotlin Multiplatform(KMP)结合 Compose Multiplatform 正在成为跨平台开发的热门选择,它允许开发者用一套代码构建 Android、iOS、桌面(Windows/macOS/Linux)和 Web 应用。以下是一个实战指南,涵盖核心概念和代码示例。
1. 环境搭建
-
工具要求:
- Android Studio 或 IntelliJ IDEA(安装 Kotlin Multiplatform 插件)
- Xcode(用于 iOS 编译)
- JDK 11+
- 配置
gradle.properties
:kotlin.native.cacheKind=none # 避免 iOS 编译缓存问题
-
新建项目:
使用 Kotlin Multiplatform Wizard 快速生成跨平台项目模板,勾选 Compose Multiplatform 支持。
2. 项目结构
典型的多平台项目结构:
shared/
src/
commonMain/ # 公共代码(Compose UI、业务逻辑)
androidMain/ # Android 平台特定代码
iosMain/ # iOS 平台特定代码
desktopMain/ # 桌面端代码
androidApp/ # Android 应用模块
iosApp/ # iOS Xcode 项目
desktopApp/ # 桌面端启动模块
3. 编写共享 Compose UI
在 shared/src/commonMain/kotlin
中创建跨平台组件:
// 共享的 Compose 组件
@Composable
fun Greeting(name: String) {
Text(
text = "Hello, $name!",
modifier = Modifier.padding(16.dp),
color = Color.Blue
)
}
// 平台无关的 ViewModel
class SharedViewModel {
private val