2025年4月,腾讯公司级前端Oteam推出跨端框架Kuikly并正式开源,基于Kotlin MultiPlatform实现统一代码库覆盖多端。2025年Q2,Web支持进入Beta阶段,标志其跨平台能力向五端扩展迈出关键一步。
开源背景与定位
Kuikly,是指基于Kotlin MultiPlatform(KMP)构建的高性能、全平台开发框架,其核心特点是统一Kotlin代码库覆盖多端逻辑与UI、抽象跨平台渲染接口并复用原生组件、轻量可动态化,主要解决了多端重复开发、维护成本高与体验不一致的问题。Kuikly(跨端框架)是一个面向移动、桌面与Web全场景的开发框架,具备跨端统一、原生编译、动态化更新、双DSL支持,旨在让开发者一次编写即可覆盖Android、iOS、HarmonyOS、Web及小程序五端。
技术原理概述
Kuikly利用KMP实现业务逻辑跨平台,抽象跨平台UI渲染接口并复用各平台原生UI组件,确保轻量、高性能与可动态化。UI层支持声明式与响应式编程,提供自研DSL及Compose DSL(Beta),兼容KMP生态组件。
平台覆盖与进度
- 已开源:Android、iOS
- 2025年5月开源:HarmonyOS
- 2025年Q2开源:Web(Beta)、Mini Programs(Beta)
- 并行推进:macOS(Alpha)
应用实例与成熟度
腾讯内部已有15+款APP使用Kuikly,包括QQ、QQ音乐、QQ浏览器、腾讯新闻、搜狗输入法、MyApp Hub、WeSing、酷狗音乐、酷我音乐、自选股、ima.copilot、微视等,覆盖500+页面,日均PV达亿级,体现其成熟度与市场认可度。
跨平台能力说明
- 一次编写可在Android、iOS、HarmonyOS、Web、小程序五端运行,统一代码库实现逻辑与UI跨端,显著降低多端开发成本。
性能与体验优势
- 输出平台原生二进制产物(.aar/.framework/.so),保留原生UI渲染与工具链体验,确保与原生开发一致的流畅度与响应速度。
体积与动态化特性
- SDK体积极小,AOT模式Android约300KB、iOS约1.2MB;支持编译为动态化产物,可按需下发更新,减少包体积并提升迭代效率。
开发范式支持
- 支持声明式与响应式两种编程模型,提供自研DSL及基于Jetpack Compose改造的Compose DSL,兼容KMP生态组件,满足不同团队编码习惯。
构建与运行指引
- 提供各平台项目目录结构与编译脚本说明(如HarmonyOS的
2.0_ohos_demo_build.sh/.bat),支持在Android Studio、Xcode、DevEco Studio直接运行Demo。 - 兼容Kotlin多版本配置,可按需切换测试与发布脚本。
系统与版本要求
- Android 5.0+、iOS 12.0+、macOS 10.13+、HarmonyOS Next 5.0.0(12)+
- 开发工具:Kotlin 1.3.10+、Android Studio 2024.2.1+(Gradle JDK17)、Xcode + CocoaPods、DevEco Studio 5.1.0+、JDK17
常见问题解答
- Q:Kuikly是否支持已有原生项目渐进迁移?
A:支持,可基于KMP逐步替换逻辑层,保持原生UI与工具链不变。 - Q:Web Beta版与稳定版差异在哪?
A:Beta版已实现核心渲染与交互能力,稳定版将优化性能、完善API并提升兼容性。 - Q:动态化产物如何保障安全?
A:支持按需签名校验与加密下发,结合原生运行时隔离执行。 - Q:如何在多IDE同时调试Kuikly项目?
A:各平台Demo已配置独立运行脚本,可在对应IDE直接构建并断点调试。 - Q:是否支持与现有KMP库混用?
A:兼容KMP生态组件,可在Kuikly项目中直接引入并复用已有KMP模块。
资源导航与获取途径
- 官方主页:framework.tds.qq.com
- Github仓库:github.com/Tencent-TDS…