一:ACE_Engine框架概述:
ACE_Engine框架是OpenHarmony 的UI開發框架,提供開發者在進行應用UI開發時所必需的各種組件,以及定義這些組件的屬性,樣式,事件及方法。通過這些組件可以很方便的進行OpenHarmony上UI應用的開發。 ACE_Engine提供的組件分為兩種類型,即:類Web開發范式類型和聲明式開發范式類型。其中類Web開發范式中定義一個頁面需要三個文件,html,css和js文件。html文件負責頁面布局,css文件負責定義組件的樣式,js文件負責業務邏輯實現。而聲明式范式僅需要1個ets文件,頁面布局和組件的樣式以及業務邏輯實現都在此文件中。如圖: ?二:ACE_Engine框架模塊劃分對于類Web開發范式組件,根據組件從前端到后端的過程,可以將整個框架劃分為JsFrameWork,DomNode, ComPonent, RenderNode四個模塊。其作用分別如下:- JsFrameWork:
- EtsLoader
- 組件的屬性和樣式是保存在前端頁面的,通過JsframeWork解析頁面,并調用JsEngine的CreateDomNode接口創建Dom節點的同時傳遞新節點屬性和樣式。 如果頁面中屬性樣式發生變化,則單獨調用SetAttr或SetStyle來更新屬性和樣式。
- DomNode收到屬性和樣式之后,會將通用屬性保存在Declation類中,將組件特有的屬性通過SetSpecialAttr和SetSpectialStyle函數保存在自身。
- DomNode調用對應Component類的Set***函數,將所有屬性和樣式設置到Component中。
- RenderNode創建后,會調用其Update函數。 該函數內調用對應Component的Get***函數,來接收組件的所有屬性和樣式。
- 在PipeLine中會遍歷每個RenderNode進行布局和繪制,此時,就依據RenderNode中接收的屬性和樣式,進行布局并繪制。
- 玩轉OpenHarmony PID:教你打造兩輪平衡車
- 基于 OpenHarmony 的智聯北斗海防系統
- 玩轉OpenHarmony智能家居:如何實現樹莓派“碰一碰”設備控制
- 帶你玩轉OpenHarmony AI:基于Seetaface2的人臉識別
-
帶你玩轉OpenHarmony AI:打造智能語音子系統
提示:本文由電子發燒友社區發布,轉載請注明以上來源。如需社區合作及入群交流,請添加微信EEFans0806,或者發郵箱liuyong@huaqiu.com。
原文標題:OpenHarmony ACE 代碼框架總結
文章出處:【微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
電子發燒友
+關注
關注
33文章
556瀏覽量
33065 -
開源社區
+關注
關注
0文章
94瀏覽量
471
原文標題: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程序分析基礎框架--方舟程序分析器(論文題目為
一加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萬行,在華為以外
鴻蒙開發ArkUI-X基礎知識:【ArkUI代碼工程及構建介紹】
ArkUI作為OpenHarmony的默認開發框架,在本項目(ArkUI-X)中需要做到一套代碼同時支持多平臺構建,所以會采取共倉開發的方式,部分倉直接指向OpenHarmony相關開
鴻蒙ArkUI-X跨平臺開發:【命令行工具(ACE Tools)】
ACE Tools是一套為ArkUI-X項目跨平臺應用開發者提供的命令行工具,支持在Windows/Ubuntu/macOS平臺運行,用于構建OpenHarmony/HarmonyOS、Android和iOS平臺的應用程序,其功能包括開發環境檢查,新建項目,編譯打包,安裝
【開源鴻蒙】下載OpenHarmony 4.1 Release源代碼
本文介紹了如何下載開源鴻蒙(OpenHarmony)操作系統 4.1 Release版本的源代碼,該方法同樣可以用于下載OpenHarmony最新開發版本(master分支)或者4.0 Release、3.2 Release等發
鴻蒙開發學習:【OpenHarmony HAR】
OpenHarmony js/ts三方庫使用的是OpenHarmony靜態共享包,即HAR(Harmony Archive),可以包含js/ts代碼、c++庫、資源和配置文件。通過HAR,可以實現
【六】Purple Pi OH開發板帶你7天入門OpenHarmony!
今天我們來從OpenHarmony簡介、環境搭建、創建第一個OpenHarmony項目等方面開始OpenHarmony應用開發的第一步。一.OpenHarmony簡介
介紹一種OpenAtom OpenHarmony輕量系統適配方案
本文在不改變原有系統基礎框架的基礎上, 介紹了一種OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)輕量系統適配方案。
[鴻蒙]OpenHarmony4.0的Rust開發
。 OpenHarmony 為了集成 C/C++ 代碼和提升編譯速度,使用了 GN + Ninja 的編譯構建系統。GN 的構建語言簡潔易讀,Ninja 的匯編級編譯規則直接高效。 為了在 OpenHarmony
【鴻蒙】OpenHarmony 4.0藍牙代碼結構簡析
OpenHarmony 4.0藍牙代碼結構簡析前言 OpenHarmony 4.0上藍牙倉和目錄結構進行一次較大整改,本文基于4.0以上版本對藍牙代碼進行分析,便于讀者快速了解和學習
OpenHarmony 之 NAPI 框架介紹
環境中的 JS 變量與方法。 OpenHarmony 中的 NAPI OpenAtom OpenHarmony(以下簡稱 “OpenHarmony”)應用層基于 javascript 語言開發,而系統
評論