哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

OpenHarmony ACE 代碼框架總結

電子發(fā)燒友開源社區(qū) ? 來源:未知 ? 2022-12-30 19:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一:ACE_Engine框架概述:

ACE_Engine框架是OpenHarmony 的UI開發(fā)框架,提供開發(fā)者在進行應用UI開發(fā)時所必需的各種組件,以及定義這些組件的屬性,樣式,事件及方法。通過這些組件可以很方便的進行OpenHarmony上UI應用的開發(fā)。 ACE_Engine提供的組件分為兩種類型,即:類Web開發(fā)范式類型和聲明式開發(fā)范式類型。其中類Web開發(fā)范式中定義一個頁面需要三個文件,html,css和js文件。html文件負責頁面布局,css文件負責定義組件的樣式,js文件負責業(yè)務邏輯實現。而聲明式范式僅需要1個ets文件,頁面布局和組件的樣式以及業(yè)務邏輯實現都在此文件中。如圖:c7ab3cee-8830-11ed-bfe3-dac502259ad0.png ?二:ACE_Engine框架模塊劃分對于類Web開發(fā)范式組件,根據組件從前端到后端的過程,可以將整個框架劃分為JsFrameWork,DomNode, ComPonent, RenderNode四個模塊。其作用分別如下:
  • JsFrameWork:
負責解析前端html和css文件,創(chuàng)建出DomNode樹。該樹的結構和前端頁面是一一對應的。2. DomNode: 負責將Dom樹轉換為Component樹。注意一個Dom節(jié)點轉換過后的Component節(jié)點實際上并不是一個單獨的節(jié)點,而是一顆以rootComponent為跟節(jié)點的組件樹。該樹中逐層包裹了對應的功能組件,最內部才是真正的主節(jié)點(這樣的作用是功能解耦合,將某一特定的功能放到對應的組件中去)。如BoxComponet負責組件的邊框繪制,DisplayComponent負責組件透明度繪制,TouchComponent負責組件觸摸時間的處理等。,一個詳細過程見DOMNode::GenerateComponentNode函數。3. ComPonent: 負責將Component樹中所有繼承自RenderComponent的節(jié)點(可繪制節(jié)點)創(chuàng)建對應的RendNode節(jié)點,生成對應的RendNode樹。見RenderComponent ::CreateRenderNode虛函數,4. RenderNode: RenderNode即可繪制的節(jié)點,負責組件的最終布局和繪制。其中布局函數為PerformLayout虛函數,由每個組件對應的實現類Render***類來實現。繪制函數為Paint虛函數,由每個組件對應的子類FlutterRender***類來實現。 對于聲明式開發(fā)范式組件,根據組件從前端到后端的過程,可以將整個框架劃分為EtsLoader,JsView, ComPonent, RenderNode四個模塊。其作用分別如下:
  • EtsLoader
負責解析ets頁面,根據組件的tag標簽創(chuàng)建對應的JsView對象,生成jsView樹。2. JsView 負責處理組件的屬性,方法和事件。并通過Create函數創(chuàng)建對應的Component樹。3. ComPonent: 同Web開發(fā)范式組件中的Component4. RenderNode: 同Web開發(fā)范式組件中的RenderNode 各模塊創(chuàng)建示意圖如下圖所示:c7c84d84-8830-11ed-bfe3-dac502259ad0.png ?各模塊見的調用關系及主要函數如下:c7eb86aa-8830-11ed-bfe3-dac502259ad0.png ?三:組件的屬性/樣式的傳遞過程
  1. 組件的屬性和樣式是保存在前端頁面的,通過JsframeWork解析頁面,并調用JsEngine的CreateDomNode接口創(chuàng)建Dom節(jié)點的同時傳遞新節(jié)點屬性和樣式。 如果頁面中屬性樣式發(fā)生變化,則單獨調用SetAttr或SetStyle來更新屬性和樣式。
  2. DomNode收到屬性和樣式之后,會將通用屬性保存在Declation類中,將組件特有的屬性通過SetSpecialAttr和SetSpectialStyle函數保存在自身。
  3. DomNode調用對應Component類的Set***函數,將所有屬性和樣式設置到Component中。
  4. RenderNode創(chuàng)建后,會調用其Update函數。 該函數內調用對應Component的Get***函數,來接收組件的所有屬性和樣式。
  5. PipeLine中會遍歷每個RenderNode進行布局和繪制,此時,就依據RenderNode中接收的屬性和樣式,進行布局并繪制。
c80423ae-8830-11ed-bfe3-dac502259ad0.png ? ?四:總結ACE_Engine框架整體代碼較復雜,涉及的類也比較多。本文簡單介紹了一個ACE組件從前端的頁面描述,到中間層三棵樹的創(chuàng)建和屬性傳遞,以及最終進行UI布局和繪制的整個過程。該過程簡單總結一下就是:JS頁面 —> Dom樹 —> Component樹 —> Render樹,最后繪制Render樹。大家只要理解這個基本過程,在結合代碼關注重點流程。相信一定能夠對ACE_Engine框架的代碼有整體的理解。再此基礎上可以進行ACE組件的增強功能開發(fā),包括新增一個ACE組件等。 文章轉自:鴻湖萬聯(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 更多熱點文章閱讀
  • 玩轉OpenHarmony PID:教你打造兩輪平衡車
  • 基于 OpenHarmony 的智聯(lián)北斗海防系統(tǒng)
  • 玩轉OpenHarmony智能家居:如何實現樹莓派“碰一碰”設備控制
  • 帶你玩轉OpenHarmony AI:基于Seetaface2的人臉識別
  • 帶你玩轉OpenHarmony AI:打造智能語音子系統(tǒng)

提示:本文由電子發(fā)燒友社區(qū)發(fā)布,轉載請注明以上來源。如需社區(qū)合作及入群交流,請?zhí)砑游⑿臙EFans0806,或者發(fā)郵箱liuyong@huaqiu.com。


原文標題:OpenHarmony ACE 代碼框架總結

文章出處:【微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關注!文章轉載請注明出處。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:OpenHarmony ACE 代碼框架總結

文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    探索ACE1202:專為低功耗應用打造的算術控制器引擎

    探索ACE1202:專為低功耗應用打造的算術控制器引擎 在電子設備日益追求高性能與低功耗的今天,一款優(yōu)秀的微控制器對于產品的成功至關重要。Fairchild Semiconductor推出
    的頭像 發(fā)表于 04-10 14:55 ?88次閱讀

    深入了解ACE1101:適用于低功耗應用的算術控制器引擎

    深入了解ACE1101:適用于低功耗應用的算術控制器引擎 在當今對功耗要求日益嚴苛的電子應用領域,低功耗高性能的微控制器顯得尤為重要。Fairchild Semiconductor推出
    的頭像 發(fā)表于 04-10 14:45 ?153次閱讀

    探索ACE1001:低功耗應用的理想算術控制器引擎

    探索ACE1001:低功耗應用的理想算術控制器引擎 在電子設計領域,對于高性能、低功耗且小尺寸的微控制器需求日益增長。Fairchild Semiconductor的ACE1001作為ACEx
    的頭像 發(fā)表于 04-10 14:40 ?150次閱讀

    COSEL ACE系列AC - DC可配置型電源供應器詳解

    COSEL ACE系列AC - DC可配置型電源供應器詳解 在電子設備的設計中,電源供應器是至關重要的一環(huán),它直接關系到設備的性能和穩(wěn)定性。今天我們就來詳細介紹COSEL的ACE系列AC - DC
    的頭像 發(fā)表于 03-27 10:40 ?172次閱讀

    大曉機器人開源空間智能通用模型ACE-Brain-0

    近日,大曉機器人聯(lián)合上海交通大學、南洋理工大學、香港中文大學、香港大學等研究機構共同推出以空間智能為底層框架、跨不同具身本體的通用基礎模型“ACE-Brain-0”,正式面向全行業(yè)開源。
    的頭像 發(fā)表于 03-11 13:45 ?358次閱讀
    大曉機器人開源空間智能通用模型<b class='flag-5'>ACE</b>-Brain-0

    #OpenHarmony HDC調試

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月16日 09:46:28

    #OpenHarmony 開發(fā)環(huán)境準備

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月16日 09:44:31

    #OpenHarmony 鏡像燒錄

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月16日 09:42:36

    #OpenHarmony 系統(tǒng)概述

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月16日 09:39:20

    #OpenHarmony Hello World應用以及部署

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月16日 09:32:52

    知乎開源“智能預渲染框架” 幾行代碼實現鴻蒙應用頁面“秒開”

    近日,知乎在Gitee平臺開源了其自研的鴻蒙“智能預渲染框架”,并將該框架的Har包上架到OpenHarmony三方庫中心倉。該框架在鴻蒙平臺首創(chuàng)“智能預渲染”技術,旨在破解應用復雜頁
    的頭像 發(fā)表于 08-29 14:32 ?710次閱讀
    知乎開源“智能預渲染<b class='flag-5'>框架</b>” 幾行<b class='flag-5'>代碼</b>實現鴻蒙應用頁面“秒開”

    ArkUI-X框架LogInterface使用指南

    ArkUI-X框架支持日志攔截能力,Android側提供原生接口,用于注入LogInterface接口,框架日志及ts日志通過該接口輸出,本文的核心內容是介紹如何在Android平臺上有效利用
    發(fā)表于 06-15 23:20

    貢獻 OpenHarmony 庫關鍵配置

    # 貢獻 OpenHarmony 庫關鍵配置 #自研框架#ArkUI-X#三方框架#OpenHarmony#HarmonyOS ## 創(chuàng)建第三方庫 - 打開 DevEco Stud
    發(fā)表于 05-28 13:46

    電競三芯 游戲至尊 一加 Ace 5 至尊系列售價 2499 元起

    2025年5月27日,一加正式推出一加Ace5至尊系列,包含一加Ace5至尊版與一加Ace5競速版兩款機型。一加Ace5至尊系列配備了由9400系列旗艦芯、靈犀觸控芯和電競Wi-Fi芯
    的頭像 發(fā)表于 05-27 16:55 ?2947次閱讀
    電競三芯 游戲至尊 一加 <b class='flag-5'>Ace</b> 5 至尊系列售價 2499 元起

    請問下,openharmony支持哪一款龍芯的開發(fā)板?有沒有開源的龍芯的openharmony源碼?

    想買個2k0300的開發(fā)板學習龍芯和openharmony,愣是沒有看到提供openharmony源碼的,也沒與看到開源的代碼。gitee上,openharmony的龍芯sig倉庫也是
    發(fā)表于 04-26 13:06
    福鼎市| 晋城| 台山市| 昭觉县| 巫溪县| 兴义市| 贵州省| 丰顺县| 昌乐县| 大宁县| 阿克陶县| 舟曲县| 荣昌县| 东明县| 辽阳市| 同心县| 深圳市| 桐乡市| 灵台县| 莒南县| 卢龙县| 云浮市| 扎鲁特旗| 吉隆县| 莆田市| 阿克苏市| 浦北县| 新巴尔虎左旗| 湖南省| 潞城市| 钦州市| 灵寿县| 庆云县| 临泽县| 白山市| 信宜市| 平罗县| 敦化市| 平乐县| 温宿县| 鄂托克旗|