10月24日,在QCon全球軟件開發大會上海站的 HarmonyOS 開發者技術分論壇上,華為終端BG軟件主任工程師帶來了《開源鴻蒙 React Native 性能體驗提升實踐與思考》的主題分享,深入解析了開源鴻蒙React Native(RN)版本的最新進展,以及在性能和負載優化方面的實踐探索。
開源鴻蒙RN版本快速演進,助力應用RN業務高效商用
隨著鴻蒙生態的持續壯大,開發者迎來了除 Android 與 iOS 之外的“第三種選擇”。React Native(RN)作為業界廣泛應用的跨平臺開發框架,兼具開發效率與性能優勢。推進 RN 框架的鴻蒙化適配與版本演進,將有助于開發者復用原有技術棧,快速構建高性能的鴻蒙應用,有效緩解“加入一個新生態就會增加一倍投入”的行業困境,實現“一套代碼、多平臺復用”的開發體驗。
據華為專家介紹,依托開源鴻蒙社區平臺,華為攜手產業界及學術界力量共同交付RN跨平臺框架的開源鴻蒙版本。通過開源共建的模式,開源鴻蒙RN版本快速迭代,能力不斷完善,已支撐200多個應用RN業務商用。其中,在頭部200多個鴻蒙應用中,有40多款涉及RN框架,均已全部實現商用。更多應用仍在快速、健康適配中,為鴻蒙生態的持續擴展奠定堅實基礎。
多維優化路徑,提升性能與能效體驗
在社區伙伴的共同合力下,開源鴻蒙RN版本在性能、負載優化等方面取得了顯著成效。現場,華為專家從架構設計、編譯優化、系統資源調度、能效控制等多個維度進行了全方位分享。
架構層面,RN Mount 段通過 C++ 對接 ArkUI 的 C-API 接口,無跨語言流程,大幅度提升端到端性能。目前,開源鴻蒙RN各版本都已對接ArkUI C-API接口,顯著提升了頁面交互性能。
虛擬機側,龍雀 JS 引擎通過三級JIT流水線優化、LLVM編譯優化、Builtins PGO重排、靈活GC(暴露GC調參接口)、codecache等技術,在 V8 虛擬機的基礎上實現約20%的性能提升,相比原始版 Hermes 提升更為明顯,開發者只需修改兩行代碼即可調用。
編譯器優化方面,開源鴻蒙RN通過畢昇編譯器支持 LTO/PGO 等高級編譯優化技術,實現 5~8% 的性能提升與 2~5% 的負載下降,RN 庫產物尺寸縮小約15%。
能耗與動畫方面,LTPO在開源鴻蒙 RN上已實現衰變動畫、幀動畫、彈跳動畫等三類原生動畫適配,能夠降低部分動畫場景手機負載,讓設備不發熱,更節能。未來,將在RN JS動畫上使能LTPO幀率動態調整邏輯,使其根據動畫速度設置幀率。
頁面時延優化上,Text 組件及 Stack 等控件通過結構優化,避免無效和重復的測量動作,讓頁面完成時延平均降低超過100ms(benchmark測試)。目前,該措施已落地開源鴻蒙RN全部版本。
攜手推進類RN框架技術演進,共同繁榮鴻蒙生態
RN 框架在開源鴻蒙的持續演進,不僅依賴華為自身的研發投入,更離不開開源社區的協同共建。未來,華為還將攜手更多伙伴,在開源社區上對RN框架以及包括 Lynx、Taro、Hippy、Mach、AJX、Cube、KDS、DX、Talos、Picasso等在內的類RN框架進行技術演進的探討,共同推進性能、負載優化方案的落地,構建開發者友好的跨平臺框架生態,推動鴻蒙應用開發邁入高質量發展新階段。