2026/4/3 19:53:03
网站建设
项目流程
网站开通后,可以挣钱的网站,天猫设计师服务平台,乐清 网站建设本文从 KuiklyUI 源码仓库结构出发#xff0c;解释 Kuikly 的整体架构、每个关键目录的职责#xff0c;并给出 鸿蒙开发只需关注的目录清单#xff0c;便于快速进入开发状态。先跟大家说个好消息#xff0c;该框架已经解决了windows平台的快速编译鸿蒙产物#xff08;也就…本文从KuiklyUI 源码仓库结构出发解释 Kuikly 的整体架构、每个关键目录的职责并给出鸿蒙开发只需关注的目录清单便于快速进入开发状态。先跟大家说个好消息该框架已经解决了windows平台的快速编译鸿蒙产物也就是说win用户可以像mac用户一样只需一下两步就可以编译ohos产物了配置环境变量OHOS_SDK_HOME指向鸿蒙 SDK 路径变量名: OHOS_SDK_HOME路径: %TOOL_HOME%\sdk变量名: TOOL_HOME路径: D:\DevEcoStudio注意“D:\DevEcoStudio”中D盘为示例演示实则除C盘以外任何盘都可以在KuiklyUI根目录执行 Windows 编译脚本2.0_ohos_demo_build.bat1. Kuikly 架构拆解1.1 Kuikly 的核心思路Kuikly 基于Kotlin Multiplatform用跨端逻辑 抽象 UI 渲染接口的方式实现 UI 跨平台同时复用平台原生组件实现轻量、高性能与可动态化的目标。KuiklyUI/docs/Introduction/arch.md1.2 KuiklyUI 与 KuiklyBase官方架构描述中Kuikly 主要分为两块KuiklyUI/docs/Introduction/arch.mdKuiklyUI框架主体包含 Core 与 Render 两个层面。Core提供跨端高级组件、动画、手势、布局与统一 API同时支持 Compose DSL 与自研 DSL。KuiklyUI/docs/Introduction/arch.mdRender按平台实现渲染层覆盖 Android、iOS、macOS、HarmonyOS、H5/小程序等。KuiklyUI/docs/Introduction/arch.mdKuiklyBase跨端基础设施层偏逻辑与工具链能力协程、多线程、工具链等用于支撑完整跨端 App 能力。KuiklyUI/docs/Introduction/arch.md1.3 渲染链路从页面到平台在 KuiklyUI 内部UI 运行链路可以理解为业务页面 / DSL / Compose ↓ Core组件/布局/事件/Bridge ↓ Render平台渲染层 ↓ 宿主 AppAndroid/iOS/HarmonyOS...该结构也是目录划分的核心逻辑跨端能力在 core/ 与 compose/平台实现分别落在 core-render-* 目录和各平台宿主工程内。KuiklyUI/README-zh_CN.md2. 目录结构与职责以下内容基于 KuiklyUI 根目录结构与官方说明整理KuiklyUI/README-zh_CN.md2.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.md3. 鸿蒙开发只需关注的目录如果你只做HarmonyOS 业务开发通常只需要关注以下几块从“日常必看”到“按需深入”3.1 日常必看demo/跨端业务页面与模块示例。页面通常位于demo/src/commonMain/...例如相机页面CameraTestPage。KuiklyUI/demo/src/commonMain/kotlin/com/tencent/kuikly/demo/pages/CameraTestPage.ktohosApp/鸿蒙宿主工程。这里负责启动、资源与原生模块注册。例如模块注册集中在KuiklyViewDelegate.ets。KuiklyUI/ohosApp/entry/src/main/ets/kuikly/KuiklyViewDelegate.etscore-render-ohos/鸿蒙渲染层实现平台适配、渲染细节都在这里。这里是引用KuiklyUI/README-zh_CN.md5.鸿蒙构建脚本与配置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.mdcore-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