React Native 0.64版本发布,iOS开启支持Hermes引擎

简介: 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版本了。

目录
相关文章
|
1月前
|
前端开发 开发者 UED
React 18 与之前版本的主要区别
【10月更文挑战第12天】 总的来说,React 18 的这些区别体现了 React 团队对于提升应用性能、用户体验和开发效率的持续努力。开发者需要适应这些变化,充分利用新特性来构建更出色的应用。同时,随着技术的不断发展,React 也将继续演进,为开发者带来更多的创新和便利。
|
3月前
|
缓存 iOS开发
如何在Xcode删除某个版本的IOS模拟器
如何在Xcode删除某个版本的IOS模拟器
598 1
|
6月前
|
前端开发
react中package.json中版本号的规则
react中package.json中版本号的规则
|
4月前
|
前端开发 JavaScript
react18【系列实用教程】useState —— 声明响应式变量(2024最新版)含useState 的异步更新机制,更新的合并,函数传参获取更新值,不同版本异步更新差异,更新对象和数组
react18【系列实用教程】useState —— 声明响应式变量(2024最新版)含useState 的异步更新机制,更新的合并,函数传参获取更新值,不同版本异步更新差异,更新对象和数组
254 0
|
6月前
|
前端开发 JavaScript 开发者
React Hooks 是在 React 16.8 版本中引入的一种新功能
【5月更文挑战第28天】React Hooks 是在 React 16.8 版本中引入的一种新功能
63 1
|
6月前
|
Linux 数据安全/隐私保护 iOS开发
Xcode8.1如何支持iOS8.0以下版本
Xcode8.1如何支持iOS8.0以下版本
45 0
|
6月前
|
iOS开发
解决使用document.activeElement.blur()禁止弹出手机默认键盘ios版本17以上会出现闪屏问题
解决使用document.activeElement.blur()禁止弹出手机默认键盘ios版本17以上会出现闪屏问题
74 2
|
6月前
|
数据安全/隐私保护 开发者 iOS开发
iOS-打包上架构建版本一直不出现/正在处理/自动消失
iOS-打包上架构建版本一直不出现/正在处理/自动消失
137 0
|
6月前
|
移动开发 开发工具 数据安全/隐私保护
iOS APP 版本更新升级教程:如何打包上架新的 APP 版本?
iOS APP 版本更新升级教程:如何打包上架新的 APP 版本?
iOS APP 版本更新升级教程:如何打包上架新的 APP 版本?
|
6月前
|
前端开发
最新版本create-react-app 如何使用css-module
最新版本create-react-app 如何使用css-module
49 0