返回

RN新架构中的JavaScript Interface,以更快的速度进行

前端

写在前面

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的工作方式如下:

  1. React Native的JavaScript Interface 接收来自React Native的JavaScript代码。
  2. JavaScript Interface将代码发送给Hermes。
  3. Hermes编译代码,并将其发送给JavaScript Interface。
  4. JavaScript Interface将编译后的代码发送给React Native。
  5. 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特性和可能会出现兼容性问题等局限性。