CPF-KMP-CMP:在鸿蒙上用 Kotlin 写跨平台应用

CPF-KMP-CMP:在鸿蒙上用 Kotlin 写跨平台应用

Kotlin Multiplatform + Compose Multiplatform 进入 OpenHarmony 生态的完整实践

一、背景:Kotlin 跨平台的鸿蒙拼图

Kotlin 作为 JetBrains 推出的现代编程语言,早已不只是 Android 的"官方语言"。通过 Kotlin Multiplatform(KMP) ,开发者可以将业务逻辑代码在 Android、iOS、Desktop、Web 等平台间共享;而 Compose Multiplatform(CMP) 则更进一步------它把 Android 上广受好评的声明式 UI 框架 Compose 带到了所有平台。

但 OpenHarmony(开源鸿蒙)作为新兴的独立操作系统,既不属于 Android 也不属于 iOS,JetBrains 官方并未提供原生支持。这意味着:

  • 已有的 KMP/CMP 项目无法直接在鸿蒙上运行
  • 鸿蒙开发者无法享受 Kotlin 跨平台带来的代码复用红利
  • 声明式 UI 的鸿蒙开发生态尚属空白

CPF-KMP-CMP 正是为填补这一空白而诞生的社区。

二、CPF-KMP-CMP 是什么

CPF-KMP-CMP(Cross-Platform Framework - Kotlin Multiplatform & Compose Multiplatform)致力于将 Kotlin Multiplatform 和 Compose Multiplatform 的开发体验带入鸿蒙生态(OpenHarmony)

其核心价值主张:

特性 说明
声明式 UI 基于 Compose Multiplatform 的声明式 UI 框架,让鸿蒙应用开发更简洁高效
跨平台复用 一套 Kotlin 代码,同时编译为 Android、iOS 和 HarmonyOS 平台产物
原生性能 通过自研编译工具链和统一渲染引擎,在鸿蒙上提供接近原生的运行性能
完整工具链 从工程创建、编码调试、编译构建到签名推包的一站式开发体验

三、社区生态数据

截至 2026 年 9 月,CPF-KMP-CMP 组织的生态数据如下:

指标 数据
组织成员 202
关注者 236
核心仓库数 6+
总 Star 150+
总 Fork 150+
主要语言 Kotlin、C++、Java、Markdown

这是一个规模可观的社区------202 名成员的参与,说明鸿蒙生态对 Kotlin 跨平台方案有着强烈的需求。

四、技术架构:四大核心组件

CPF-KMP-CMP 的技术栈由四个核心仓库构成,形成从语言到 UI、从渲染到工具链的完整闭环。

1. kotlin --- 跨平台语言基础

kotlin 是 KMP 的核心编译器仓库,基于 JetBrains 官方 Kotlin 进行鸿蒙平台适配。

Star 43 | Fork 58 | 分支 main-2.2.21-OH

它允许开发者在不同平台(Android、iOS、HarmonyOS)之间共享业务逻辑代码。适配后的 Kotlin 编译器能够将 Kotlin 代码编译为鸿蒙平台可执行的产物,是整个跨平台方案的语言基础。

2. compose-multiplatform --- 声明式 UI 框架

compose-multiplatform 是基于 KMP 的声明式 UI 框架,用于跨平台开发。

Star 34 | Fork 19 | 分支 develop-1.9.2-OH

Compose Multiplatform 在鸿蒙上的适配意味着:

  • 开发者可以用 Jetpack Compose 的语法编写鸿蒙 UI
  • UI 代码可以在 Android 和 HarmonyOS 之间直接复用
  • 底层使用 OHRenderer 提供硬件加速渲染
  • 支持 Compose HTML 在 WebView 中渲染 UI

3. skiko --- 渲染引擎

skiko 是 KMP 使用的渲染框架,提供原生绑定和运行时桥接能力。

Star 15 | Fork 20 | 分支 develop-0.9.22.2-OH | 语言 C++

Skiko 是 Compose Multiplatform 的底层渲染引擎,基于 Skia 图形库。在鸿蒙适配中,它负责将 Compose UI 绘制到鸿蒙的原生 Canvas 上,是实现"原生性能"的关键组件。

4. ohos-kmp-toolchain --- Android Studio 插件

ohos-kmp-toolchain 是 KMP 鸿蒙应用开发的 Android Studio 插件。

Star 25 | Fork 13 | 语言 Kotlin

这个插件将鸿蒙开发集成到了开发者熟悉的 Android Studio 工作流中,支持:

  • KMP 鸿蒙模版新建
  • 工程同步(Gradle Sync)
  • 构建、运行、调试
  • 设备管理与日志查看

开发者无需切换到 DevEco Studio 就能完成鸿蒙应用的开发和调试。

五、版本发布:v2.2.21-1.0.0 正式版

2026 年,CPF-KMP-CMP 发布了首个正式版本:KMP v2.2.21-1.0.0 & CMP v1.9.2-1.0.0

版本矩阵

组件 版本 状态
kotlin 2.2.21-1.0.0 正式版
compose-multiplatform 1.9.2-1.0.0 正式版
compose-multiplatform-core 1.9.2-1.0.0 正式版
skiko 0.9.22.2-1.0.0 正式版
akinterop 1.0.0 正式版

运行环境要求

环境 要求
DevEco Studio 6.0.0
HarmonyOS SDK API17
Android Studio (Mac) Hedgehog+ 2023.1.1 Patch 2 及以上
Android Studio (Windows) Otter 2 Feature Drop 2025.2.2 Patch 1 及以上
ROM API17,HarmonyOS Level 5.0 Release 及以上

正式版核心更新

KMP 部分:

  • 首次支持 Windows/macOS/Linux 三平台开发鸿蒙应用
  • 新增 sharedLib / staticLib / kexe 三种产物类型
  • 支持 HTTP/HTTPS 本地请求
  • 新增 LRU 缓存、异步文件 IO、协程调度器

CMP 部分:

  • Compose 1.9 升级,OHRenderer ArkUI 5.0 渲染框架
  • 支持 Navigation3、侧边栏、Column、折叠栏等组件
  • 新增 Shadow、Material3 AlertDialog
  • CMP UI 支持与 HarmonyOS 原生 Navigation/Navigation3 互操作

互操作能力:

  • 新增 @Composable@ArkEntry 互调能力
  • 支持 ArkTS 与 Compose UI 双向调用
  • DMA 共享内存实现高效数据交换

六、开发环境与快速上手

环境要求

工具 用途
Android Studio (>=2024.2.1) Kotlin/KMP 工程开发
DevEco Studio 鸿蒙工程管理、签名与推包
HarmonyOS 模拟器或真机 运行鸿蒙应用
华为开发者账号 签名调试

快速上手步骤

复制代码
1. 安装 Android Studio,配置 Gradle JDK 为 JDK17
2. 安装 Kotlin 和 Kotlin Multiplatform 插件
3. 安装 ohos-kmp-toolchain 工具链插件(离线安装)
4. Gradle Sync → 启动鸿蒙工程 → 运行到模拟器或真机

七、文档与资源

CPF-KMP-CMP 提供了完善的中文文档,涵盖:

分类 内容
入门 快速开始、入门指南、工具链手册、框架介绍、架构介绍
UI 开发 核心概念、布局、导航、资源管理、ViewModel、CMP 组件库
深入开发 功能开发、三方库、平台集成(FFI/CAPI)、编译构建、调试
资源 FAQ、示例工程

Release Notes

八、总结

CPF-KMP-CMP 解决了一个关键问题:让 Kotlin 跨平台开发者能够用已有的技术栈进入鸿蒙生态

它的价值不仅在于技术适配,更在于降低了鸿蒙应用开发的门槛------开发者可以用熟悉的 Kotlin 语法、Android Studio 工具链、Compose 声明式 UI,编写出同时支持 Android、iOS 和 HarmonyOS 三大平台的应用。

传统鸿蒙开发 使用 CPF-KMP-CMP
需要学习 ArkTS 用 Kotlin 即可
使用 DevEco Studio Android Studio 也能开发
UI 框架与 Android 不兼容 Compose UI 可复用
业务逻辑无法跨平台 一套代码三端运行
工具链生态尚不成熟 复用 Android/KMP 生态

对于已有 KMP/CMP 项目的团队,迁移到鸿蒙的路径已经打通;对于新的跨平台项目,从第一天起就可以将鸿蒙纳入目标平台。

九、相关链接


如果你是 Kotlin 开发者,想要进入鸿蒙生态,CPF-KMP-CMP 提供了一条从语言到 UI、从工具到文档的完整路径。202 名社区成员正在共同推动这个生态的成长。

相关推荐
事圆则缓1 小时前
Kotlin 高阶工程化与 Android 深入实践
android·开发语言·kotlin
Hstar_chen10 小时前
开源一款 HarmonyOS 服务器监控客户端:星辰云巡 1.0.3
服务器·华为·harmonyos
pengyu15 小时前
【Kotlin 协程修仙录 · 渡劫境 · 中阶】 | 造化神兵:自定义 CoroutineDispatcher 与调度器的终极定制
android·kotlin
pengyu15 小时前
【Kotlin 协程修仙录 · 渡劫境 · 初阶】 | 飞升雷劫:CPS 变换与挂起函数字节码终极透视
android·kotlin
2501_9197490317 小时前
华为鸿蒙免费视频播放器APP—小羊免费播放器
华为·harmonyos·鸿蒙
2501_9197490319 小时前
华为鸿蒙免费背书背课文背稿子APP—小羊背诵
华为·harmonyos·鸿蒙
OH_TPC19 小时前
HarmonyOS APP开发---"随手画"白板涂鸦App,需要用到这个库
harmonyos
lilian23320 小时前
HarmonyOS 7 新特性(二十六)|LazyLayoutAlgorithm 自定义懒布局
华为·harmonyos
lilian23321 小时前
HarmonyOS 7 新特性(二十九)|游戏伴随服务:悬浮协作与质量降级
游戏·语音识别·harmonyos