成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

京東正式開源Taro on HarmonyOS C-API 版本,為鴻蒙應用跨端開發(fā)提供高性能框架

原創(chuàng)
開源
京東正式開源了Taro on HarmonyOS C-API?版本,為鴻蒙應用跨端開發(fā)提供高性能框架。這次版本的發(fā)布,帶來了更豐富的樣式適配、更高效的渲染性能、更全面的組件支持,讓開發(fā)者以Web范式的方式來開發(fā)出媲美鴻蒙性能的應用,為鴻蒙應用生態(tài)的豐富注入強大的動力。

近日,京東正式開源了Taro on HarmonyOS C-API 版本,為鴻蒙應用跨端開發(fā)提供高性能框架。這次版本的發(fā)布,帶來了更豐富的樣式適配、更高效的渲染性能、更全面的組件支持,讓開發(fā)者以Web范式的方式來開發(fā)出媲美鴻蒙性能的應用,為鴻蒙應用生態(tài)的豐富注入強大的動力。

圖:京東鴻蒙版應用圖:京東鴻蒙版應用

1.整體技術(shù)架構(gòu)

Taro on HarmonyOS 技術(shù)方案支持開發(fā)者使用 React DSL 來開發(fā)鴻蒙應用,在整體架構(gòu)上可以簡單分為三層:

圖:Taro on HarmonyOS React圖:Taro on HarmonyOS React

最上層是應用業(yè)務代碼所在的ArkVM 層,這一層在 C-API 版本中主要運行業(yè)務代碼、React 的核心代碼以及少量的 Taro 運行時代碼。

中間層是Taro 的 CSSOM 和 TaroElement 樹,負責處理上層 Taro 運行時代碼傳遞下來的指令,比如 TaroElement 節(jié)點樹創(chuàng)建,綁定關(guān)系以及設(shè)置屬性等操作。

最下層存放的是TaroRenderNode 虛擬節(jié)點樹,這棵節(jié)點樹和真正的上屏節(jié)點樹是一一對應的關(guān)系,同時在 TaroRenderNode 節(jié)點樹內(nèi)會創(chuàng)建對應的 Yoga 節(jié)點。 

圖:Taro on HarmonyOS React DOM圖:Taro on HarmonyOS React DOM

同時,Taro還基于鴻蒙提供的VSync機制設(shè)置一套任務處理管線,來處理中間層和下層節(jié)點樹產(chǎn)生的樣式匹配、節(jié)點測量、節(jié)點布局、樣式設(shè)置以及節(jié)點上屏等任務,來保證任務的時序性和最后上屏渲染結(jié)果的正確性。

2.重點特性

在特性方面,Taro on HarmonyOS 技術(shù)方案具備“豐富的能力支持、媲美 ArkTS 的高性能、支持 C-API 渲染模式”等三大重點特性。

(1)豐富的能力支持

C-API 版本的 Taro on HarmonyOS支持常用組件和 API ,不僅支持React 18+,還支持View、Text、Image、Video 等近33個Taro組件,以及支持如getSystemInfo、getStorage 等常用的API,針對邏輯較為復雜的 API 如:createSelectorQuery 以及 createIntersectionObserver,也在C++側(cè)進行了重新的實現(xiàn),大幅提升了執(zhí)行性能。

此外C-API 版本支持大部分常見的 CSS 能力:

  • 支持常見的CSS 樣式和布局,支持 flex、偽類和偽元素
  • 支持常見的CSS 定位,絕對定位、fixed 定位
  • 支持常見的CSS 選擇器和媒體查詢
  • 支持常見的CSS 單位,比如 vh、vw 以及計算屬性 calc
  • 支持CSS 變量以及安全區(qū)域等預定義變量

同時,在參考瀏覽器CSSOM 的實現(xiàn)方式基礎(chǔ)上,在C++實現(xiàn)了一套 CSSOM 邏輯,里面包含了樣式解析、樣式匹配、樣式合成和應用整個鏈路的樣式處理邏輯。

圖:Taro on HarmonyOS CSS圖:Taro on HarmonyOS CSS

另外,Taro 引入了 Yoga 布局引擎來計算渲染節(jié)點的位置和大小,最大程度保證 Taro 構(gòu)建出來的鴻蒙應用中渲染樣式和 W3C 規(guī)范的一致性。

圖:Taro on HarmonyOS Style

(2)媲美 ArkTS 的高性能

在C-API 的版本中,ArkVM 層的 Taro 運行時內(nèi)容已削減到非常薄,將 TaroElement 的大部分內(nèi)容都下沉到了 C++ 側(cè),并在 ArkVM 層取消了他們之間父子關(guān)系的綁定,極大地提升了 TaroElement 相關(guān)邏輯的性能。 

圖:Taro on HarmonyOS CAPI圖:Taro on HarmonyOS CAPI

另一方面,在C++ 側(cè) Taro 會指令式地調(diào)用 ArkUI 在 C++ 側(cè)提供的 API,來高效地創(chuàng)建節(jié)點、設(shè)置屬性、綁定事件以及繪制上屏。

Taro 還針對長列表場景針對性地提供了長列表類型組件,并對長列表類型組件進行了優(yōu)化,提供了懶加載、預加載和節(jié)點復用等功能,有效地解決大數(shù)據(jù)量下的性能問題,提高應用的流暢度和用戶體驗。 

圖:Taro on HarmonyOS Virtual List圖:Taro on HarmonyOS Virtual List

(3)支持 C-API 的渲染模式

Taro 的組件和 API 是以小程序作為基準來進行設(shè)計的,因此在實際的鴻蒙應用開發(fā)過程中,會出現(xiàn)部分所需的組件和 API 在 Taro 中不存在的情況,因為針對這種情況,在 C-API 版本中,Taro 支持將初始頁面或者組件混合編譯到 Taro 鴻蒙項目中,支持 Taro 組件和鴻蒙組件在頁面上的混合使用。

圖:Taro on HarmonyOS CAPI Hybrid圖:Taro on HarmonyOS CAPI Hybrid

3.使用指南

Taro on HarmonyOS技術(shù)方案已開源至Github,開發(fā)者可搜索“taro”以獲取更多信息:

使用前,開發(fā)者可先安裝Harmony插件。

圖片圖片

添加插件配置。

圖片圖片

編譯項目。

圖片圖片

如果需要編譯鴻蒙應用,同時使用編譯鴻蒙組件,可以在頁面配置中添加 entryOption: false  表示該頁面是組件,同時可以用過 componentName 指定組件導出名。

圖片圖片

Taro on HarmonyOS C-API 版本經(jīng)歷了京東鴻蒙 APP 的實踐,從綜合性能、生態(tài)以及開發(fā)體驗都更上一層樓。未來,京東團隊還會基于當前的 Taro on HarmonyOS C-API 方案,進行多線程的架構(gòu)升級以及 React 的 C++ 化,進一步提升 Taro 在鴻蒙端側(cè)的性能,并極大地降低應用的丟幀率。歡迎廣大開發(fā)者一起參與 Taro on HarmonyOS 的共建,推動 Taro 更好發(fā)展。

華為在未來也將持續(xù)攜手生態(tài)伙伴共建創(chuàng)新,面向底座技術(shù)、通用能力、垂類行業(yè)等場景推出系列開發(fā)者場景化解決方案,不斷提升鴻蒙應用的創(chuàng)新體驗和開發(fā)效率,與廣大開發(fā)者共建繁榮的鴻蒙生態(tài)。

責任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2018-02-28 10:11:50

騰訊框架開源

2023-09-04 08:32:43

web開發(fā)圖像

2012-05-04 10:21:52

亞馬遜彈性計算云EC2高性能計算

2012-09-19 14:27:16

Worklight

2022-06-08 14:49:32

F5NGINXAzure

2020-10-13 18:09:22

開發(fā)框架開源

2022-08-06 08:34:04

京東App適配技術(shù)棧

2021-04-19 17:09:51

戴爾

2009-02-27 14:46:09

AjaxGWT開發(fā)

2020-11-05 10:05:25

App

2015-04-22 09:41:45

WeX5

2022-02-28 15:05:17

ArkUIHarmonyOS鴻蒙

2020-11-09 11:56:49

HarmonyOS

2023-10-27 06:33:14

鴻蒙開發(fā)套件

2014-07-30 14:37:00

FacebookiOS開源庫

2014-05-26 15:17:10

CrossApp開源跨平臺開發(fā)引擎

2015-08-03 09:40:41

WeX5V3.2

2024-12-04 13:43:38

鴻蒙曹志翔應用

2017-05-25 10:50:16

Python高性能服務

2011-05-06 11:55:41

紅帽PaaS
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 91性高湖久久久久久久久_久久99 | 国产精品a久久久久 | 伊人伊人网 | 国产一级片一区二区 | 久久久久9999亚洲精品 | 欧美一区二区网站 | 欧美一区视频 | 久久国产精品视频 | 色综合久久久 | 国产精品成人一区 | 国产一区二区三区免费观看在线 | 三级黄色片在线播放 | 一a级片 | 国产精品一区二区av | av一级毛片| 精品国产欧美日韩不卡在线观看 | 欧美日韩国产精品 | 91传媒在线观看 | 91看片在线观看 | 国产精品亚洲精品日韩已方 | 97精品一区二区 | 午夜私人影院 | 午夜在线免费观看视频 | 欧美在线一区二区三区 | 国产精品一区一区 | 美女视频h | 久久国产精品视频 | 91国产精品 | 国产精品久久久久无码av | 国产乱码精品一品二品 | 一区二区三区中文字幕 | 国产xxxx搡xxxxx搡麻豆 | 91久久国产综合久久91精品网站 | 欧美 日韩 国产 在线 | 欧美三级在线 | www天天操 | 欧美日韩在线视频一区 | 色综合国产 | 四虎影院久久 | 日韩影院在线观看 | 天天操精品视频 |