技术栈中的爱马仕?Facebook发布全新JavaScript引擎:Hermes

编程入门 行业动态 更新时间:2024-10-21 17:45:56

技术栈中的爱马仕?Facebook发布全新JavaScript<a href=https://www.elefans.com/category/jswz/34/1771263.html style=引擎:Hermes"/>

技术栈中的爱马仕?Facebook发布全新JavaScript引擎:Hermes

前言

目前,用户的流畅体验是用户能长期使用某个移动客户端应用App的重要指标之一,因此,移动客户端应用App的性能问题备受关注。

最近,一个崭新的JavaScript引擎面世:Hermes,它是Facebook在Chain React 2019 大会上发布 & 用于在React Native应用提高性能的,今天,我将进行全面介绍。

目录

示意图

1. 简介

Facebook在Chain React 2019 大会上发布的一个崭新JavaScript引擎

已开源 & 用于移动端React Native应用的集成

2. 作用

# 2.1 背景

用户的流畅体验是用户能长期使用某个移动客户端应用App的重要指标之一,因此,移动客户端应用App的性能问题备受关注
针对React Native应用,流畅度等性能问题一直被人诟病

2.2 问题
Facebook基于多方性能数据分析,发现JavaScript引擎本身就是影响React Native应用启动性能的重要因素
2.3 解决方案
构建一个全新的JavaScript引擎,针对React Native应用,去提高移动客户端应用App的性能

特别注意:Hermes主要面向移动端React Native应用的性能优化,对浏览器 & Node.js 等服务端基础架构并不适用。

3. 性能提升表现
对于React Native应用(基于JavaScript引擎)来说,用户感知最明显的性能体验包括:

应用程序可用的时间(TTI)
安装包下载大小(Android APK 大小)
内存利用率

根据Facebook给出的官方性能优化性能数据如下:

从上述数据可知,Hermes引擎提升性能较为明显:

在应用程序可用的时间上,Hermes能提升一倍的时间效率
在安装包下载大小下,Hermes能减少50%的大小
在内存利用率上,Hermes能节省30%的内存使用

4. 设计原理
为了提升React Native应用的性能表现,Hermes引擎的设计主要是从是两个方面入手:编译方式 & 垃圾回收策略
4.1 编译方式
a. 字节码预编译

b. 无JIT编译

4.2 垃圾回收策略

5. 使用特点
在实际使用Hermes时,具备3个优点:懒编译、兼容性好 & 调试体验好,具体如下:

特别注意:在实际使用Hermes时,需对build.gradle文件做更改 & 重新编译

project.ext.react = [entryFile: "index.js",enableHermes: true
]
  1. 总结

本文全面讲解了Facebook在Chain React 2019 大会上发布的一个崭新JavaScript引擎:Hermes

更多推荐

技术栈中的爱马仕?Facebook发布全新JavaScript引擎:Hermes

本文发布于:2023-06-12 05:18:14,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/652055.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:引擎   爱马仕   技术   Facebook   JavaScript

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!