React Native 0.65 版本發佈
·3 分鐘閱讀時間
今天我們發佈 React Native 0.65 版本,其中包含新版 Hermes、無障礙功能改進、套件升級及更多內容。
Hermes 0.8 的新功能?
Hermes 是 Facebook 針對 React Native 優化的開放原始碼 JavaScript VM,已升級至 0.8.1 版。此版本中一些突出的功能包括
- 名為「Hades」的全新並行垃圾收集器,可在 64 位元裝置上縮短最多 30 倍的暫停時間。在 Facebook,我們看到這使一些 CPU 密集型工作負載提高了 20%-50%。您可以在此處深入瞭解 Hades。
- ECMAScript Internationalization API (ECMA-402 或
Intl
) 現在已內建於 Android 版 Hermes 中,並預設啟用,每個 API 大小額外負擔僅為 57-62K(相較於 JSC 的 6MiB)。透過此變更,Hermes 使用者不再需要語言環境 Polyfill。非常感謝 @mganandraj 和 Microsoft 的其他合作夥伴推動實作以實現此目標! - iOS 版 Hermes 現在支援 Apple M1 Mac 和 Mac Catalyst!
- 記憶體改進,包括 SMI(小整數)和指標壓縮,這將 JS 堆積縮減了 30%。
- 對
Function.prototype.toString
的變更,這修正了因不正確的功能偵測而導致的效能下降,並支援原始碼注入用例。
您可以在此處找到完整的 Hermes 變更記錄。
按照此處的步驟將您的應用程式加入 Hermes(如果您尚未加入),以利用這些新功能和優勢!
無障礙功能修正和新增項目
去年,Facebook 承諾 GAAD,以改善 React Native 內的無障礙功能。0.65 分享了此承諾的成果和其他無障礙功能的勝利!一些值得注意的變更包括
- 允許指定 iOS 的高對比亮色和暗色值。請參閱文件以瞭解更多詳細資訊。
- 在 Android 上新增
getRecommendedTimeoutMillis
API。這公開了使用者在 Android 無障礙功能選項中設定的偏好預設逾時值,適用於可能需要額外時間來檢閱或接觸控制項等的使用者。 - 一般修正,以確保 TalkBack/VoiceOver 正確宣告 UI 狀態,例如組件上的
disabled
和unselected
。
您可以追蹤或貢獻我們的未解決的無障礙功能問題!
值得注意的依賴項版本更新和注意事項
- 現在需要版本
0.0.7
的react-native-codegen
作為package.json
中的devDependency
。 - JCenter 已停止服務,現在為唯讀。我們已移除 JCenter 作為 Maven 儲存庫,並更新依賴項以使用 MavenCentral 和 Jitpack。
- 將 OkHttp 從 v3 升級到 v4.9.1。請參閱升級到 OkHttp 4 以瞭解更多有關變更的詳細資訊。
- 升級到 Flipper 0.93 以支援 Xcode 12.5。請參閱此處的 Flipper 變更記錄。
- Android Gradle Plugin 7 支援
- Apple Silicon 需要連結器變通方案。請參閱@mikehardy 的說明。
感謝您!
此版本包含來自 61 位貢獻者的超過 1100 次提交。感謝每位貢獻和支援此版本的人!您可以在此處找到完整的變更記錄。