Compose Multiplatform 用于 Kotlin:完整指南
\n\n欢迎阅读最详细的 Compose Multiplatform (CMP) 指南——这是 JetBrains 的现代技术,允许您使用统一的 Kotlin 代码为 Android、iOS、桌面端(Windows、macOS、Linux)和 Web 创建原生用户界面。在本文中,我们将涵盖所有内容:从安装到高级技术和最佳实践。
\n\n1. 这是什么以及为什么需要它?
\n\nCompose Multiplatform 是一个声明式用户界面构建框架,基于 Google 的 Jetpack Compose,但扩展以支持多个平台。与传统方法(例如,Android 的单独 XML 布局和 iOS 的 SwiftUI)不同,CMP 允许您编写一次 UI 逻辑,并将其编译为每个目标平台的原生代码。
\n\n为什么需要它?首先,这可以大幅缩短开发时间:您只需维护一个代码库,而不是两个或更多。其次,UI 一致性:应用程序的业务逻辑和外观在所有平台上都是相同的,从而简化了测试和维护。第三,访问原生 API:您可以通过 expect/actual 机制使用平台特定代码(例如,相机或地理位置),而无需离开 Kotlin 生态系统。
\n\nCompose Multiplatform 非常适合初创公司、产品团队以及希望覆盖最大受众而无需重复工作的开发者。该库由 JetBrains 和社区积极开发,截至 2025 年,它是跨平台开发领域最有前景的解决方案之一。
\n\n2. 安装
\n\n由于 Compose Multiplatform 不是传统意义上的库(如 pip 包),而是一组用于 Gradle 的插件和配置,因此安装是通过 Kotlin Multiplatform 构建系统完成的。以下是创建新项目的精确步骤:
\n\n步骤 1:通过 IntelliJ IDEA 创建项目(推荐)
\n打开 IntelliJ IDEA(社区版或终极版),选择 File → New → Project。在向导中,选择 Compose Multiplatform 模板。指定项目名称并点击 "Finish"。IDE 将自动生成项目结构和所有必要的依赖项。
\n\n步骤 2:手动配置(适用于现有项目)
\n在根目录的 build.gradle.kts 中添加以下代码:
plugins {\n kotlin("multiplatform") version "2.0.21"\n id("org.jetbrains.compose") version "1.7.1"\n id("org.jetbrains.kotlin.plugin.compose") version "2.0.21"\n}\n\nkotlin {\n androidTarget()\n listOf(\n iosX64(),\n iosArm64(),\n iosSimulatorArm64()\n ).forEach { iosTarget ->\n iosTarget.binaries.framework {\n baseName = "ComposeApp"\n isStatic = true\n }\n }\n\n sourceSets {\n val commonMain by getting {\n dependencies {\n implementation(compose.runtime)\n implementation(compose.foundation)\n implementation(compose.material3)\n implementation(compose.ui)\n }\n }\n val androidMain by getting {\n dependencies {\n implementation("androidx.activity:activity-compose:1.9.3")\n }\n }\n }\n}\n\n重要提示: 插件和 Kotlin 的版本必须兼容。最新版本始终可以在 Compose Multiplatform 的 GitHub 仓库中找到。
\n\n3. 快速入门——最小工作示例
\n\n创建项目后,打开文件 commonMain/kotlin/App.kt 并将其内容替换为以下代码:
import androidx.c