Facebook выпускает JavaScript-движок Hermes


Facebook выпустила Hermes, движок JavaScript, предназначенный для ускорения загрузки собственных приложений для Android, созданных с использованием собственной сети React. Hermes, который был с открытым исходным кодом по лицензии MIT, описывается как обладающий опережающей статической оптимизацией и компактным байт-кодом.

Facebook говорит, что для многих приложений простое включение Hermes приведет к увеличению времени запуска, снижению использования памяти и уменьшению размера приложения. В настоящее время Hermes-это встроенная функция React Native.

Facebook разработала React Native в качестве платформы для одновременной разработки приложений для Android, iOS и универсальной платформы Windows (UWP) с использованием JavaScript, библиотеки React и компонентов родной платформы. Одна из проблем с React Native связана с производительностью приложений, особенно во время загрузки, и Hermes намерен преодолеть эту проблему.

Hermes использует предварительную компиляцию байт-кода, так что код обрабатывается с использованием предварительной компиляции (AOT), когда приложение построено для максимальной оптимизации байт-кода.

Объявление Hermes было сделано на конференции Chain React 2019 в этом году. В демо-версии Марк Горовиц из Facebook показал, что приложение React Native с Hermes было полностью загружено в течение половины времени, в течение которого загружалось то же приложение без Hermes, или примерно на две секунды быстрее:

В демо-версии Горовиц указывает, что Hermes уменьшает размер загрузки APK для Android примерно до половины размера среднего приложения React Native, а также уменьшает объем используемой памяти на четверть. Горовиц говорит, что это важно для телефонов нижнего уровня с ограниченной памятью:

“Как разработчики, мы, как правило, носим новейшие флагманские устройства. Большинство пользователей по всему миру этого не делают”

В то время как Hermes в значительной степени совместим с JavaScript ES6, некоторые более продвинутые языковые функции были исключены, например, с операторами, отражениями и областью.

Facebook говорит, что Hermes предназначен только для React Native, и не планирует выпускать версию для Node.js например.


Добавить комментарий