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生态组件。

平台覆盖与进度

  1. 已开源:Android、iOS
  2. 2025年5月开源:HarmonyOS
  3. 2025年Q2开源:Web(Beta)、Mini Programs(Beta)
  4. 并行推进: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模块。

资源导航与获取途径

Logo

一站式 AI 云服务平台

更多推荐