一:ACE_Engine框架概述:
ACE_Engine框架是OpenHarmony 的UI开发框架,提供开发者在进行应用UI开发时所必需的各种组件,以及定义这些组件的属性,样式,事件及方法。通过这些组件可以很方便的进行OpenHarmony上UI应用的开发。 ACE_Engine提供的组件分为两种类型,即:类Web开发范式类型和声明式开发范式类型。其中类Web开发范式中定义一个页面需要三个文件,html,css和js文件。html文件负责页面布局,css文件负责定义组件的样式,js文件负责业务逻辑实现。而声明式范式仅需要1个ets文件,页面布局和组件的样式以及业务逻辑实现都在此文件中。如图:![c7ab3cee-8830-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9F/64/wKgaomToGvWAPB2IAACOQypxuwo980.png)
- JsFrameWork:
- EtsLoader
![c7c84d84-8830-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9F/64/wKgaomToGvWAYMp3AAJeBl2dR2I828.png)
![c7eb86aa-8830-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9F/64/wKgaomToGvWAWtWnAALNpjYlkDA704.png)
- 组件的属性和样式是保存在前端页面的,通过JsframeWork解析页面,并调用JsEngine的CreateDomNode接口创建Dom节点的同时传递新节点属性和样式。 如果页面中属性样式发生变化,则单独调用SetAttr或SetStyle来更新属性和样式。
- DomNode收到属性和样式之后,会将通用属性保存在Declation类中,将组件特有的属性通过SetSpecialAttr和SetSpectialStyle函数保存在自身。
- DomNode调用对应Component类的Set***函数,将所有属性和样式设置到Component中。
- RenderNode创建后,会调用其Update函数。 该函数内调用对应Component的Get***函数,来接收组件的所有属性和样式。
- 在PipeLine中会遍历每个RenderNode进行布局和绘制,此时,就依据RenderNode中接收的属性和样式,进行布局并绘制。
![c80423ae-8830-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9F/64/wKgaomToGvWAFQFIAAEJTHJ6n48294.png)
- 玩转OpenHarmony PID:教你打造两轮平衡车
- 基于 OpenHarmony 的智联北斗海防系统
- 玩转OpenHarmony智能家居:如何实现树莓派“碰一碰”设备控制
- 带你玩转OpenHarmony AI:基于Seetaface2的人脸识别
-
带你玩转OpenHarmony AI:打造智能语音子系统
提示:本文由电子发烧友社区发布,转载请注明以上来源。如需社区合作及入群交流,请添加微信EEFans0806,或者发邮箱liuyong@huaqiu.com。
原文标题:OpenHarmony ACE 代码框架总结
文章出处:【微信公众号:电子发烧友开源社区】欢迎添加关注!文章转载请注明出处。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
电子发烧友
+关注
关注
33文章
556浏览量
33124 -
开源社区
+关注
关注
0文章
95浏览量
487
原文标题:OpenHarmony ACE 代码框架总结
文章出处:【微信号:HarmonyOS_Community,微信公众号:电子发烧友开源社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
迅为RK3568开发板篇OpenHarmony实操HDF驱动控制LED-编写内核 LED HDF 驱动程序
接下来编译 LED 驱动,该驱动用于在基于华为设备框架(HDF)的系统中控制 LED 灯的开关,完整代码如下所示:
更多内容可以关注:迅为RK3568开发板篇OpenHarmony
发表于 01-17 15:13
OpenHarmony程序分析框架论文入选ICSE 2025
近日,ICSE 2025软件工程实践Track放榜,面向OpenAtom OpenHarmony(以下简称“OpenHarmony”)的ArkTS程序分析基础框架--方舟程序分析器(论文题目为
![<b class='flag-5'>OpenHarmony</b>程序分析<b class='flag-5'>框架</b>论文入选ICSE 2025](https://file1.elecfans.com/web3/M00/04/96/wKgZO2d2KGCAUcJVAAAk9btwCMQ998.png)
一加Ace 5系列正式发布
一加 Ace 5系列正式发布。该系列中,一加 Ace 5 Pro搭载全新的骁龙8至尊版移动平台,一加 Ace 5则搭载第三代骁龙8移动平台。两款新机在性能、屏幕、设计以及影像等方面带来全方位升级,为用户打造出更加硬核的电竞传奇体
【龙芯2K0300蜂鸟板试用】OpenHarmony代码
收到龙芯2K0300蜂鸟开发板后,对开发板做了一些了解和研究,现将OpenHarmony代码提供给大家测试,也希望大家能更多的认识龙芯2K0300蜂鸟开发板,下面先简单介绍一下这块开发板。
广东
发表于 09-18 11:42
400万!深开鸿OpenHarmony主仓代码贡献量再创里程碑!
2024年7月8日,据OpenAtomOpenHarmony(以下简称“OpenHarmony”)官网显示,深开鸿在OpenHarmony社区主仓代码贡献总量超过400万行,在华为以外
![400万!深开鸿<b class='flag-5'>OpenHarmony</b>主仓<b class='flag-5'>代码</b>贡献量再创里程碑!](https://file.elecfans.com/web2/M00/35/6C/poYBAGIq5qqAQJzlAAA5OpNWiJA439.png)
鸿蒙开发ArkUI-X基础知识:【ArkUI代码工程及构建介绍】
ArkUI作为OpenHarmony的默认开发框架,在本项目(ArkUI-X)中需要做到一套代码同时支持多平台构建,所以会采取共仓开发的方式,部分仓直接指向OpenHarmony相关开
![鸿蒙开发ArkUI-X基础知识:【ArkUI<b class='flag-5'>代码</b>工程及构建介绍】](https://file1.elecfans.com/web2/M00/C5/CD/wKgZomYCdwyAIFf5AAB_7E1pFms943.jpg)
鸿蒙ArkUI-X跨平台开发:【命令行工具(ACE Tools)】
ACE Tools是一套为ArkUI-X项目跨平台应用开发者提供的命令行工具,支持在Windows/Ubuntu/macOS平台运行,用于构建OpenHarmony/HarmonyOS、Android和iOS平台的应用程序,其功能包括开发环境检查,新建项目,编译打包,安装
![鸿蒙ArkUI-X跨平台开发:【命令行工具(<b class='flag-5'>ACE</b> Tools)】](https://file1.elecfans.com/web2/M00/E7/65/wKgaomZHTraAVXmkAABqDt1o7NY191.jpg)
【开源鸿蒙】下载OpenHarmony 4.1 Release源代码
本文介绍了如何下载开源鸿蒙(OpenHarmony)操作系统 4.1 Release版本的源代码,该方法同样可以用于下载OpenHarmony最新开发版本(master分支)或者4.0 Release、3.2 Release等发
![【开源鸿蒙】下载<b class='flag-5'>OpenHarmony</b> 4.1 Release源<b class='flag-5'>代码</b>](https://file1.elecfans.com/web2/M00/DD/7F/wKgZomYtFoSAdY7EAACN2PSEOtQ539.png)
鸿蒙开发学习:【OpenHarmony HAR】
OpenHarmony js/ts三方库使用的是OpenHarmony静态共享包,即HAR(Harmony Archive),可以包含js/ts代码、c++库、资源和配置文件。通过HAR,可以实现
【六】Purple Pi OH开发板带你7天入门OpenHarmony!
今天我们来从OpenHarmony简介、环境搭建、创建第一个OpenHarmony项目等方面开始OpenHarmony应用开发的第一步。一.OpenHarmony简介
![【六】Purple Pi OH开发板带你7天入门<b class='flag-5'>OpenHarmony</b>!](https://file1.elecfans.com/web2/M00/8F/50/wKgZomTMciWAD54NAABOGP2pQZY452.png)
介绍一种OpenAtom OpenHarmony轻量系统适配方案
本文在不改变原有系统基础框架的基础上, 介绍了一种OpenAtom OpenHarmony(以下简称“OpenHarmony”)轻量系统适配方案。
![介绍一种OpenAtom <b class='flag-5'>OpenHarmony</b>轻量系统适配方案](https://file1.elecfans.com/web2/M00/C3/89/wKgaomXmdQ2API-MAAAONfnizq8510.png)
[鸿蒙]OpenHarmony4.0的Rust开发
。 OpenHarmony 为了集成 C/C++ 代码和提升编译速度,使用了 GN + Ninja 的编译构建系统。GN 的构建语言简洁易读,Ninja 的汇编级编译规则直接高效。 为了在 OpenHarmony
![[鸿蒙]<b class='flag-5'>OpenHarmony</b>4.0的Rust开发](https://file1.elecfans.com/web2/M00/C1/DB/wKgaomXbKX-AAe6rAADEW5Pyw8c913.png)
【鸿蒙】OpenHarmony 4.0蓝牙代码结构简析
OpenHarmony 4.0蓝牙代码结构简析前言 OpenHarmony 4.0上蓝牙仓和目录结构进行一次较大整改,本文基于4.0以上版本对蓝牙代码进行分析,便于读者快速了解和学习
![【鸿蒙】<b class='flag-5'>OpenHarmony</b> 4.0蓝牙<b class='flag-5'>代码</b>结构简析](https://file1.elecfans.com/web2/M00/C1/09/wKgZomXcRo6AFtQ8AAIhJd6EgqI689.png)
评论