
Kuikly 是腾讯在 2025 年 4 月开源的跨端开发框架,基于 Kotlin Multiplatform(KMP)构建,目标是用一套 Kotlin 代码覆盖 Android、iOS、鸿蒙、Web(H5)、微信小程序,macOS(Alpha)六端。
它目前在 QQ、QQ 音乐、QQ 浏览器、腾讯新闻、搜狗输入法、应用宝等 20+ 腾讯系产品深度使用,覆盖 1000+ 页面、5 亿+ DAU。
跨端框架的渲染路线大致分三派——自绘引擎(Flutter)、JS 桥接原生(RN)、原生渲染(Kuikly / 鸿蒙 ArkUI 思路)。Kuikly 选了第三条,核心思路是:
.aar、iOS .framework、鸿蒙 .so、Web .js)
架构上自底向上分四层:编译层(@Page注解 + KSP)→ 核心层(跨平台抽象)→ 渲染层(core-render-android/ios/ohos/web)→ 应用层。
官方给出的体量数据:
指标 | Kuikly | 对比参照 |
|---|---|---|
Android 最小 SDK | ~300 KB(AOT) | Flutter 空包 ~10 MB |
iOS 最小 SDK | ~1.2 MB | Flutter 较大 |
鸿蒙渲染 | ArkUI 原生控件 | Flutter 仍靠社区 fork |
1. 一码多端,鸿蒙是差异点
五端(Android / iOS / 鸿蒙 / H5 / 小程序)共用 commonMain里的 Kotlin 代码,平台差异用 expect/actual兜底。鸿蒙端已正式发布(非 Beta),在腾讯内部 QQ、QQ 音乐等的鸿蒙版都接了 Kuikly——这一点 Flutter(社区 fork)和 RN(需额外适配)目前都没做到同等完整度。
2. 双 DSL 策略
两套 DSL 可在同一项目混用,这是它降低 Android 团队迁移成本的关键设计。
3. 页面级动态化
依托腾讯 Shiply,支持页面维度热更新,且性能几乎无损。这对国内运营活动、A/B 测试、紧急修复是刚需——Flutter 官方没有通用热更新,RN 的 CodePush 又受 Google Play 政策约束。
4. 原生工具链闭环
用 Android Studio / VS Code + Kotlin + Bugly(质量监控)+ Shiply(发布止损),从脚手架到监控一条龙。
维度 | Kuikly | Flutter | React Native | 纯 KMP |
|---|---|---|---|---|
语言 | Kotlin | Dart | JS/TS | Kotlin |
渲染 | 原生控件映射 | 自绘 Skia/Impeller | JS 桥接原生 | 各端原生 UI |
UI 是否跨端 | ✅ 一套 Kotlin | ✅ 一套 Dart | ✅ 一套 JS | ❌ 各端分开写 |
包体积 | ~300KB / ~1.2MB | ~10MB 起 | 中等 | 接近原生 |
鸿蒙支持 | ✅ 正式 | ❌ 社区 fork | 需适配 | ❌ |
热更新 | ✅ 页面级 | 受限 | ✅ CodePush | ❌ |
社区生态 | ⭐⭐(2025.4 才开源) | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
和 Flutter 的本质差异:Flutter 用自绘换"像素级一致",代价是引擎体积和 Dart 学习成本;Kuikly 用原生渲染换"原生感 + 小包",代价是高度自定义 UI(粒子、3D)不如自绘灵活。
和 RN 的本质差异:RN 是 JS 世界的人,前端团队迁移顺;Kuikly 是 Kotlin 世界的人,Android 团队迁移顺。RN 胜在生态和热更新成熟度,Kuikly 胜在鸿蒙 + 原生性能 + 无桥接损耗。
和纯 KMP 的关系:KMP 只解决"逻辑跨端",UI 还得各端各写;Kuikly 是在 KMP 之上补了 UI 跨端这一层。所以两者不是替代,是"纯 KMP 团队要不要再加 Kuikly"的递进关系。
适合选 Kuikly 的场景:
要谨慎的场景:
腾讯在 2026 Roadmap 里把 "AI 友好" 写进了核心战略:MCP Server + Rules + Skills 让 AI 编程工具理解 Kuikly、Figma 转代码、React/Vue/Flutter 存量代码智能转码,QQ 音乐的 React → Kuikly 转码已在生产跑通。这条路线如果兑现,跨端框架的下一轮竞争维度可能从"谁渲染快"变成"谁对 AI Coding 更友好"。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。