国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

從性能到底層架構(gòu),全面解析京東Taro開(kāi)發(fā)框架的鴻蒙化路徑

0
分享至

隨著鴻蒙操作系統(tǒng)(HarmonyOS)的快速演進(jìn)和生態(tài)版圖的持續(xù)擴(kuò)張,越來(lái)越多的企業(yè)與開(kāi)發(fā)者開(kāi)始將目光投向這一極具商業(yè)潛力與價(jià)值的平臺(tái)。同時(shí),眾多開(kāi)發(fā)者和企業(yè)積極參與開(kāi)源共建,共同推動(dòng)鴻蒙生態(tài)底層技術(shù)與開(kāi)發(fā)能力的創(chuàng)新。在近期舉行的華為開(kāi)發(fā)者大會(huì)上,華為透露,僅半年多以來(lái),已有30多家生態(tài)伙伴參與其中,共建的能力超過(guò)50項(xiàng),涵蓋框架、媒體、工具、安全等多個(gè)關(guān)鍵技術(shù)領(lǐng)域。

近日,京東團(tuán)隊(duì)正式開(kāi)源的Taro on HarmonyOS C-API版本,就是鴻蒙生態(tài)伙伴協(xié)同創(chuàng)新模式下的一個(gè)碩果。Taro框架的鴻蒙化旨在為廣大熟悉Web技術(shù)的開(kāi)發(fā)者,提供一座通往高性能鴻蒙應(yīng)用開(kāi)發(fā)的堅(jiān)實(shí)橋梁。

圖:京東鴻蒙版應(yīng)用

一、在跨端便利性與原生性能間尋求極致平衡

長(zhǎng)期以來(lái),跨平臺(tái)開(kāi)發(fā)框架始終在“開(kāi)發(fā)效率”與“出色性能”的天平兩端艱難搖擺。為了實(shí)現(xiàn)“一次編寫(xiě),多端運(yùn)行”,許多方案不得不引入額外的抽象層或JS Bridge,這往往以犧牲部分性能和體驗(yàn)為代價(jià)。

圖:Taro on HarmonyOS React

Taro on HarmonyOS 的 C-API 方案,便是為了解決鴻蒙應(yīng)用跨端開(kāi)發(fā)中的這項(xiàng)挑戰(zhàn)。它通過(guò)徹底的架構(gòu)革新,力求打破傳統(tǒng)桎梏,讓開(kāi)發(fā)者使用React技術(shù)棧,構(gòu)建出發(fā)揮鴻蒙設(shè)備性能潛力的高質(zhì)量應(yīng)用。

二、架構(gòu)解析:三層分離的性能優(yōu)化之道

Taro on HarmonyOS C-API 版本的高性能并非偶然,其根源在于京東工程師們?cè)O(shè)計(jì)的精巧分層架構(gòu)。該架構(gòu)將應(yīng)用運(yùn)行時(shí)清晰地解耦為三個(gè)層次,各司其職,高效協(xié)同,從根本上優(yōu)化了渲染鏈路。

1、上層(ArkVM 層):輕量化的業(yè)務(wù)邏輯層

這是開(kāi)發(fā)者直接接觸的層面,主要承載應(yīng)用的業(yè)務(wù)邏輯和React核心庫(kù)的運(yùn)行。京東團(tuán)隊(duì)在此方案中的一個(gè)關(guān)鍵決策,便是將這一層“極致輕量化”。通過(guò)將絕大部分與UI渲染、節(jié)點(diǎn)管理相關(guān)的重度操作下沉至C++層,ArkVM得以從繁重的渲染任務(wù)中解放出來(lái),更專(zhuān)注于高效執(zhí)行業(yè)務(wù)代碼,從而顯著降低了JavaScript引擎的負(fù)載。

2、中間層(Taro DOM & CSSOM):C++實(shí)現(xiàn)的渲染橋梁

這一層是連接上層指令與底層原生實(shí)現(xiàn)的核心樞紐。京東團(tuán)隊(duì)在C++環(huán)境中,從零到一構(gòu)建了一套完整的文檔對(duì)象模型(CSSOM)和Taro元素樹(shù)(TaroElement)。當(dāng)上層React代碼發(fā)出界面更新的指令時(shí)(如創(chuàng)建節(jié)點(diǎn)、設(shè)置屬性),這些指令被傳遞到中間層,由高性能的C++代碼進(jìn)行解析和處理。這一設(shè)計(jì)巧妙地繞開(kāi)了傳統(tǒng)跨端方案中開(kāi)銷(xiāo)巨大的JS Bridge,將耗時(shí)的DOM操作全部收斂在原生側(cè),是性能提升的關(guān)鍵所在。

3、底層(TaroRenderNode & Yoga):直通原生的最終渲染層

這是與鴻蒙系統(tǒng)UI能力直接對(duì)話的最后一環(huán)。它維護(hù)著一棵與屏幕真實(shí)UI節(jié)點(diǎn)一一對(duì)應(yīng)的虛擬節(jié)點(diǎn)樹(shù)(TaroRenderNode)。為了實(shí)現(xiàn)與Web標(biāo)準(zhǔn)高度一致的復(fù)雜布局,方案明智地集成了業(yè)界公認(rèn)的、高性能的Yoga布局引擎。所有節(jié)點(diǎn)的尺寸和位置計(jì)算,均在C++側(cè)完成。隨后,通過(guò)鴻蒙系統(tǒng)提供的C-API,以指令式的方式直接調(diào)用原生接口,高效地完成節(jié)點(diǎn)的創(chuàng)建、屬性設(shè)置、事件綁定與最終繪制。這條渲染路徑極為短促,幾乎沒(méi)有多余的性能損耗。

圖:Taro on HarmonyOS React DOM

更值得稱(chēng)道的是,整個(gè)架構(gòu)還深度整合了鴻蒙的VSync(垂直同步)機(jī)制,建立了一套嚴(yán)謹(jǐn)?shù)娜蝿?wù)處理管線。它確保了從樣式解析、布局計(jì)算到屏幕渲染的每一步都能精準(zhǔn)、有序地執(zhí)行,從而有效避免了UI卡頓和畫(huà)面撕裂,保障了最終的用戶(hù)體驗(yàn)。

三、關(guān)鍵特性:京東團(tuán)隊(duì)為鴻蒙開(kāi)發(fā)者獻(xiàn)上的“三板斧”

除了卓越的底層架構(gòu),該方案在功能完備性、性能優(yōu)化策略和開(kāi)發(fā)靈活性方面,也為開(kāi)發(fā)者提供了堅(jiān)實(shí)可靠的支持。

1. 豐富且對(duì)標(biāo)Web標(biāo)準(zhǔn)的能力支持

對(duì)于龐大的前端開(kāi)發(fā)者群體而言,技術(shù)棧的平滑遷移至關(guān)重要。Taro C-API版本在這方面表現(xiàn)出色:

全面的組件與API覆蓋:支持 React 18+,并提供了近 33 個(gè)常用核心組件(如 View、Text、Image)和大量常用 API(如 getSystemInfo)。特別地,于createSelectorQuery這類(lèi)復(fù)雜的 API,方案在 C++ 側(cè)進(jìn)行了重構(gòu),大幅提升了查詢(xún)性能。

圖:Taro on HarmonyOS CSS

強(qiáng)大的CSS兼容性: 它支持絕大部分前端開(kāi)發(fā)者所熟悉的CSS能力,包括Flexbox布局、position定位、偽類(lèi)與偽元素、vh/vw等響應(yīng)式單位、calc()計(jì)算屬性,乃至CSS變量。這背后是其強(qiáng)大的C++ CSSOM引擎在支撐,讓開(kāi)發(fā)者幾乎可以“零成本”復(fù)用現(xiàn)有的Web樣式代碼和布局經(jīng)驗(yàn)。

圖:Taro on HarmonyOS Style

2. 媲美ArkTS的高性能實(shí)踐

性能是檢驗(yàn)跨平臺(tái)框架的試金石。該方案通過(guò)多種工程手段,將性能優(yōu)化做到了極致:

圖:Taro on HarmonyOS CAPI

邏輯下沉與指令調(diào)用:如前所述,將大量運(yùn)行時(shí)邏輯從 JS 下沉至 C++,并通過(guò)指令式調(diào)用 ArkUI 的 C-API,極大減少了跨語(yǔ)言通信的消耗。

圖:Taro on HarmonyOS Virtual List

長(zhǎng)列表專(zhuān)項(xiàng)優(yōu)化:針對(duì)長(zhǎng)列表、信息流等大數(shù)據(jù)量場(chǎng)景,方案內(nèi)置了虛擬列表組件,并集成了懶加載、預(yù)加載和節(jié)點(diǎn)復(fù)用等高級(jí)優(yōu)化策略,有效避免了因一次性渲染大量節(jié)點(diǎn)而導(dǎo)致的卡頓,保障了滾動(dòng)的流暢性。

3. 務(wù)實(shí)而靈活的混合編譯模式

圖:Taro on HarmonyOS CAPI Hybrid

任何框架都無(wú)法預(yù)見(jiàn)所有開(kāi)發(fā)場(chǎng)景。當(dāng) Taro 提供的組件或 API 無(wú)法滿(mǎn)足特定需求時(shí)怎么辦?該方案提供了一種極為靈活的“混合編譯”模式。開(kāi)發(fā)者可以將原生的鴻蒙組件無(wú)縫集成到 Taro 項(xiàng)目中,實(shí)現(xiàn) Taro 組件與鴻蒙組件在同一頁(yè)面上的混合渲染和交互。這種設(shè)計(jì)極具務(wù)實(shí)精神,它允許團(tuán)隊(duì)根據(jù)項(xiàng)目需求漸進(jìn)式地采用 Taro,或在新舊項(xiàng)目遷移中平滑過(guò)渡,避免了技術(shù)選型的“一刀切”。

據(jù)悉,京東團(tuán)隊(duì)未來(lái)還將在此基礎(chǔ)上進(jìn)行多線程架構(gòu)升級(jí)及 React 的 C++ 化探索,目標(biāo)是進(jìn)一步壓榨性能潛力,極大地降低應(yīng)用丟幀率。

四、快速上手:開(kāi)啟你的鴻蒙跨端開(kāi)發(fā)之旅

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

整個(gè)接入流程被設(shè)計(jì)得相當(dāng)順暢:

  1. 環(huán)境準(zhǔn)備:開(kāi)發(fā)者需要在其 DevEco Studio IDE 中安裝相應(yīng)的 HarmonyOS 插件,這是構(gòu)建鴻蒙應(yīng)用的基礎(chǔ)。

  1. 項(xiàng)目配置:接著,在 Taro 項(xiàng)目的配置文件中,添加針對(duì)鴻蒙平臺(tái)的特定插件配置。

3、編譯運(yùn)行:完成配置后,只需執(zhí)行標(biāo)準(zhǔn)的 Taro 編譯命令,即可將項(xiàng)目構(gòu)建為鴻蒙應(yīng)用。

值得一提的是,該框架的靈活性也體現(xiàn)在配置層面。例如,在實(shí)踐前文提到的“混合編譯”模式時(shí),開(kāi)發(fā)者只需在頁(yè)面或組件的配置文件中添加entryOption: false,即可將其標(biāo)識(shí)為一個(gè)可供原生鴻蒙調(diào)用的組件,并通過(guò)componentName屬性指定其導(dǎo)出的組件名,整個(gè)過(guò)程直觀且高效。

結(jié)語(yǔ)

總而言之,Taro on HarmonyOS C-API 版本不僅為鴻蒙開(kāi)發(fā)者社區(qū)貢獻(xiàn)了一個(gè)強(qiáng)大而高效的跨平臺(tái)框架,更重要的是,它展示了一條通過(guò)技術(shù)創(chuàng)新來(lái)融合不同技術(shù)生態(tài)、實(shí)現(xiàn)共贏發(fā)展的可行路徑。隨著鴻蒙生態(tài)的持續(xù)建設(shè),我們有理由相信,未來(lái)將會(huì)有更多類(lèi)似的高質(zhì)量解決方案涌現(xiàn),共同推動(dòng)一個(gè)更加繁榮、多元的開(kāi)發(fā)者新時(shí)代的到來(lái)。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶(hù)上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
拼多多暴力抗法震驚全網(wǎng),市值萬(wàn)億巨頭為何如此囂張

拼多多暴力抗法震驚全網(wǎng),市值萬(wàn)億巨頭為何如此囂張

燕梳樓頻道
2026-04-20 21:12:04
人心散了!34分慘敗引發(fā)內(nèi)訌,趙繼偉發(fā)社媒表達(dá)不滿(mǎn),怒噴隊(duì)友

人心散了!34分慘敗引發(fā)內(nèi)訌,趙繼偉發(fā)社媒表達(dá)不滿(mǎn),怒噴隊(duì)友

南海浪花
2026-04-20 23:37:05
臺(tái)灣回歸新方案浮出水面:國(guó)民黨若同意,解放軍或無(wú)需動(dòng)武

臺(tái)灣回歸新方案浮出水面:國(guó)民黨若同意,解放軍或無(wú)需動(dòng)武

老范談史
2026-04-20 22:13:51
你怕了?日艦闖臺(tái)海48小時(shí)后,中國(guó)軍艦開(kāi)到家門(mén)口!日本網(wǎng)友崩了

你怕了?日艦闖臺(tái)海48小時(shí)后,中國(guó)軍艦開(kāi)到家門(mén)口!日本網(wǎng)友崩了

史行途
2026-04-20 22:12:22
詹皇恐怖紀(jì)錄加持!湖人火箭G2賽前:東契奇、杜蘭特復(fù)出進(jìn)度更新

詹皇恐怖紀(jì)錄加持!湖人火箭G2賽前:東契奇、杜蘭特復(fù)出進(jìn)度更新

錢(qián)說(shuō)體育
2026-04-21 07:19:32
撤下主力放棄比賽,替補(bǔ)卻反敗為勝!哈登都看傻了

撤下主力放棄比賽,替補(bǔ)卻反敗為勝!哈登都看傻了

林子說(shuō)事
2026-04-21 02:26:26
當(dāng)年張柏芝抱著lucas后面居然是大s,到現(xiàn)在才發(fā)現(xiàn),真美好

當(dāng)年張柏芝抱著lucas后面居然是大s,到現(xiàn)在才發(fā)現(xiàn),真美好

TVB的四小花
2026-04-21 00:03:30
世錦賽戰(zhàn)報(bào):六冠王7-10出局,16強(qiáng)決出7席中國(guó)3席!中國(guó)冠軍1-8

世錦賽戰(zhàn)報(bào):六冠王7-10出局,16強(qiáng)決出7席中國(guó)3席!中國(guó)冠軍1-8

求球不落諦
2026-04-21 00:55:34
震驚!網(wǎng)傳深圳中專(zhuān)打工女偽造百億富三代人設(shè),收割尊界S800車(chē)主

震驚!網(wǎng)傳深圳中專(zhuān)打工女偽造百億富三代人設(shè),收割尊界S800車(chē)主

火山詩(shī)話
2026-04-20 13:37:00
日本將地震震級(jí)調(diào)整至7.5級(jí)

日本將地震震級(jí)調(diào)整至7.5級(jí)

界面新聞
2026-04-20 16:30:33
澆小麥的地下水變成血紅色,誰(shuí)來(lái)守護(hù)我們的生存底線?

澆小麥的地下水變成血紅色,誰(shuí)來(lái)守護(hù)我們的生存底線?

記錄劉杰
2026-04-19 21:39:47
胡歌當(dāng)年居然沒(méi)有和左一這個(gè)美女在一起!太可惜了吧!

胡歌當(dāng)年居然沒(méi)有和左一這個(gè)美女在一起!太可惜了吧!

小椰的奶奶
2026-04-20 02:15:20
罰15億!拼多多一員工故意關(guān)門(mén),對(duì)抗調(diào)查,導(dǎo)致執(zhí)法人員手指骨折

罰15億!拼多多一員工故意關(guān)門(mén),對(duì)抗調(diào)查,導(dǎo)致執(zhí)法人員手指骨折

魔都姐姐雜談
2026-04-19 08:03:27
周薪25萬(wàn)鎊!31歲功勛確認(rèn)自由身告別曼城 效力10年助隊(duì)奪19冠

周薪25萬(wàn)鎊!31歲功勛確認(rèn)自由身告別曼城 效力10年助隊(duì)奪19冠

我愛(ài)英超
2026-04-21 06:22:01
“國(guó)產(chǎn)降壓王牌藥”終于納入醫(yī)保,不影響肝腎還能降尿酸!

“國(guó)產(chǎn)降壓王牌藥”終于納入醫(yī)保,不影響肝腎還能降尿酸!

白宸侃片
2026-04-20 19:04:26
負(fù)債2萬(wàn)億!向太:許家印拖麻袋賭牌還故意送錢(qián),我知道他想干啥

負(fù)債2萬(wàn)億!向太:許家印拖麻袋賭牌還故意送錢(qián),我知道他想干啥

大魚(yú)簡(jiǎn)科
2026-04-20 19:48:45
海外版“砍一刀”被美國(guó)消費(fèi)者瘋狂吐槽:這質(zhì)量就是中國(guó)制造?

海外版“砍一刀”被美國(guó)消費(fèi)者瘋狂吐槽:這質(zhì)量就是中國(guó)制造?

可達(dá)鴨面面觀
2026-04-20 16:18:29
英超太殘酷了:隨著西漢姆聯(lián)0-0,25-26賽季第一支降級(jí)球隊(duì)誕生

英超太殘酷了:隨著西漢姆聯(lián)0-0,25-26賽季第一支降級(jí)球隊(duì)誕生

側(cè)身凌空斬
2026-04-21 05:02:42
伊朗萬(wàn)噸大船沖向美軍封鎖線,特朗普暴怒!美官員直接點(diǎn)中國(guó)的名

伊朗萬(wàn)噸大船沖向美軍封鎖線,特朗普暴怒!美官員直接點(diǎn)中國(guó)的名

二大爺觀世界
2026-04-20 20:36:50
伊朗:最高領(lǐng)袖完全健康,出于安全考慮,目前錄制穆杰塔巴的任何影像或聲音均不妥當(dāng)

伊朗:最高領(lǐng)袖完全健康,出于安全考慮,目前錄制穆杰塔巴的任何影像或聲音均不妥當(dāng)

瀟湘晨報(bào)
2026-04-20 22:40:10
2026-04-21 07:28:49
幻塵科技 incentive-icons
幻塵科技
電腦,數(shù)碼資深?lèi)?ài)好者
1973文章數(shù) 8026關(guān)注度
往期回顧 全部

科技要聞

重磅官宣:庫(kù)克卸任,特努斯接任蘋(píng)果CEO

頭條要聞

19歲女孩挪用自家1700萬(wàn)當(dāng)"榜一大姐" 親爹帶女兒自首

頭條要聞

19歲女孩挪用自家1700萬(wàn)當(dāng)"榜一大姐" 親爹帶女兒自首

體育要聞

阿森納已拼盡全力,但你早干嘛去了...

娛樂(lè)要聞

《八千里路云和月》田家泰暗殺

財(cái)經(jīng)要聞

利潤(rùn)暴跌7成,字節(jié)到底在做什么

汽車(chē)要聞

把天門(mén)山搬進(jìn)廠?開(kāi)仰望U8沖上45度坡的那刻 我腿軟了

態(tài)度原創(chuàng)

游戲
家居
健康
旅游
房產(chǎn)

大司馬回歸兩個(gè)月,某音人氣穩(wěn)居頂流行列,道出風(fēng)光背后心酸現(xiàn)狀

家居要聞

自然慢調(diào) 慢享時(shí)光

干細(xì)胞抗衰4大誤區(qū),90%的人都中招

旅游要聞

以“Fun”為名,深圳布吉將發(fā)布全域旅游品牌IP

房產(chǎn)要聞

大規(guī)模商改住!海口西海岸,這波項(xiàng)目要贏麻了!

無(wú)障礙瀏覽 進(jìn)入關(guān)懷版