Kotlin Multiplatform(KMP)与 Compose Multiplatform(CMP)最新进展

截至 2026 年 10 月 27 日,KMP + CMP 已经从跨平台技术探索,进入可以认真用于生产项目的阶段。

尤其是最近一年,iOS 支持、Web、Jetpack 生态、开发工具和 AI 编程支持都有明显进展。

一、最新版本与成熟度

项目

最新进展

状态

Kotlin Multiplatform

持续完善 Kotlin 2.4 系列支持

Stable

Compose Multiplatform

1.12.2(10 月 15 日发布)

Stable

Compose Multiplatform

1.13.0 Beta

测试阶段

Android UI

Jetpack Compose

Stable

iOS UI

CMP 1.8.0 起正式稳定

Stable

Desktop UI

长期稳定,持续优化

Stable

Web UI

持续完善,部分能力仍在演进

Beta 阶段

SwiftUI / UIKit 集成

1.13 增强自动尺寸适配

持续完善

官方版本信息:Compose Multiplatform Releases

二、最近最值得关注的 6 项进展

1. iOS 已经正式稳定,原生集成进一步增强 ⭐⭐⭐⭐⭐

2025 年 CMP 1.8.0 正式宣布 iOS Stable。

这意味着 Android 和 iOS 可以共享:

  • UI 组件

  • 页面布局

  • 页面状态

  • 业务逻辑

  • 网络请求

  • 数据持久化

而且不必放弃 SwiftUI。

2026 年 10 月的新进展:

Compose Multiplatform 1.13 增强了与 SwiftUI、UIKit 的集成。

其中最有价值的是:

Compose UI 可以根据内容自动报告适合的尺寸。

例如:

SwiftUI 页面
    │
    ├── SwiftUI Navigation
    │
    ├── SwiftUI 原生组件
    │
    ├── Compose Multiplatform 组件
    │      └── 自动计算内容高度
    │
    └── SwiftUI 原生组件

以前混合 UI 时,经常需要手动处理高度和布局。

现在集成体验更自然。

另外,1.13 还加入了 iOS 密码保存和自动填充支持。

来源:CMP 1.13 官方更新说明

2. Google 正在持续扩大 Jetpack 的 KMP 支持 ⭐⭐⭐⭐⭐

这是我认为对 KMP 长期发展非常重要的变化。

过去 KMP 的一个问题是:

Kotlin 可以跨平台,但 Android 开发者熟悉的 Jetpack 库不一定可以。

现在情况明显改善。

根据 Google 2026 年 10 月更新的官方文档:

Jetpack 组件

KMP 支持进展

ViewModel

已支持多平台

Lifecycle

已支持多平台

Navigation

已支持多平台

Navigation 3

已提供多平台支持

DataStore

已支持多平台

Paging

已支持多平台

Collection

已支持多平台

具体目标平台仍需要按库检查。

这意味着可以进一步共享:

commonMain
    │
    ├── UI (Compose)
    ├── ViewModel
    ├── Navigation
    ├── Repository
    ├── DataStore
    ├── Network
    └── Business Logic

相比过去只共享 Repository、Model 和 API,现在能够共享更多应用架构代码。

来源:Google 官方 KMP 支持列表

3. Compose Multiplatform 开始支持 AI Agent 开发 ⭐⭐⭐⭐⭐

2026 年 8 月发布的 CMP 1.12.0 带来了一个非常值得关注的功能:

Compose Hot Reload MCP Server。

通过 MCP,AI 编程 Agent 可以与正在运行的 Compose 应用交互。

支持的能力包括:

  • 触发 Hot Reload

  • 获取应用截图

  • 检查 UI 语义树

  • 模拟点击

  • 模拟文本输入

  • 读取应用日志

以前 AI 编程的工作流是:

AI 修改代码
    ↓
编译
    ↓
开发者运行
    ↓
开发者检查 UI
    ↓
反馈给 AI

现在有机会变成:

AI 修改代码
    ↓
Hot Reload
    ↓
AI 获取截图
    ↓
AI 检查 UI
    ↓
AI 自动修改
    ↓
再次验证

对于使用 Claude Code、Codex 等工具进行开发的人,这项能力尤其值得关注。

不过,这项 MCP 集成仍属于实验性能力,不应直接等同于完整的自动化 UI 测试框架。

来源:Compose Multiplatform 1.12.0 更新报道

4. Web 平台持续完善 ⭐⭐⭐⭐

CMP Web 是另一个值得关注的方向。

在 1.13 Beta 中,主要新增:

WebGL 互操作

允许 Compose UI 和 WebGL 图形内容结合。

例如:

Compose Web
    │
    ├── 普通 UI
    ├── Button
    ├── Text
    │
    └── WebGL 内容
           ├── 图形
           └── 可视化

同时还增加了:

  • 浏览器安全区域支持

  • 虚拟键盘区域处理

  • 更灵活的字体回退配置

  • 字体及图片资源预加载 API 稳定化

这些变化让 CMP Web 更接近完整的应用开发方案。

但需要注意:

Web 仍然是 CMP 相对不成熟的目标平台。

如果项目以 SEO、首屏加载速度、复杂 DOM 集成为核心需求,仍然需要谨慎评估。

来源:CMP 1.13 Beta 更新

5. Desktop 开始关注启动性能 ⭐⭐⭐⭐

CMP 1.13 Beta 增加了针对 Desktop 的启动优化选项。

包括:

  • AppCDS

  • AOT 相关优化

目标是改善桌面应用启动速度。

对于使用 Kotlin/JVM 开发桌面软件的团队,这类优化有实际价值。

Desktop 一直是 CMP 相对成熟的平台,但应用体积、JVM 运行时和启动性能仍然是需要考虑的因素。

6. 跨平台稳定性持续改善 ⭐⭐⭐⭐

2026 年 10 月 15 日发布的 CMP 1.12.2 主要集中在 Bug 修复。

包括:

iOS

修复 Dialog 显示时 TextField 失去焦点可能导致的崩溃。

Web

改进 iOS Safari 27 的文本输入焦点处理。

多平台

修复非矩形阴影动画闪烁。

虽然没有重大新功能,但这些修复对实际产品稳定性很重要。

来源:GitHub Release 1.12.2

三、2026 年 KMP + CMP 与 Flutter 怎么选?

对比维度

KMP + CMP

Flutter

开发语言

Kotlin

Dart

Android

成熟

成熟

iOS

已稳定

成熟

Desktop

成熟

成熟

Web

仍在完善

相对成熟

共享业务逻辑

支持

支持

共享 UI

支持

支持

使用原生 UI

可以混合

可以嵌入,但集成方式不同

Android 生态

优势明显

独立生态

iOS 原生集成

持续改善

通过插件与平台通道

热更新开发体验

Hot Reload 持续完善

Hot Reload 成熟

适合现有 Android 项目

非常适合

通常需要较大迁移

我的判断

2026 年 KMP + CMP 最有竞争力的场景,是已经拥有 Kotlin 技术栈的 Android 团队开发 iOS 应用。

例如:

一个已有 Android App 的团队:

原来的架构:

Android
  ├── Kotlin
  ├── Jetpack Compose
  └── Android Business Logic

iOS
  ├── Swift
  ├── SwiftUI
  └── iOS Business Logic

可以逐步演进为:

新的架构:

          Shared Kotlin
                │
       ┌────────┴────────┐
       │                 │
   Android App        iOS App
       │                 │
       └────────┬────────┘
                │
       Compose Multiplatform
                │
         Shared ViewModel
                │
         Shared Repository
                │
           Shared API

这样可以逐步迁移,而不一定需要重写整个应用。

四、现在是否适合用于正式项目?

我的建议:

项目类型

推荐程度

Android + iOS 新项目

⭐⭐⭐⭐⭐

已有 Android App 扩展 iOS

⭐⭐⭐⭐⭐

Kotlin 技术栈的桌面软件

⭐⭐⭐⭐⭐

Android + iOS + Desktop

⭐⭐⭐⭐

Android + iOS + Web

⭐⭐⭐

主要面向浏览器的 Web 应用

⭐⭐

强依赖 iOS 原生 UI 体验的 App

⭐⭐⭐⭐(KMP + SwiftUI)

需要注意的三个问题

1. iOS 构建与调试体验

虽然 iOS UI 已经稳定,但 Kotlin/Native、Xcode、Gradle 之间的集成仍然增加了工具链复杂度。

2. 第三方库兼容性

并非所有 Android 库都支持 KMP。

需要逐个检查 iOS、Desktop 和 Web 目标的兼容情况。

3. CMP 与 Jetpack Compose 版本同步

二者相关但不是同一个发行体系,升级时需要核对 Kotlin、Compose Compiler、CMP、Gradle 等版本兼容性。

五、未来最值得关注的方向

结合 2026 年的进展,我认为有三个趋势:

第一,KMP 正在成为更完整的跨平台应用架构。

从共享业务逻辑,逐渐发展到共享 ViewModel、Navigation、UI 和更多基础设施。

第二,CMP 与原生 UI 的混合开发会越来越重要。

未来不一定是全 Compose 或全 SwiftUI,而可能是:

  • 80% 通用页面使用 CMP

  • 20% 平台特色页面使用原生 UI

这只是架构示例,并非官方推荐比例。

第三,AI Agent + Compose Hot Reload 可能成为新的开发效率优势。

AI 不仅能够修改 Kotlin 代码,还能够运行应用、观察 UI 并进行迭代验证。

这可能是未来一年特别值得跟踪的方向。

总结

2026 年的 KMP + CMP 已经值得认真考虑作为 Android、iOS 双端应用的主要技术方案。

与一两年前相比,最大的变化不是增加了多少组件,而是:

  • iOS UI 已经正式稳定。

  • Google 持续扩展 Jetpack 的 KMP 支持。

  • SwiftUI / UIKit 混合开发体验改善。

  • Desktop 和 Web 能力继续完善。

  • AI Agent 开始能够直接操作和验证 Compose 应用。

我还想特别展开一个问题:2026 年 KMP + CMP 在 iOS 上的实际表现,是否已经接近原生 SwiftUI 和 Flutter?

这涉及启动速度、内存占用、滚动流畅度、包体积以及真实项目的开发效率,也是决定是否选用 CMP 的关键。

原始分享

参考链接

排序方式 :

成为第一条评论!

Nobody's responded to this post yet. Add your thoughts and get the conversation going.