Kuikly 框架架构与目录导览(HarmonyOS 视角)

本文从KuiklyUI 源码仓库结构出发,解释 Kuikly 的整体架构、每个关键目录的职责,并给出鸿蒙开发只需关注的目录清单,便于快速进入开发状态。

先跟大家说个好消息,该框架已经解决了windows平台的快速编译鸿蒙产物(也就是说win用户可以像mac用户一样只需一下两步就可以编译ohos产物了:

  1. 配置环境变量OHOS_SDK_HOME,指向鸿蒙 SDK 路径:
    变量名: OHOS_SDK_HOME
    路径: %TOOL_HOME%\sdk
    变量名: TOOL_HOME
    路径: D:\DevEcoStudio
    注意:“D:\DevEcoStudio”中D盘为示例演示,实则除C盘以外任何盘都可以
  2. KuiklyUI根目录执行 Windows 编译脚本:
    2.0_ohos_demo_build.bat

1. Kuikly 架构拆解

1.1 Kuikly 的核心思路

Kuikly 基于Kotlin Multiplatform,用跨端逻辑 + 抽象 UI 渲染接口的方式实现 UI 跨平台,同时复用平台原生组件,实现轻量、高性能与可动态化的目标。KuiklyUI/docs/Introduction/arch.md

1.2 KuiklyUI 与 KuiklyBase

官方架构描述中,Kuikly 主要分为两块:KuiklyUI/docs/Introduction/arch.md

  • KuiklyUI:框架主体,包含 Core 与 Render 两个层面。
    • Core:提供跨端高级组件、动画、手势、布局与统一 API;同时支持 Compose DSL 与自研 DSL。KuiklyUI/docs/Introduction/arch.md
    • Render:按平台实现渲染层,覆盖 Android、iOS、macOS、HarmonyOS、H5/小程序等。KuiklyUI/docs/Introduction/arch.md
  • KuiklyBase:跨端基础设施层,偏逻辑与工具链能力(协程、多线程、工具链等),用于支撑完整跨端 App 能力。KuiklyUI/docs/Introduction/arch.md

1.3 渲染链路(从页面到平台)

在 KuiklyUI 内部,UI 运行链路可以理解为:

业务页面 / DSL / Compose ↓ Core(组件/布局/事件/Bridge) ↓ Render(平台渲染层) ↓ 宿主 App(Android/iOS/HarmonyOS...)

该结构也是目录划分的核心逻辑:跨端能力在 core/ 与 compose/平台实现分别落在 core-render-* 目录和各平台宿主工程内。KuiklyUI/README-zh_CN.md


2. 目录结构与职责

以下内容基于 KuiklyUI 根目录结构与官方说明整理:KuiklyUI/README-zh_CN.md

2.1 框架目录图(顶层简化版)

这张目录图只保留框架与平台相关的核心层级,方便快速定位职责:

KuiklyUI/ ├── core/ # 跨端核心:组件/布局/事件/Bridge ├── compose/ # Compose DSL 跨端实现 ├── core-render-android/ # Android 渲染层 ├── core-render-ios/ # iOS 渲染层 ├── core-render-ohos/ # HarmonyOS 渲染层 ├── core-render-web/ # Web 渲染层 ├── core-annotations/ # 注解定义(如 @Page) ├── core-ksp/ # 注解处理与入口生成 ├── demo/ # DSL 示例工程(跨端业务代码) ├── androidApp/ # Android 宿主壳工程 ├── iosApp/ # iOS 宿主壳工程 ├── macApp/ # macOS 宿主壳工程 ├── h5App/ # H5 宿主壳工程 ├── miniApp/ # 小程序宿主壳工程 ├── ohosApp/ # HarmonyOS 宿主壳工程 ├── buildSrc/ # 构建脚本与打包逻辑 └── docs/ # 文档与教程

目录图的核心阅读方式是:跨端能力集中在core/compose/,平台差异在core-render-*,而最终运行入口在各平台宿主工程(如ohosApp/。这也解释了 Kuikly 的“同一套业务代码 + 多端渲染 + 平台壳工程”的结构设计。

目录主要职责何时会改动
core/跨平台核心模块:UI、布局、Bridge 等核心能力框架级功能/组件/布局问题排查
compose/Compose DSL 跨端实现(源码来自 Compose Multiplatform 并做过适配)使用 Compose DSL 或维护 Compose 适配
core-render-android/core-render-ios/core-render-ohos/core-render-web/各平台渲染实现需要改动平台渲染层或平台适配时
core-annotations/注解定义(如@Page添加/扩展 DSL 注解能力
core-ksp/KSP 注解处理,生成入口调整代码生成逻辑
buildSrc/构建脚本与打包逻辑需要改构建流程、产物结构时
demo/DSL 示例工程(跨端业务代码)写页面、写业务逻辑、验证组件
androidApp/iosApp/macApp/miniApp/h5App/ohosApp/各平台宿主工程(壳工程)平台侧集成、资源、原生模块接入
docs/框架文档与教程更新文档内容

关于compose/:该目录基于 Compose Multiplatform 1.7.3 做过适配与包名调整,避免与官方 Compose 冲突。KuiklyUI/README-zh_CN.md


3. 鸿蒙开发:只需关注的目录

如果你只做HarmonyOS 业务开发,通常只需要关注以下几块(从“日常必看”到“按需深入”):

3.1 日常必看

  1. demo/:跨端业务页面与模块示例。页面通常位于demo/src/commonMain/...,例如相机页面CameraTestPage

KuiklyUI/demo/src/commonMain/kotlin/com/tencent/kuikly/demo/pages/CameraTestPage.kt

  1. ohosApp/:鸿蒙宿主工程。这里负责启动、资源与原生模块注册。例如模块注册集中在KuiklyViewDelegate.ets

KuiklyUI/ohosApp/entry/src/main/ets/kuikly/KuiklyViewDelegate.ets

  1. core-render-ohos/:鸿蒙渲染层实现,平台适配、渲染细节都在这里。

这里是引用

KuiklyUI/README-zh_CN.md
5.鸿蒙构建脚本与配置

  • Mac用户:鸿蒙 demo 构建脚本是2.0_ohos_demo_build.sh,配套的设置在settings.2.0.ohos.gradle.kts等文件中。
  • win用户:鸿蒙demo构建脚本是2.0_ohos_demo_build.bat,配套的设置在settings.2.0.ohos.gradle.kts等文件中。
    win用户需要配置的环境变量:(这个环境变量跟flutter编译鸿蒙产物的配置一致的)

3.2 按需深入

  • core/:当你需要扩展组件、布局、事件或桥接能力时。
  • compose/:如果团队使用 Compose DSL,或需要修改 Compose 适配逻辑。KuiklyUI/README-zh_CN.md
  • core-annotations/+core-ksp/:扩展或修改@Page等注解能力时。

3.3 通常可忽略

  • 其他平台宿主工程(androidApp/iosApp/macApp/h5App/miniApp/
  • 发布脚本、打包工具链(除非你需要自定义构建流程)

4. 总结:鸿蒙开发最小关注集

最小关注集可以记为:

demo/+ohosApp/+core-render-ohos/+ 鸿蒙构建脚本

剩余目录只有在修改框架能力或支持其他平台时再深入即可。

5. 文档地址

项目地址:https://atomgit.com/Tencent-TDS/KuiklyUI 欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1190922.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

速通秘籍!提示工程架构师上下文工程跨模态信息融合技术

速通秘籍!提示工程架构师的上下文工程与跨模态信息融合技术 引言:为什么你需要这门“速通课”? 作为一名提示工程架构师,你是否经常遇到这些痛点: 明明写了详细的提示,AI却“答非所问”——因为它没理解用户…

【课程设计/毕业设计】基于python大数据的睡在地震数据可视化分析系统基于python的灾情数据可视化系统【附源码、数据库、万字文档】

java毕业设计-基于springboot的(源码LW部署文档全bao远程调试代码讲解等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、…

我是AI应用架构师,给某制造企业做算力规划的过程,全记录

AI应用架构师手记:某制造企业算力规划从0到1全流程拆解 标题选项(3-5个) AI赋能制造:某汽车零部件厂算力规划的7个关键步骤制造企业算力规划避坑指南:我的一次真实项目全复盘从需求到落地:一份可复用的制造…

群晖 WebDAV+cpolar 让 NAS 文件走到哪用到哪

群晖 WebDAV 作为 NAS 的文件管理扩展工具,核心功能是基于 HTTP 协议实现远程文件的编辑、存储与权限管控,适配 Windows、Mac、安卓、iOS 等多系统,尤其适合上班族、家庭用户和小型团队使用,它能让远程编辑文档自动保存、大文件断…

计算机大数据毕设实战-基于django的电子产品电商平台主数据管理系统基于django的电子产品电商平台主数据管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】

java毕业设计-基于springboot的(源码LW部署文档全bao远程调试代码讲解等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、…

提示工程项目成本效益分析:从需求调研到成果交付的全流程指导!

工程项目成本效益分析全流程指南:从“拍脑袋”到“算明白”的蜕变 一、引入:项目经理的“灵魂三问”,你能接住吗? 周一 morning meeting,张经理刚翻开项目方案,投资方李总就抛出三个问题: “这…

2026项目管理工具推荐:7款免费版能做什么、卡在哪里

本文将深入对比7款免费项目管理工具:PingCode、Worktile、Jira Software、Trello、ClickUp、Notion、Asana。一、免费项目管理工具能做什么 很多团队找“免费项目管理工具”,一开始其实只想解决三件事:任务别丢、进度看得见、协作别靠催。可真…

大数据毕设选题推荐:基于django的电子产品电商平台主数据管理系统基于django的电子产品电商平台主数据管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】

java毕业设计-基于springboot的(源码LW部署文档全bao远程调试代码讲解等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、…

【AI应用开发工程师】-分享Java 转 AI正确思路

☕ Java 转 AI:别翻书了,翻开你的 ChatGPT! 中午和同事吃饭,聊起一个经典话题:“Java 程序员想转 AI,该看什么书?” 我抿了一口咖啡,缓缓放下杯子:“说实话,看…

西电Latex论文模板使用经验总结

西安电子科技大学的论文Latex模板,教务处所公布的版本稍显落后。 当前,仍在维护更新的是 xduts[1] 这个公益开源版本。 维护者为其编写了详尽的接口说明[2],然而,没有提供一个初学者友好的项目模板和配置教程,导致上…

【AI应用开发工程师】-分享2026年转型AI应用开发工程师经验

AI转型修罗场:2026年,你的“炼丹炉”还能炼出真金吗? 2025年,你只需会念“AI咒语”;2026年,你得自己写“咒语大全”了。 如果你今年刚打开招聘软件搜索“AI应用开发”,可能会被那些长得像岗位说…

深度测评研究生必备9款AI论文平台:开题文献综述全解析

深度测评研究生必备9款AI论文平台:开题文献综述全解析 2026年研究生AI论文平台深度测评:功能与效率的全面解析 随着人工智能技术在学术领域的不断渗透,越来越多的研究生开始依赖AI工具提升论文写作效率。然而,面对市场上琳琅满目的…

实用指南:Pandas 高级教程:解锁数据分析的强大潜能

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

微信小程序wxapkg包一键自动解密+批量解包+API接口提取+敏感数据泄露检测

工具介绍支持微信最新版,可解大部分微信小程序wxapkg包,一键自动解密批量解包API接口提取敏感数据泄露检测,Burp可视化操作,配置自动保存!工具功能功能模块核心能力🔓 wxapkg解密自动识别加密包&#xff0c…

MCP与Skills解析

MCP和Skills是当前AI应用开发中两个非常重要但容易混淆的概念。让我为你清晰解释一下。 1. MCP (Model Context Protocol) - “连接的桥梁” MCP是什么: MCP是由Anthropic创建的一个开放协议,它定义了AI模型(如Claude、GPT等)如何…

MyBatis缓存查询的顺序

先查询二级缓存,因为二级缓存中可能会有其他程序已经查出来的数据,可以拿来直接使用如果二级缓存没有命中,再查询一级缓存如果一级缓存也没有命中,则查询数据库SqlSession关闭之后,一级缓存中的数据会写入二级缓存

别再迷信“参数越大越牛了”,大模型真正的分水岭,其实在数据准备

别再迷信“参数越大越牛了”,大模型真正的分水岭,其实在数据准备这两年,大模型火得不行。 动不动就是百亿参数、万亿 token、A100 堆成山。 但说句掏心窝子的实话:很多模型效果不行,真不是模型不够大,而是“…

2026年AI大模型薪资真相与学习全攻略,小白也能快速入门,AI大模型应用开发学习路线建议收藏!

文章揭示2025年AI大模型领域高薪现状:大模型算法工程师月薪7万,AI科学家月薪11万,人才供需比仅0.71。详解5大高薪岗位技能要求,提供6个涨薪策略,预测未来3年行业趋势。掌握大模型技术相当于在房价涨前买房,…

AI系统架构设计实战:AI应用架构师的深度指南

AI系统架构设计实战:AI应用架构师的深度指南 关键词:AI系统架构、机器学习架构、深度学习架构、数据工程、MLOps、模型部署、AI可扩展性 摘要: 在人工智能飞速发展的今天,构建稳健、高效、可扩展的AI系统架构已成为企业成功实施AI战略的关键。本文作为AI应用架构师的深度…

【课程设计/毕业设计】基于机器学习的网络购物平台的智能推荐【附源码、数据库、万字文档】

java毕业设计-基于springboot的(源码LW部署文档全bao远程调试代码讲解等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、…