女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

京東開源Taro on HarmonyOS C-API版本

HarmonyOS開發者 ? 來源:HarmonyOS開發者 ? 2025-06-09 09:19 ? 次閱讀

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

整體技術架構

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

283b7f5c-3dcd-11f0-b715-92fbcf53809c.png

圖片來源:Taro on HarmonyOS React

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

中間層是 Taro 的 CSSOM 和 TaroElement 樹,負責處理上層 Taro 運行時代碼傳遞下來的指令,比如 TaroElement 節點樹創建,綁定關系以及設置屬性等操作。

最下層存放的是 TaroRenderNode 虛擬節點樹,這棵節點樹和真正的上屏節點樹是一一對應的關系,同時在 TaroRenderNode 節點樹內會創建對應的 Yoga 節點。

284e7148-3dcd-11f0-b715-92fbcf53809c.png

圖片來源:Taro on HarmonyOS React DOM

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

重點特性

在特性方面,Taro on HarmonyOS 技術方案具備“豐富的能力支持、媲美 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-API 版本支持大部分常見的 CSS 能力:

支持常見的 CSS 樣式和布局,支持 flex、偽類和偽元素

支持常見的 CSS 定位,絕對定位、fixed 定位

支持常見的 CSS 選擇器和媒體查詢

支持常見的 CSS 單位,比如 vh、vw 以及計算屬性 calc

支持 CSS 變量以及安全區域等預定義變量

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

285eb832-3dcd-11f0-b715-92fbcf53809c.png

圖片來源:Taro on HarmonyOS CSS

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

28708f9e-3dcd-11f0-b715-92fbcf53809c.png

圖片來源:Taro on HarmonyOS Style

(2)媲美 ArkTS 的高性能

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

2884068c-3dcd-11f0-b715-92fbcf53809c.png

圖片來源:Taro on HarmonyOS CAPI

另一方面,在 C++ 側 Taro 會指令式地調用 ArkUI 在 C++ 側提供的 API,來高效地創建節點、設置屬性、綁定事件以及繪制上屏。

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

28949e20-3dcd-11f0-b715-92fbcf53809c.png

圖片來源:Taro on HarmonyOS Virtual List

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

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

使用指南

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

https://github.com/NervJS/taro-harmony-capi-library

使用前,開發者可先安裝Harmony插件

28b6f39e-3dcd-11f0-b715-92fbcf53809c.png

添加插件配置

28c3d668-3dcd-11f0-b715-92fbcf53809c.png

編譯項目

28d515a4-3dcd-11f0-b715-92fbcf53809c.png

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

28e508a6-3dcd-11f0-b715-92fbcf53809c.png

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

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

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

    關注

    3

    文章

    3616

    瀏覽量

    43494
  • 鴻蒙
    +關注

    關注

    59

    文章

    2531

    瀏覽量

    43788
  • HarmonyOS
    +關注

    關注

    79

    文章

    2054

    瀏覽量

    32167

原文標題:京東正式開源Taro on HarmonyOS C-API 版本,為鴻蒙應用跨端開發提供高性能框架

文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    華為推出首款搭載HarmonyOS 5的鴻蒙電腦

    近日,華為正式發布搭載基于開源鴻蒙5.0.2 Release版本打造的全新HarmonyOS 5的鴻蒙電腦HUAWEI MateBook Pro與HUAWEI MateBook Fold非凡大師
    的頭像 發表于 05-26 09:28 ?357次閱讀

    使用HarmonyOS NEXT實現簽名板的功能

    個功能太簡單了。這期主要講一下之前實現功能有多難受,以及如何實現。,現在這套代碼也是可以直接遷移到API12版本的。 對了,目前我們開發的圖表組件已經開源了,有興趣的伙伴可以參與一下。日常開發項目需要用圖表組件的也可以安裝立即使
    的頭像 發表于 03-16 16:00 ?361次閱讀

    HarmonyOS NEXT開發實戰:DevEco Studio中DeepSeek的使用

    隨著HarmonyOS Next的持續發布,鴻蒙系統對AI能力的支持顯著增強。本文將深入探討如何在鴻蒙應用中集成AI模型,結合接入DeepSeek,一起來探索開發鴻蒙原生應用的更多可能吧! 第一步
    發表于 03-07 14:56

    AKI跨語言調用庫神助攻C/C++代碼遷移至HarmonyOS NEXT

    跨語言調用,成為開發者和廠商面臨的重要挑戰。為解決這一痛點,一款名為AKI (Alpha Kernel Interacting)的開源三方庫應運而生,它通過高效封裝跨語言調用接口,幫助開發者將C
    發表于 01-02 17:08

    HarmonyOS開發指導類文檔更新速遞(下)

    伴隨著HarmonyOS 5.0.0 Release、HarmonyOS 5.0.1 Release版本的發布,HarmonyOS官網文檔也帶來了不少上新內容。本期
    的頭像 發表于 12-30 09:54 ?971次閱讀
    <b class='flag-5'>HarmonyOS</b>開發指導類文檔更新速遞(下)

    開源鴻蒙5.0 Release版本關鍵特性解讀

    概述 開源鴻蒙 5.0 Release版本開源鴻蒙操作系統的一個里程碑,在系統能力、性能優化等多個方面進一步增強。本文將從系統功能、性能優化,安全和隱私保護以及分布式能力等角度,解讀該版本
    的頭像 發表于 12-23 13:58 ?1818次閱讀

    TMS320F280013x/15x閃存API版本 2.00.10.00

    電子發燒友網站提供《TMS320F280013x/15x閃存API版本 2.00.10.00.pdf》資料免費下載
    發表于 12-05 14:20 ?1次下載
    TMS320F280013x/15x閃存<b class='flag-5'>API</b><b class='flag-5'>版本</b> 2.00.10.00

    Taro 鴻蒙技術內幕系列(三) - 多語言場景下的通用事件系統設計

    生態系統中,雖然原生應用通?;?ArkTS 實現,但在實際研發過程中發現,使用 C++ 可以顯著提升應用框架和業務的性能表現。隨著鴻蒙系統的不斷迭代升級,不同語言環境間的協作已成為不可或缺的開發范式,共同構建了更豐富的研發生態。 Taro 通過接入鴻蒙端的
    的頭像 發表于 11-27 11:42 ?555次閱讀
    <b class='flag-5'>Taro</b> 鴻蒙技術內幕系列(三) - 多語言場景下的通用事件系統設計

    C2000 Position Manager PTO API參考指南

    電子發燒友網站提供《C2000 Position Manager PTO API參考指南.pdf》資料免費下載
    發表于 11-26 14:20 ?0次下載
    <b class='flag-5'>C</b>2000 Position Manager PTO <b class='flag-5'>API</b>參考指南

    TMS320F28003x閃存API版本1.58.11.00

    電子發燒友網站提供《TMS320F28003x閃存API版本1.58.11.00.pdf》資料免費下載
    發表于 11-19 14:15 ?1次下載
    TMS320F28003x閃存<b class='flag-5'>API</b><b class='flag-5'>版本</b>1.58.11.00

    鴻蒙Taro實戰:01-搭建開發環境

    **4.0.0** 5. Module name: entry 注意,上面當前 Taro 支持的 SDK 版本為 4.0.0 點擊 `Finish` 完成項目創建。 ## 安裝 Taro 4.x
    發表于 11-06 16:42

    Taro 鴻蒙技術內幕系列(二):如何讓 W3C 標準的 CSS跑在鴻蒙上

    HarmonyOS 采用自研的 ArkUI 框架作為原生 UI 開發方案,這套方案有完善的布局系統和樣式控制,但是他的標準與 W3C 的 CSS 標準存在不一致性。這意味著,如果 Taro 直接
    的頭像 發表于 10-31 10:54 ?451次閱讀
    <b class='flag-5'>Taro</b> 鴻蒙技術內幕系列(二):如何讓 W3<b class='flag-5'>C</b> 標準的 CSS跑在鴻蒙上

    Taro鴻蒙技術內幕系列(一):如何將React代碼跑在ArkUI上

    基于 Taro 打造的京東鴻蒙 APP 已跟隨鴻蒙 Next 系統公測,本系列文章將深入解析 Taro 如何實現使用 React 開發高性能鴻蒙應用的技術內幕。
    的頭像 發表于 10-25 17:24 ?661次閱讀
    <b class='flag-5'>Taro</b>鴻蒙技術內幕系列(一):如何將React代碼跑在ArkUI上

    ESP8266 NONOS SDK V1.5.4版本的SDK,是否支持upgrade API?

    ESP8266 NONOS SDK V1.5.4版本的SDK,是否支持upgrade API? 打算實現fota升級。 include/upgrade.h定義了升級使用的API。lib目錄下也有
    發表于 07-09 07:58

    帶你快速認識 HarmonyOS

    國產操作系統HarmonyOS(鴻蒙操作系統)開始進入到大眾的視野。鴻蒙寓意為“萬物起源”,發展至今已經經過了好幾個迭代版本。1.1.1.早期鴻蒙雛形LiteOS2015年5月20日,華為大會上
    的頭像 發表于 07-06 08:04 ?2330次閱讀
    帶你快速認識 <b class='flag-5'>HarmonyOS</b>