The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Facebook открыл код JavaScript-движка Hermes"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для слежения за появлением новых сообщений в нити, нажмите "Проследить за развитием треда".
"Facebook открыл код JavaScript-движка Hermes" +/
Сообщение от opennews (??), 12-Июл-19, 22:03 
Компания Facebook открыла исходные тексты легковесного JavaScript-движка Hermes (https://hermesengine.dev/), оптимизированного для выполнения приложений на базе фреймворка React Native (https://facebook.github.io/react-native/) на платформе Android.  Поддержка Hermes встроена (https://github.com/facebook/react-native/releases) в React Native начиная с сегодняшнего выпуска 0.60.2. Проект признан решить проблемы с большим временем запуска нативных JavaScript-приложений и значительным потреблением ресурсов. Код написан (https://github.com/facebook/hermes/) на языке C++ и распространяется под лицензией MIT.

В движке поддерживается (https://github.com/facebook/hermes/blob/master/doc/Features.md) часть JavaScript-стандарта ECMAScript 2015 (конечной целью является его полная поддержка) и обеспечивается совместимость с большинством существующих приложений React Native. Для включения Hermes в приложении React Native достаточно добавить в проект опцию "enableHermes: true". Также возможна сборка Hermes в режиме CLI-интерфейса, позволяющая выполнить произвольные JavaScript-файлы из командной строки

Из достоинств применения  Hermes отмечается сокращение времени запуска приложения, снижение потребления памяти и уменьшение размера приложения. Ускорение запуска приложений достигается благодаря применению на этапе сборки предкомпиляции в компактный и эффективный байткод. Для непосредственного выполнения приложения применяется разработанная в рамках проекта виртуальная машина со сборщиком мусора SemiSpace. При применении  V8 наиболее длительными являются стадии парсинга исходного кода и его компиляции на лету.  Hermes выносит эти стадии на этап сборки и поставляет поставлять приложения в форме оптимизированного байткода.

Обработка JavaScript разделяется на несколько стадий. Вначале осуществляется парсинг исходных текстов и генерация промежуточного представления кода (Hermes IR (https://github.com/facebook/hermes/blob/master/doc/IR.md)),&...основанного на представлении SSA (https://ru.wikipedia.org/wiki/SSA) (Static Single Assignment).  Далее, промежуточное представление обрабатывается в оптимизаторе, который применяет техники упреждающей статической оптимизиации для преобразования первичного промежуточного кода в более эффективное промежуточное представление, сохраняя  при этом оригинальную семантику программы. На последнем этапе генерируется байткод для регистровой виртуальной машины.


URL: https://www.theregister.co.uk/2019/07/12/facebook_hermes_jav.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=51082

Ответить | Правка | Cообщить модератору

Оглавление
Facebook открыл код JavaScript-движка Hermes, opennews, 12-Июл-19, 22:03  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру