React Native 0.64版本發佈,iOS開啓支持Hermes引擎

React Native 0.64版本發佈了,主要更新內容是在iOS開啓支持Hermes。

1.iOS支持Hermes引擎。

Hermes是一個爲優化運行React Native而開源的JavaScript引擎。它通過降低內存利用率、減少下載大小和減少應用程序可用或“交互時間”(TTI)所需的時間來提高性能。

其實Hermes在之前就已經優先在Android平臺上進行了支持,應該是在0.60.4版本上開啓了支持,相關文章Meet Hermes, a new JavaScript Engine optimized for React Native以及開啓Hermes支持的方法Using Hermes.

此次版本更新也正是開啓了iOS平臺上支持了Hermes。開啓Hermes支持也很簡單,在Podfile文件中設置hermes_enabled爲true,然後在執行pod install就可以了。

use_react_native!(
   :path => config[:reactNativePath],
   # to enable hermes on iOS, change `false` to `true` and then install pods
   :hermes_enabled => true
)

值得注意的是,現在iOS上支持Hermes尚在初期階段。React Native團隊會繼續進行大量的基礎測試,鼓勵用戶在應用中進行嘗試。

2.默認啓用Inline Requires

Inline Requires是一個Metro配置選項,它通過延遲加載JavaScript模塊的執行,來縮短啓動時間,提交加載速度。其作爲可選配置選擇已經存在很多年,現在新版本應用中默認開啓,以此幫助用戶無需額外配置就可以快速使用React Native.

Inline Requires 是一種 Babel 變換,它可以將模塊導入並轉換爲 inline。例如,Inline Requires 將這個模塊導入調用從文件的 top 轉換到使用它的地方。

Before:

import { MyFunction } from 'my-module';

const MyComponent = (props) => {
  const result = MyFunction();

  return (<Text>{result}</Text>);
};

After:

const MyComponent = (props) => {
  const result = require('my-module').MyFunction();

  return (<Text>{result}</Text>);
};

3.使用Chrome查看Hermes

4.Hermes支持代理

在比較流行的第三方庫使用上添加了Hermes代理,比如react-native-firebase and mobx.

5.支持React 17

React 17 不包含面向開發者的新功能,也沒有重大的突破性變化。對於 React Native 應用來說,主要的變化是一個新的 JSX 轉換,使得文件不再需要導入 React 就能夠使用 JSX。

有關React 17的一些情況,可以看看React官方文檔

6.總結

此次React Native 0.64版本的更新屬於常規更新,並沒有突出的新功能發佈,期待React Native 1.0版本的正式到來,畢竟隔壁的Flutter都已經發布2.0版本了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章