一:ACE_Engine框架概述:
ACE_Engine框架是OpenHarmony 的UI開發(fā)框架,提供開發(fā)者在進行應(yīng)用UI開發(fā)時所必需的各種組件,以及定義這些組件的屬性,樣式,事件及方法。通過這些組件可以很方便的進行OpenHarmony上UI應(yīng)用的開發(fā)。 ACE_Engine提供的組件分為兩種類型,即:類Web開發(fā)范式類型和聲明式開發(fā)范式類型。其中類Web開發(fā)范式中定義一個頁面需要三個文件,html,css和js文件。html文件負責(zé)頁面布局,css文件負責(zé)定義組件的樣式,js文件負責(zé)業(yè)務(wù)邏輯實現(xiàn)。而聲明式范式僅需要1個ets文件,頁面布局和組件的樣式以及業(yè)務(wù)邏輯實現(xiàn)都在此文件中。如圖:
?二:ACE_Engine框架模塊劃分對于類Web開發(fā)范式組件,根據(jù)組件從前端到后端的過程,可以將整個框架劃分為JsFrameWork,DomNode, ComPonent, RenderNode四個模塊。其作用分別如下:- JsFrameWork:
- EtsLoader
?各模塊見的調(diào)用關(guān)系及主要函數(shù)如下:
?三:組件的屬性/樣式的傳遞過程- 組件的屬性和樣式是保存在前端頁面的,通過JsframeWork解析頁面,并調(diào)用JsEngine的CreateDomNode接口創(chuàng)建Dom節(jié)點的同時傳遞新節(jié)點屬性和樣式。 如果頁面中屬性樣式發(fā)生變化,則單獨調(diào)用SetAttr或SetStyle來更新屬性和樣式。
- DomNode收到屬性和樣式之后,會將通用屬性保存在Declation類中,將組件特有的屬性通過SetSpecialAttr和SetSpectialStyle函數(shù)保存在自身。
- DomNode調(diào)用對應(yīng)Component類的Set***函數(shù),將所有屬性和樣式設(shè)置到Component中。
- RenderNode創(chuàng)建后,會調(diào)用其Update函數(shù)。 該函數(shù)內(nèi)調(diào)用對應(yīng)Component的Get***函數(shù),來接收組件的所有屬性和樣式。
- 在PipeLine中會遍歷每個RenderNode進行布局和繪制,此時,就依據(jù)RenderNode中接收的屬性和樣式,進行布局并繪制。
?
?四:總結(jié)ACE_Engine框架整體代碼較復(fù)雜,涉及的類也比較多。本文簡單介紹了一個ACE組件從前端的頁面描述,到中間層三棵樹的創(chuàng)建和屬性傳遞,以及最終進行UI布局和繪制的整個過程。該過程簡單總結(jié)一下就是:JS頁面 —> Dom樹 —> Component樹 —> Render樹,最后繪制Render樹。大家只要理解這個基本過程,在結(jié)合代碼關(guān)注重點流程。相信一定能夠?qū)CE_Engine框架的代碼有整體的理解。再此基礎(chǔ)上可以進行ACE組件的增強功能開發(fā),包括新增一個ACE組件等。
文章轉(zhuǎn)自:鴻湖萬聯(lián)
參考:新增一個類Web范式組件開發(fā)指南:https://gitee.com/yan-shuifeng/arkui_docs/blob/master/wiki/Ace1.0前端新增組件開發(fā)指南%EF%BC%9A以新增MyCircle組件為例_ver1.0.md
新增一個聲明式范式組件開發(fā)指南https://gitee.com/yan-shuifeng/arkui_docs/blob/master/wiki/Ace2.0前端新增組件開發(fā)指南%EF%BC%9A以新增MyCircle組件為例_ver1.0.md
更多熱點文章閱讀- 玩轉(zhuǎn)OpenHarmony PID:教你打造兩輪平衡車
- 基于 OpenHarmony 的智聯(lián)北斗海防系統(tǒng)
- 玩轉(zhuǎn)OpenHarmony智能家居:如何實現(xiàn)樹莓派“碰一碰”設(shè)備控制
- 帶你玩轉(zhuǎn)OpenHarmony AI:基于Seetaface2的人臉識別
-
帶你玩轉(zhuǎn)OpenHarmony AI:打造智能語音子系統(tǒng)
提示:本文由電子發(fā)燒友社區(qū)發(fā)布,轉(zhuǎn)載請注明以上來源。如需社區(qū)合作及入群交流,請?zhí)砑游⑿臙EFans0806,或者發(fā)郵箱liuyong@huaqiu.com。
原文標題:OpenHarmony ACE 代碼框架總結(jié)
文章出處:【微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
電子發(fā)燒友
+關(guān)注
關(guān)注
34文章
592瀏覽量
34413 -
開源社區(qū)
+關(guān)注
關(guān)注
1文章
95瀏覽量
821
原文標題:OpenHarmony ACE 代碼框架總結(jié)
文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
探索ACE1202:專為低功耗應(yīng)用打造的算術(shù)控制器引擎
探索ACE1202:專為低功耗應(yīng)用打造的算術(shù)控制器引擎 在電子設(shè)備日益追求高性能與低功耗的今天,一款優(yōu)秀的微控制器對于產(chǎn)品的成功至關(guān)重要。Fairchild Semiconductor推出
深入了解ACE1101:適用于低功耗應(yīng)用的算術(shù)控制器引擎
深入了解ACE1101:適用于低功耗應(yīng)用的算術(shù)控制器引擎 在當(dāng)今對功耗要求日益嚴苛的電子應(yīng)用領(lǐng)域,低功耗高性能的微控制器顯得尤為重要。Fairchild Semiconductor推出
探索ACE1001:低功耗應(yīng)用的理想算術(shù)控制器引擎
探索ACE1001:低功耗應(yīng)用的理想算術(shù)控制器引擎 在電子設(shè)計領(lǐng)域,對于高性能、低功耗且小尺寸的微控制器需求日益增長。Fairchild Semiconductor的ACE1001作為ACEx
COSEL ACE系列AC - DC可配置型電源供應(yīng)器詳解
COSEL ACE系列AC - DC可配置型電源供應(yīng)器詳解 在電子設(shè)備的設(shè)計中,電源供應(yīng)器是至關(guān)重要的一環(huán),它直接關(guān)系到設(shè)備的性能和穩(wěn)定性。今天我們就來詳細介紹COSEL的ACE系列AC - DC
大曉機器人開源空間智能通用模型ACE-Brain-0
近日,大曉機器人聯(lián)合上海交通大學(xué)、南洋理工大學(xué)、香港中文大學(xué)、香港大學(xué)等研究機構(gòu)共同推出以空間智能為底層框架、跨不同具身本體的通用基礎(chǔ)模型“ACE-Brain-0”,正式面向全行業(yè)開源。
【OpenHarmony快速入門】本期視頻將介紹應(yīng)用開發(fā)初學(xué)者如何構(gòu)建一個簡單的應(yīng)用。
OpenHarmony
視美泰
發(fā)布于 :2026年01月15日 14:43:58
知乎開源“智能預(yù)渲染框架” 幾行代碼實現(xiàn)鴻蒙應(yīng)用頁面“秒開”
近日,知乎在Gitee平臺開源了其自研的鴻蒙“智能預(yù)渲染框架”,并將該框架的Har包上架到OpenHarmony三方庫中心倉。該框架在鴻蒙平臺首創(chuàng)“智能預(yù)渲染”技術(shù),旨在破解應(yīng)用復(fù)雜頁
ArkUI-X框架LogInterface使用指南
ArkUI-X框架支持日志攔截能力,Android側(cè)提供原生接口,用于注入LogInterface接口,框架日志及ts日志通過該接口輸出,本文的核心內(nèi)容是介紹如何在Android平臺上有效利用
發(fā)表于 06-15 23:20
貢獻 OpenHarmony 庫關(guān)鍵配置
# 貢獻 OpenHarmony 庫關(guān)鍵配置 #自研框架#ArkUI-X#三方框架#OpenHarmony#HarmonyOS
## 創(chuàng)建第三方庫
- 打開 DevEco Stud
發(fā)表于 05-28 13:46
電競?cè)?游戲至尊 一加 Ace 5 至尊系列售價 2499 元起
2025年5月27日,一加正式推出一加Ace5至尊系列,包含一加Ace5至尊版與一加Ace5競速版兩款機型。一加Ace5至尊系列配備了由9400系列旗艦芯、靈犀觸控芯和電競Wi-Fi芯
OpenHarmony ACE 代碼框架總結(jié)
評論