2025 年 6 月,在華為開發者大會 2025 開發者場景技術共建分論壇,本文作者進行了《京東 Taro 框架鴻蒙版本正式開源 助力鴻蒙版三方應用開發》專題演講。期間闡述了 Taro on HarmonyOS 的技術實現方案、核心優化策略,以及開源版本的主要特性。
本文將詳細介紹 Taro on HarmonyOS 的技術架構、性能優化實踐和開源進展,分享我們在跨端開發中遇到的問題和解決思路。
期待更多人可以參與開源共建,一起交流討論!
背景
回顧 Taro 的發展歷程,從 2018 年 6 月開源至今,作為開放式的跨端跨框架解決方案在眾多熱心開源貢獻者的支持下,從初出茅廬逐步邁向成熟。

從最初僅支持面向編譯時的小程序端解決方案,到如今擁有支持多種前端框架和 UI 庫的強大能力;從單一的構建工具,到通過開放生態為開發者提供 Webpack、Vite、ESBuild 等豐富的工具選擇,讓團隊能夠定制專屬的研發流程;從專注小程序開發,到覆蓋各大小程序平臺以及 Web、iOS、Android、HarmonyOS 等移動端場景——Taro 的每一步成長都離不開社區的力量。
這些年來,我們在 GitHub 上收獲了 36,000+ star 和近 5,000 fork,更重要的是得到了眾多企業團隊和個人開發者貢獻的寶貴功能特性。在此,我們要向所有支持 Taro 發展的朋友們表示衷心的感謝!
技術架構演進
說到 HarmonyOS,Taro 從 2022 年開始布局鴻蒙適配,走過了一條持續演進的技術路徑。最初我們推出了 JSUI 版本的端平臺插件,為鴻蒙支持打下基礎;2023 年開源了 ETS 版本的端平臺插件,大幅提升了開發體驗和業務性能;而在最近釋出的 4.1 版本中,C-API 版本的 Harmony 端平臺插件也正式發布了,這標志著 Taro 鴻蒙支持能力的重要突破。

目前,我們仍在持續優化 Harmony C-API 插件的性能表現。團隊正在推進多線程以及更多版本特性的內部驗證,期待在驗證完成后能夠將其開源,為開發者在鴻蒙端帶來更優秀的研發體驗。
面向多端研發
面向多端的復雜場景,從來都不是一件容易的事情。在傳統的多端開發中,開發者往往需要面對各端語法標準不統一、組件和 API 接口各異、開發環境復雜多樣等諸多挑戰。當業務邏輯需要調整時,開發者必須在多個平臺上重復實現相同功能,代碼復用率極低,維護工作量成倍增長。

如圖所示,Taro 現已成功在 HarmonyOS 平臺上實現了與 Web 端、小程序及其他平臺一致的 UI 呈現效果。
基于 Taro 跨端研發標準推進業務實現,開發者只需編寫一套代碼,就能夠在多個平臺上獲得統一的用戶體驗,最大限度地節省多端業務的研發成本,讓團隊能夠將更多精力投入到業務創新上。
京東鴻蒙版

以京東鴻蒙版本為例,基于 Taro on HarmonyOS 解決方案,成功在研發效率與應用性能之間達成了理想平衡,其性能表現和穩定性均位居行業前列。

對于商品詳情頁等高復雜度、高數據量的核心業務場景,該方案展現出強大的技術適配能力。僅是在單線程 C-API 架構的支持下,這些重載業務場景的運行性能已達到與原生應用相當的水準,充分驗證了跨端技術在復雜場景下的可行性。
技術架構
為了達成這一目標,我們需要在技術架構層面進行深度優化。
Taro 在各平臺的適配邏輯保持高度一致性。開發者通過統一的 DSL以及標準化的組件和 API 庫即可完成全部代碼開發,樣式規范完全遵循 W3C 標準,使前端開發者能夠以極低的學習成本快速上手。

在編譯層面,Taro 通過 CLI 工具和插件系統實現各端的差異化處理。各個端平臺插件可以在編譯核心中選擇基于 Webpack、Vite 或 Metro 為基礎的編譯流程,將開發者的源代碼高效轉換為各目標平臺的可執行代碼。
在運行時中,通過集成語法適配器、DOM、BOM 模擬實現以及其他核心模塊,確保開發者項目能夠在 HarmonyOS 等各類平臺上穩定運行,真正實現一碼多端的開發愿景。
渲染層適配
盡管 Taro 在 HarmonyOS 平臺的插件架構歷經多輪重大版本升級,但其核心架構設計依舊可從以下幾個維度來理解:

代碼轉換流程:從開發者編寫的 React 代碼出發,通過與 React Reconciler 的深度集成,系統構建出完整的虛擬節點樹。隨后,運行時環境通過模擬的 DOM 和 BOM API,實現 React 節點樹與 Taro 內部節點樹的精確映射。
平臺適配實現:結合標準化的組件庫和 API 庫,系統將抽象的節點結構轉換為 HarmonyOS 平臺的原生原子組件,最終構建出完整的 ArkUI 渲染樹,并呈現在用戶界面上。
擴展能力支持:除了核心渲染流程外,運行時還集成了布局計算、事件處理、動畫效果等關鍵模塊,并持續接入更多 HarmonyOS 平臺特有能力,為開發者提供完整的跨平臺開發體驗。
架構方案迭代
在技術架構層面,ETS 方案與 C-API 方案本質上都遵循著相同的設計理念。兩者均構建了一套完整的三層節點樹體系:應用層的 React 節點樹首先轉換為中間層的 Taro 節點樹,隨后進一步映射到底層的 ArkUI 節點樹,最終實現界面的完整渲染。
然而,盡管在宏觀架構上兩種方案展現出高度的相似性,我們仍然堅定地推進從 ETS 向 C-API 的技術轉型。這一決策的背后,是團隊對性能極致追求的不懈努力。在移動應用開發的激烈競爭中,每一毫秒的性能提升都可能成為用戶體驗的關鍵差異點,而 C-API 方案正是在這樣的背景下應運而生的技術選擇。

C-API 方案帶來的性能提升是全方位的。在節點操作層面,我們徹底摒棄了傳統的聲明式遞歸構建模式,轉而采用更加靈活的實現方式,這為底層節點 API 的深度優化創造了前所未有的空間。同時,通過引入指令式節點操作機制,不同節點樹之間的數據交互效率得到了顯著改善,原本復雜的跨樹通信變得更加高效流暢。
更為重要的是,我們將樣式處理、布局計算、事件管理等核心功能模塊全面下沉至 C++ 原生層。這一架構調整不僅大幅減少了跨語言調用的頻次和開銷,更從根本上提升了系統的執行效率。通過這些多維度的優化措施,整個應用的性能表現實現了質的飛躍。
跨端研發標準
在適配鴻蒙和其他各端能力的基礎上,Taro 正在構建一套完整的跨端研發標準體系。這套標準不僅能夠最大限度地節約不同端之間的適配成本,更重要的是能夠充分兼容現有的前端生態系統,讓團隊多年積累的組件庫、工具鏈和技術沉淀得以無縫復用。

目前,以 React 作為 UI 基礎庫,該標準已涵蓋了 View、Text 等 26 個常用組件和網絡請求、圖片等 88 個常用 API。在樣式規范方面,我們遵循 W3C 標準實現了包含 93 條常用規范的樣式子集。與此同時,我們正在持續努力擴充這套標準體系,不斷增加新的組件類型、API 接口和樣式規范,以滿足日益復雜的業務場景需求。
更為關鍵的是,這套不斷完善的標準體系具備良好的擴展性和兼容性,能夠與團隊現有的 UI 組件庫、業務組件以及各類前端工具庫形成有機整合。我們致力于通過標準的持續演進,確保開發團隊能夠在跨端開發中充分發揮既有技術資產的價值,避免重復建設帶來的資源浪費,同時為未來更多端側適配需求預留充足的擴展空間。

為實現跨平臺開發的一致性標準,我們設計了 C++ 底層樣式處理架構。該架構整合了包括 Yoga 這類成熟布局引擎,構建統一的布局計算體系,保障各端樣式渲染的視覺一致性。通過將樣式計算邏輯完全遷移至 C-API 底層,系統獲得了顯著的性能優化潛力——不僅消除了對主渲染線程和業務邏輯的性能干擾,還通過 C++ 的高效執行特性實現了跨端樣式處理的統一化管理,從根本上提升了整體渲染效率。
針對鴻蒙端的特殊需求,我們在編譯階段引入了創新的預處理機制。通過在編譯流程中的 Rust 插件集成 lightingCSS,我們能夠將標準樣式預先轉換為鴻蒙平臺可以識別的樣式,進一步節省運行時運算的負擔。這一機制不僅實現了 W3C 標準屬性到各端專用單位和屬性值的智能轉換,更為跨端樣式的統一管理奠定了堅實的底層基礎。
基于這套完善的 C++ 樣式處理體系,UI 庫和業務團隊能夠輕松應對各種復雜場景的適配需求。無論是折疊屏的多形態展示、關懷模式的無障礙優化,還是暗黑模式的主題切換,都可以通過靈活的樣式選擇器機制實現精準控制。同時,動畫效果和過渡轉場也能夠通過高效的樣式更新和節點刷新機制,呈現出極為流暢的用戶體驗。
方案特性
基于此架構,Taro on HarmonyOS 方案積累了豐富的核心特性。
研發效能層面:通過兼容 React 生態體系和 W3C 樣式規范,開發者能夠充分利用前端成熟的工具鏈和生態資源,高效完成業務功能迭代與開發調試工作,完善鴻蒙端的開發體驗。同時,開發者編寫的樣式代碼可在鴻蒙、小程序和 Web 端無縫復用,實現真正的"一次編寫,多端運行"。
生態擴展層面:提供靈活的組件和 API 擴展機制,支持業務團隊根據實際需求定制運行時環境。更重要的是,通過跨端統一的原生混合調用方案,Taro C++ 模塊與 ArkTS 原生模塊可實現雙向互調,為團隊間協作提供了更多可能性,有效避免重復開發,提升整體研發效率。

性能體驗
在 C-API 方案中,我們圍繞卓越性能體驗實現了多項核心特性:
運行時性能優化
將 DOM Tree、事件處理、樣式計算等高頻操作模塊完全下沉至 C++ 層,顯著提升運行時執行效率。通過底層優化,減少了 JavaScript 與原生層之間的頻繁通信開銷,避免了數據序列化/反序列化的性能損耗。同時,C++ 層的內存管理更加高效,能夠更好地控制對象生命周期,減少內存碎片,為復雜應用場景提供更穩定的性能表現。
高階組件能力

基于 HarmonyOS 原生的 List、WaterFlow 等組件特性,深度定制實現虛擬列表、瀑布流等高性能組件,充分發揮系統級優勢。
這些高階組件不僅繼承了系統組件的原生性能,還針對前端開發習慣進行了接口封裝,支持動態數據加載、智能緩存策略、滾動性能優化等特性。開發者可以像使用傳統前端組件一樣輕松實現大數據量的列表展示,無需關心底層的復雜優化邏輯。
圖片處理模塊
構建專門服務于樣式渲染、背景繪制、Image 組件的圖片處理系統,實現更優秀的圖片加載性能和內存管理。該模塊集成了多級緩存機制,支持內存緩存、磁盤緩存和網絡緩存的智能調度,大幅減少重復加載時間。

同時提供了圖片壓縮、格式轉換、尺寸適配等功能,能夠根據設備性能和網絡狀況自動選擇最優的圖片處理策略,有效降低內存占用和網絡帶寬消耗。
文字與繪圖支持
通過 PixelMap 技術為文字組件提供豐富的字體屬性和渲染能力,同時為 Canvas 組件及相關 API 提供底層支持,覆蓋分享海報生成等復雜業務繪制場景。文字渲染支持多種字體格式、文字效果(陰影、描邊、漸變等)和排版布局,滿足不同設計需求。

Canvas 繪圖能力則支持路徑繪制、圖形變換、濾鏡效果等高級功能,為數據可視化、游戲開發、創意設計等場景提供強大的圖形處理能力。
視頻播放能力
基于 AVPlayer 重構 Video 組件和相關 API 實現,在 C-API 層直接接入,減少調用鏈路,為業務提供更靈活的視頻適配方案。新的視頻播放架構支持多種視頻格式和編碼標準,提供了精確的播放控制、實時進度反饋、音視頻同步等核心功能。

總結展望
Taro 在 HarmonyOS 平臺的深度適配,旨在為全場景應用開發開辟新的技術路徑。通過構建完善的鴻蒙端能力體系,我們致力于為更廣泛的業務場景提供技術支撐,推動跨平臺開發在鴻蒙生態中的創新應用。

在實際應用中,Taro 成功支撐了京東鴻蒙 APP 的商業化落地。該應用的首頁、搜索推薦以及核心購物流程等關鍵業務模塊均基于 Taro 技術棧開發,在確保快速迭代交付的同時,實現了業界領先的性能表現和系統穩定性。應用上線后迅速在華為應用市場購物類別中登頂,充分驗證了技術方案的商業價值。
生態建設與合作拓展
基于成功實踐的示范效應,更多京東生態應用正在加速鴻蒙化進程,包括一號會員店、七鮮等重要業務線的鴻蒙版本已上架鴻蒙應用市場或者進入開發階段。同時,我們的技術方案也獲得了外部合作伙伴的認可,58同城、樸樸超市等知名企業均選擇采用 Taro 相關的鴻蒙開發解決方案,共同構建更加繁榮的鴻蒙應用生態。
未來展望
我們將持續深化開源戰略,在內部版本充分驗證后,逐步向社區開放多線程等更多核心技術特性。同時不斷擴展跨端標準覆蓋范圍,讓更多組件和 API 實現跨平臺一致性,為開發者提供更優質的開發體驗和更完善的調試工具鏈,也為動態化能力構建更堅實的技術基礎。

在性能優化方面,我們將持續推進更多核心模塊向 C++ 層遷移,包括 React 的 C++ 版本實現和高頻 API 運行時模塊優化,同時積極借鑒節點樹扁平化等社區驗證的優秀實踐。

雖然 Taro on HarmonyOS 的 C-API 版本插件開源時間不長,但已經吸引了眾多開發者的積極參與。我們期待更多技術同仁能夠加入這個充滿活力的開源生態,共同推動 Taro on HarmonyOS 方案的不斷完善,在開源共建的道路上續寫跨端開發的新篇章。
審核編輯 黃宇
-
HarmonyOS
+關注
關注
80文章
2153瀏覽量
36037
發布評論請先 登錄
深度解析?ARM?架構:從劍橋車庫到未來計算
基于大模型ai的地面測控站網調度分系統:功能特點與平臺架構解析
微機消諧器是什么?技術原理深度解析
聚徽深度解析國內工控平板電腦的工業級抗干擾技術如何實現?
【HarmonyOS next】ArkUI-X休閑益智猜字謎【基礎】
京東開源Taro on HarmonyOS C-API版本
GPU架構深度解析
邊緣AI MPU深度盤點:品牌、型號與技術特性全解析
解鎖未來汽車電子技術:軟件定義車輛與區域架構深度解析
2025 年 5G 工業路由器深度解析:技術架構與行業應用實踐
Taro on HarmonyOS 技術架構深度解析
評論