{"id":43384954,"url":"https://github.com/tencent-tds/kuiklyui","last_synced_at":"2026-05-11T10:01:39.564Z","repository":{"id":290541110,"uuid":"971782145","full_name":"Tencent-TDS/KuiklyUI","owner":"Tencent-TDS","description":"A Kotlin Multiplatform UI framework from Tencent TDS — high-performance, one codebase for six platforms, with dynamic delivery.","archived":false,"fork":false,"pushed_at":"2026-04-17T10:06:28.000Z","size":76031,"stargazers_count":3039,"open_issues_count":94,"forks_count":235,"subscribers_count":32,"default_branch":"main","last_synced_at":"2026-04-17T11:33:01.658Z","etag":null,"topics":["android","app-framework","cross-platform","harmonyos","ios","kmp","kotlin-multiplatform","macos","mini-app","mobile","web"],"latest_commit_sha":null,"homepage":"https://framework.tds.qq.com/","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tencent-TDS.png","metadata":{"files":{"readme":"README-zh_CN.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-24T03:50:37.000Z","updated_at":"2026-04-17T10:06:32.000Z","dependencies_parsed_at":"2025-08-11T10:03:04.039Z","dependency_job_id":"000057f2-f750-4155-bf93-2c0b3ffaa869","html_url":"https://github.com/Tencent-TDS/KuiklyUI","commit_stats":null,"previous_names":["tencent-tds/kuiklyui"],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/Tencent-TDS/KuiklyUI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tencent-TDS%2FKuiklyUI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tencent-TDS%2FKuiklyUI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tencent-TDS%2FKuiklyUI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tencent-TDS%2FKuiklyUI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tencent-TDS","download_url":"https://codeload.github.com/Tencent-TDS/KuiklyUI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tencent-TDS%2FKuiklyUI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32077837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T02:38:07.213Z","status":"ssl_error","status_checked_at":"2026-04-21T02:38:06.559Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","app-framework","cross-platform","harmonyos","ios","kmp","kotlin-multiplatform","macos","mini-app","mobile","web"],"created_at":"2026-02-02T10:18:16.823Z","updated_at":"2026-04-21T05:01:33.491Z","avatar_url":"https://github.com/Tencent-TDS.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"Kuikly Logo\"  src=\"img/kuikly_logo.svg\" width=\"200\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\n[![GitHub Release](https://img.shields.io/github/v/release/Tencent-TDS/KuiklyUI)](https://github.com/Tencent-TDS/KuiklyUI/releases)\n[![License](https://img.shields.io/badge/license-KuiklyUI%20License-blue)](https://github.com/Tencent-TDS/KuiklyUI/blob/main/LICENSE)\n[![Kotlin](https://img.shields.io/badge/Kotlin-2.1.21-7F52FF?logo=kotlin\u0026logoColor=white)](https://kotlinlang.org)\n[![Platform](https://img.shields.io/badge/Platform-Android%20%7C%20iOS%20%7C%20macOS%20%7C%20HarmonyOS%20%7C%20Web%20%7C%20MiniApp-brightgreen)](https://github.com/Tencent-TDS/KuiklyUI)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Tencent-TDS/KuiklyUI/pulls)\n\n\u003c/p\u003e\n\n[English](./README.md) | 简体中文 | [官网](https://framework.tds.qq.com/)\n\n## 项目介绍\n\n`Kuikly` 是基于Kotlin Multiplatform的UI与逻辑全面跨端综合解决方案，由腾讯大前端领域Oteam（公司级）推出，旨在提供一套`一码多端、极致易用、动态灵活的全平台高性能开发框架`。目前已支持平台：\n- [X] Android\n- [X] iOS\n- [X] 鸿蒙\n- [X] Web（beta）\n- [X] 小程序（beta）\n- [X] macOS（Alpha）\n\n`Kuikly` 推出后受到业务广泛认可，已应用于 QQ、QQ 音乐、QQ 浏览器、腾讯新闻、搜狗输入法、应用宝、全民K歌、酷狗音乐、酷我音乐、自选股、ima.copilot、微视等多款产品。\n## 特点\n\n- 跨平台：基于 Kotlin 跨平台实现多平台一致运行，一码六端\n- 原生性能：运行平台原生编译产物(.aar/.framework/.so)\n- 原生开发体验：原生 UI 渲染、原生开发工具链、Kotlin 原生开发语言\n- 轻量：SDK 增量小（AOT模式下，Android：约 300 KB，iOS：约 1.2 MB）\n- 动态化：支持编译成动态化产物\n- 多开发范式：声明式\u0026响应式开发范式，支持自研 DSL 和 Compose DSL\n\n## 项目结构\n\n```shell\n.\n├── core                    # 跨平台模块，实现各个平台响应式 UI、布局算法、Bridge 通信等核心能力\n  ├── src\n    ├──\tcommonMain            #\t跨平台共享代码、定义跨平台接口 \n    ├── androidMain           # Android 平台实现代码 （aar）\n    ├── jvmMain               # 泛 JVM 平台代码（不涉及 Android API）（jar）\n    ├── appleMain             # Apple (iOS \u0026 macOS) 平台实现代码（framework）\n    ├── ohosArm64Main         # Ohos 平台实现代码（so）\n    ├── jsMain                # H5 和 微信小程序 平台实现代码（so）\n├── core-render-android    # android 平台的渲染器模块\n├── core-render-ios        # iOS 平台的渲染器模块\n├── core-render-ohos       # Ohos 平台的渲染模块\n├── core-render-web        # Web 平台的渲染模块\n├── core-annotations       # 注解模块，定义业务注解 @Page\n├── core-ksp               # 注解处理模块，生成 Core 入口文件 \n├── buildSrc               # 编译脚本，用于编译、打包、分包产物相关脚本\n├── demo                   # DSL 示例代码 \n├── androidApp             # Android 宿主壳工程\n├── iosApp                 # iOS 宿主壳工程\n├── macApp                 # macOS 宿主壳工程\n├── miniApp                # 微信小程序 宿主壳工程\n├── h5App                  # H5 宿主壳工程\n├── ohosApp                # Ohos 宿主壳工程\n├── compose                # 跨平台模块，实现Compose UI、布局，桥接Kuikly等核心能力\n    ├── src\n        ├── commonMain      # 跨平台共享代码，包含 Compose UI 组件、布局和事件处理\n        ├── androidMain     # Android 平台特定实现\n        └── nativeMain      # iOS 和鸿蒙平台特定实现\n        └── jsMain          # H5 和小程序平台特定实现\n```\n\u003e 注: Compose 目录包含基于 Jetpack Compose 1.7.3 版本的跨平台源代码。我们对原始 Compose 代码进行了必要的修改和适配,以支持 Kuikly 框架的渲染需求。为了便于后续升级,我们注释掉了一些不必要的功能。为了确保功能稳定支持并避免与官方代码冲突,我们将包名从 `androidx.compose` 改为 `com.tencent.kuikly.compose`。原始 Compose 代码来自 [JetBrains Compose Multiplatform](https://github.com/JetBrains/compose-multiplatform-core)。\n\n## 系统要求\n- iOS 12.0版本及以上\n- macOS 10.13版本及以上\n- Android 5.0版本及以上\n- HarmonyOS Next 5.0.0(12) 版本及以上\n- Kotlin版本 1.3.10 版本及以上\n\n## 快速上手\n\n- [快速体验](https://kuikly.tds.qq.com/QuickStart/hello-world.html)\n- [接入指引](https://kuikly.tds.qq.com/QuickStart/overview.html)\n- [组件特性](https://kuikly.tds.qq.com/API/components/override.html)\n\n## 源码构建\n\n### 编译环境\n参照[环境搭建](https://kuikly.tds.qq.com/QuickStart/env-setup.html)进行配置\n- [Android Studio](https://developer.android.com/studio)\n  \n  如果你的 Android Studio 版本大于等于 (2024.2.1)，请将 Gradle JDK 版本切换为 JDK17 \n  (该版本默认 Gradle JDK 为 21，与项目使用的配置不兼容）\n\n  切换方式: Android Studio -\u003e Settings -\u003e Build,Execution,Deployment -\u003e Build Tools -\u003e Gradle -\u003e Gradle JDK\n- [XCode](https://developer.apple.com/xcode/)和[cocoapods](https://cocoapods.org/)\n- [DevEco Studio 5.1.0 或者更新版本](https://developer.huawei.com/consumer/cn/deveco-studio/)(API Version \u003e= 18) (你可以通过【 DevECo Studio -\u003e Help -\u003e About HarmonyOS SDK 】查看API Version)\n- JDK17\n\n### 运行Android APP\n在构建 Android App 之前，请确保完成了环境准备\n\n1. 使用 `Android Studio` 打开 `KuiklyUI` 项目根目录，完成 sync\n2. Configuration 选择 androidApp，Run 'androidApp'\n\n\n### 运行iOS APP\n在构建 iOS App 之前，请确保完成了环境准备\n\n1. `cd` 到 `iosApp`\n2. 执行 `pod install --repo-update`\n3. 使用 `Android Studio` 打开 `KuiklyUI` 项目根目录，完成 `sync`\n4. Configuration 选择 iOSApp，Run 'iOSApp'\n\n或者使用 XCode 打开 KuiklyUI/iosApp 目录，`Run`\n\n\u003e 注意：源码iosApp工程在编译时会执行KMP脚本，如果遇到脚本读写文件权限报错，需要在`Xcode -\u003e Build Setting`中将`User Script Sandboxing`设置为`No`\n\n### 运行macOS APP\n在构建 macOS App 之前，请确保完成了环境准备\n\n1. `cd` 到 `macApp`\n2. 执行 `pod install --repo-update`\n3. 使用 `Android Studio` 打开 `KuiklyUI` 项目根目录，完成 `sync`\n4. Configuration 选择 macOSApp，Run 'macOSApp'\n\n或者使用 XCode 打开 KuiklyUI/macApp 目录，`Run`\n\n\u003e 注意：源码macApp工程在编译时会执行KMP脚本，如果遇到脚本读写文件权限报错，需要在`Xcode -\u003e Build Setting`中将`User Script Sandboxing`设置为`No`\n\n### 运行Ohos APP\n在构建 Ohos App 之前，请确保完成了环境准备\n\n#### Mac\n1. 在`KuiklyUI`根目录执行鸿蒙跨端产物编译脚本：\n   ```bash\n   ./2.0_ohos_demo_build.sh\n   ```\n2. 使用 DevEco Studio 打开 `KuiklyUI/ohosApp` 项目目录，完成 `sync`\n3. 连接真机或启动鸿蒙模拟器，并执行签名操作 `File -\u003e Project Structure -\u003e Signing Configs`\n4. 使用DevEco Studio, Run `entry`, 运行Ohos App\n\n#### Windows\n1. 配置环境变量 `OHOS_SDK_HOME`，指向鸿蒙 SDK 路径：\n   ```\n   变量名: OHOS_SDK_HOME\n   路径: %TOOL_HOME%\\sdk\n   变量名: TOOL_HOME\n   路径: D:\\DevEcoStudio\n   ```\n   注意：“D:\\DevEcoStudio”中D盘为示例演示，实则除C盘以外任何盘都可以\n   \n2. 在`KuiklyUI`根目录执行 Windows 编译脚本：\n   ```cmd\n   2.0_ohos_demo_build.bat\n   ```\n   或手动执行：\n   ```cmd\n   set KUIKLY_AGP_VERSION=7.4.2\n   set KUIKLY_KOTLIN_VERSION=2.0.21-KBA-010\n   gradlew.bat -c settings.2.0.ohos.gradle.kts :demo:linkSharedDebugSharedOhosArm64\n   ```\n3. 拷贝产物到 ohosApp（bat 脚本会自动完成）：\n   - `demo\\build\\bin\\ohosArm64\\sharedDebugShared\\libshared.so` → `ohosApp\\entry\\libs\\arm64-v8a\\`\n   - `demo\\build\\bin\\ohosArm64\\sharedDebugShared\\libshared_api.h` → `ohosApp\\entry\\src\\main\\cpp\\thirdparty\\biz_entry\\`\n4. 使用 DevEco Studio 打开 `KuiklyUI/ohosApp` 项目目录，完成 `sync`\n5. 连接真机或启动鸿蒙模拟器，并执行签名操作 `File -\u003e Project Structure -\u003e Signing Configs`\n6. 使用DevEco Studio, Run `entry`, 运行Ohos App\n\n\u003e 注: Windows 编译需要使用 Kotlin 工具链版本 `2.0.21-KBA-010`，该版本支持 Windows/Linux 平台。\n\n### Kotlin多版本支持\n\nKuiklyUI目录下有各个`Kotlin`版本的gradle配置项\n\n命名规则为 `x.x.xx.gradle.kts`，其中默认使用的是`Kotlin: 2.1.21`\n\n同时，也提供各个版本的测试发布脚本，你可以运行`publish`目录下的`x.x.xx_publish.sh`构建`kuikly`的本地产物。\n\n\u003e `Kotlin: 1.3.10/1.4.20` 需要切换 `jdk11`\n\n上述任一平台构建成功后，即可通过修改Core、Render、Demo，体验`Kuikly`开发。\n\n### Demo快速体验\n\u003cdiv style=\"display: inline-block; text-align: left;\"\u003e\n  \u003cimg src=\"img/kuikly_demo_android_qr.png\" width=\"200\"\u003e\n\u003c/div\u003e\n\n安卓手机扫码快速体验。iPhone和鸿蒙手机请按上述步骤源码编译Demo APP体验。\n\n## Roadmap\n[Roadmap（2026）](https://kuikly.tds.qq.com/Blog/roadmap2026.html) | [Roadmap（2025）](https://kuikly.tds.qq.com/Blog/roadmap2025.html)\n\n## 贡献指南\n欢迎各位开发者为 `Kuikly` 提出问题或发起 PR，建议你在为 `Kuikly` 贡献代码先阅读 [贡献指引](CONTRIBUTING.md)。\n\n## 行为准则\n请注意，本项目的所有参与者都应遵守我们的[行为准则](CODE_OF_CONDUCT.md)。参与即表示您同意遵守其条款。\n\n## 常见问题\n[Kuikly QA汇总](https://kuikly.tds.qq.com/QA/kuikly-qa.html)\n\n## 贡献者\n- 特别感谢首批贡献者tom（邱良雄）kam（林锦涛）watson（金盎），不仅在大前端领域主导 `Kuikly` 跨端方案孵化探索，而且率先在QQ业务落地。\n- 感谢以下核心贡献者对`Kuikly`持续建设维护与发展优化：\n  \u003cbr\u003etom kam watson rocky jonas ruifan pel layen bird zealot zhenhua vinney xuanxi ray arnon alexa allens eason\n- 同时感谢每一位参与`Kuikly`建设的社区贡献者，正是大家的共同努力，让Kuikly得以不断成长。\n  \u003cdiv id=\"list\" style=\"display: flex; flex-wrap: wrap\"\u003e\u003ca href=\"https://github.com/Tencent-TDS/KuiklyUI/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=Tencent-TDS/KuiklyUI\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/Tencent-TDS/KuiklyUI-third-party/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=Tencent-TDS/KuiklyUI-third-party\" /\u003e\u003c/a\u003e\u003c/div\u003e\n\n\n\n\n## 应用案例\n### 接入应用\n在腾讯，`Kuikly` 已有20+应用深度使用，页面数1000+，日活用户5亿+，满足了这些业务众多场景下的各类复杂需求。\n\u003cdiv style=\"display: inline-block; text-align: left;\"\u003e\n  \u003cimg src=\"img/applications.png\" width=\"85%\"\u003e\n\u003c/div\u003e\n同时开源后，更多腾讯外部业务已在积极接入中，使用案例在征得业务同意后陆续补充\n\n### 场景案例\n业务典型应用场景，请参考：[应用场景案例](https://kuikly.tds.qq.com/Introduction/application_cases.html)\n\n## 欢迎关注交流\n欢迎扫码下方二维码关注最新动态或咨询交流。\n\u003cp align=\"left\"\u003e\n    \u003cdiv style=\"display: inline-block; text-align: center; margin-right: 20px;\"\u003e\n        \u003cdiv\u003e腾讯端服务微信公众号\u003c/div\u003e\n        \u003cimg alt=\"TDS\" src=\"img/tds_qrcode.jpeg\" width=\"200\" /\u003e\n    \u003c/div\u003e\n    \u003cdiv style=\"display: inline-block; text-align: center; margin-right: 20px;\"\u003e\n        \u003cdiv\u003eTDS Framework 微信公众号\u003c/div\u003e\n        \u003cimg alt=\"TDS Framework\" src=\"img/tds_framework_qrcode.jpeg\" width=\"200\" /\u003e\n    \u003c/div\u003e\n    \u003cdiv style=\"display: inline-block; text-align: center;\"\u003e\n        \u003cdiv\u003e在线咨询\u003c/div\u003e\n        \u003cimg alt=\"在线咨询\" src=\"img/consult_qrcode.png\" width=\"200\" /\u003e\n    \u003c/div\u003e\n\u003c/p\u003e\n\n## 其他说明\nThe copyright notice pertaining to the Tencent code in this repo was previously in the name of “THL A29 Limited.”  That entity has now been de-registered.  You should treat all previously distributed copies of the code as if the copyright notice was in the name of “Tencent.”\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftencent-tds%2Fkuiklyui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftencent-tds%2Fkuiklyui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftencent-tds%2Fkuiklyui/lists"}