行動App開發框架React Native釋出0.82版,這是首次只運行於新架構的版本,舊架構開關旗標在Android與iOS將被忽略,實際執行一律採新架構。官方表示後續版本將開始移除舊架構程式碼,以縮小安裝體積並簡化程式碼庫。此次也同步提供編譯器Hermes V1實驗選項、升級至React 19.1.1,並引入可由ref取得的DOM節點API子集與開發體驗相關最佳化。

對大多數團隊來說,React Native 0.82最明顯的變更便是架構切換,官方建議,現有專案尚未完成新架構搬遷,可以先升到React Native 0.81或Expo SDK 54,於該版本啟用新架構並驗證功能後,再更新至0.82。官方指出互通層仍會保留,已支援雙架構的第三方函式庫在0.82下可繼續運作。

Hermes V1是下一代Hermes編譯器,現階段以實驗形式釋出,需要從原始碼建置才能啟用,並在package.json與Android、iOS的建置設定中開關。Hermes V1著重編譯器與VM層面的效能,官方在實際應用Expensify上測得Android低階裝置與iOS在多項指標均有提升,其中套件載入時間Android約快3.2%、iOS約快9%,整體可互動時間Total TTI指標在Android約快7.6%、iOS約快2.5%,元件可互動時間Content TTI指標在Android約快7.2%、iOS約快7.5%。官方建議團隊自行量測,效能提升會隨應用細節而異。

React Native 0.82內建React 19.1.1正式支援Owner Stacks,修正了過去在特定Babel設定下堆疊資訊不完整的問題,也改善useDeferredValue與startTransition在結合Suspense時的行為一致性。對日常除錯而言,錯誤訊息更具可讀性,除錯過程能更快定位問題來源。

新版React Native針對原生元件的設計進行了調整,修改了ref的接取得元件或DOM節點實例的行為,讓開發者能夠更直接地取用更接近網頁DOM的元素。以往ref只能用來呼叫像measure或setNativeProps這類方法,現在則能像在網頁開發中那樣,使用parentNode或getBoundingClientRect等屬性,查看畫面中元件的位置與層級。這使得操作介面結構的方式更直覺,也讓熟悉Web前端的工程師更容易上手。

React Native新增可於Canary發行層級啟用的Web Performance API子集,支援高解析度時間與長任務等指標。這些資料之後將整合至React Native DevTools的效能面板,有助於在實際執行時記錄互動延遲與長任務,做出更貼近實際使用情境的改進判斷。

Android端新增加debugOptimized建置型態,介於傳統除錯與正式發布之間,預設開啟多項C++最佳化,動畫與重算繪會更順暢,同時保留對JavaScript層的DevTools支援,但不支援C++原生偵錯。官方也已將此功能向前支援至0.81與Expo SDK 54,方便開發者在搬遷階段就能應用。

熱門新聞

Advertisement