返回
RN新架构中的JavaScript Interface,以更快的速度进行
前端
2024-02-04 06:23:12
写在前面
RN新架构被命名为Hermes,意为“信使”或“使者”。寓意React Native的JS执行的速度之快。Hermes以轻量级、可移植性和较低的内存消耗等优点在性能上取得了飞速的提升。Hermes运行JavaScript代码的速度比起此前使用的JavaScriptCore(以下简称JSC)平均快了两倍,最高的甚至可以达到五倍。
Hermes核心目标
Hermes的改进主要集中在启动时间、内存使用和性能上,以下是Hermes主要针对的改进目标:
- 提高JavaScript引擎的启动时间和加载性能。
- 减少引擎占用内存的空间。
- 优化应用程序的性能。
JavaScript Interface的工作原理
Hermes将V8引擎的一些运行时策略抽离并移植到了React Native的JavaScript Interface之中,使得V8的性能得以复用,从而实现了代码的加速执行。
Hermes JavaScript Interface的工作方式如下:
- React Native的JavaScript Interface 接收来自React Native的JavaScript代码。
- JavaScript Interface将代码发送给Hermes。
- Hermes编译代码,并将其发送给JavaScript Interface。
- JavaScript Interface将编译后的代码发送给React Native。
- React Native运行代码。
JavaScript Interface的作用
JavaScript Interface在Hermes中主要起到了以下三个作用:
- 将React Native的JavaScript代码发送给Hermes。
- 将Hermes编译后的代码发送给React Native。
- 处理Hermes抛出的异常。
JavaScript Interface的优点
JavaScript Interface具有以下优点:
- 性能优异 :JavaScript Interface能够将React Native的JavaScript代码快速发送给Hermes,并且能够快速将Hermes编译后的代码发送给React Native,从而提高了代码的执行速度。
- 内存占用少 :JavaScript Interface的体积很小,不会占用太多的内存空间。
- 可移植性强 :JavaScript Interface可以移植到不同的平台上,例如Android、iOS和Web。
JavaScript Interface的局限性
JavaScript Interface也存在一些局限性,例如:
- 不支持某些JavaScript特性 :JavaScript Interface不支持某些JavaScript特性,例如try…catch…finally语句。
- 可能会出现兼容性问题 :JavaScript Interface可能会与某些第三方库或框架不兼容。
结束语
Hermes是React Native的新架构,它采用了新的JavaScript Interface来提高JavaScript代码的执行速度。JavaScript Interface的工作方式是将React Native的JavaScript代码发送给Hermes,然后将Hermes编译后的代码发送给React Native。JavaScript Interface具有性能优异、内存占用少、可移植性强等优点,但同时也存在不支持某些JavaScript特性和可能会出现兼容性问题等局限性。