博主小程式體驗
| 博主公眾號分享
2024年10月23日,React Native釋出了具有里程碑意義的0.76版本,這一版本帶來了眾多令人矚目的更新,將對移動應用開發產生深遠影響。
一、主要更新內容概覽
(一)新架構預設啟用
從0.76版本起,新架構在專案中預設開啟,這標誌著它已經具備了用於生產環境的條件。新架構是自2018年以來對React Native的全面重寫,與舊架構相比有諸多優勢。
(二)React Native DevTools穩定版釋出
全新的React Native DevTools穩定版為開發者提供了更可靠的除錯體驗。它包含基於Chrome DevTools的偵錯程式、元件檢查器和效能分析器,使得開發過程中的除錯工作更加高效和精準。
(三)Metro解析速度大幅提升
Metro的解析速度提高了約15倍,這一顯著的效能提升極大地改善了構建效能,減少了開發過程中的等待時間。
(四)新增樣式屬性
新增了boxShadow
和filter
樣式屬性,進一步增強了UI設計的靈活性,為開發者提供了更多的設計選擇,能夠打造出更加精美的使用者介面。
二、破壞性更改
(一)移除對react - native - community/cli的依賴
這一舉措使React Native與CLI解耦,能夠更快地獨立釋出,提高了開發的效率和靈活性。
(二)Android應用體積減少且啟動效能提升
透過合併本地庫,Android應用體積減少約3.8MB,同時啟動效能也得到了提升,為使用者提供了更好的使用體驗。
(三)更新最低iOS和Android SDK要求
iOS最低版本從13.4更新至15.1,Android從SDK 23更新至SDK 24,開發者需要注意這些變化,確保應用在相應的系統環境下能夠正常執行。
三、其他更新
(一)動畫最佳化
停止在迴圈動畫中傳送狀態更新,有效地減少了不必要的重新渲染,提高了動畫的效能和流暢度。
(二)Android和iOS的其他細微變化
包括渲染背景和模組匯出宏的更改等,這些細微的調整進一步完善了React Native在不同平臺上的表現。
四、注意事項
(一)Expo支援情況
如果使用Expo,Expo SDK 52將支援React Native 0.76,開發者需要根據自己的開發環境進行相應的配置和升級。
(二)版本支援說明
0.76現在是React Native的最新穩定版本,而0.73.x不再受支援,開發者應及時升級到最新版本,以享受新功能和效能提升帶來的優勢。
五、React Native全新架構詳解
(一)現代React特性的支援
新架構完全支援現代React功能,如Suspense、Transitions、自動批處理以及useLayoutEffect
等,使得開發者能夠更好地利用React的先進特性進行應用開發。
(二)新的原生模組和原生元件系統
包括了新的原生模組和原生元件系統,開發者可以編寫型別安全的程式碼,並直接訪問原生介面,無需透過橋接(bridge),提高了開發的效率和程式碼的質量。
(二)漸進式遷移
新架構設計為漸進式遷移,大多數應用可以像處理其他版本更新一樣,無需太大努力即可採用React Native 0.76,降低了升級的難度和成本。
(四)效能提升
透過移除橋接,實現了更快的啟動時間和更直接的JavaScript與原生執行時之間的通訊,同時新的渲染器可以跨多個執行緒處理多個併發更新優先順序,支援同步和非同步的佈局讀取,進一步提升了效能。
(五)新的事件迴圈
新的事件迴圈允許在JavaScript執行緒上按定義好的順序處理任務,使得React能夠打斷渲染以處理事件,從而使緊急使用者事件優先於低優先順序的UI轉換,提高了使用者互動的響應速度。
(六)移除Bridge
新架構完全移除了React Native對Bridge的依賴,使用JSI(JavaScript Interface)實現了JavaScript和原生程式碼之間的直接、高效通訊,最佳化了系統的架構和效能。
React Native 0.76版本的釋出為移動應用開發帶來了新的機遇和挑戰。開發者應及時瞭解和掌握這些更新內容,充分利用新架構和新功能,提升應用的質量和效能,為使用者提供更加出色的移動應用體驗。
參考文件
React Native 0.76 更新詳情
https://reactnative.dev/blog/2024/10/23/release-0.76-new-arch...
React Native 全新架構詳情
https://reactnative.dev/blog/2024/10/23/the-new-architecture-...