Jump to content

Список движков ECMAScript

Механизм ECMAScript — это программа, выполняющая исходный код, написанный на версии стандарта языка ECMAScript , например, JavaScript .

Механизмы JIT-компиляции

[ редактировать ]

Это механизмы ECMAScript нового поколения для веб-браузеров, все из которых реализуют JIT- компиляцию или варианты этой идеи. Преимущества в производительности при JIT-компиляции делают ее более подходящей для веб-приложений, написанных на JavaScript .

Механизмы интерпретатора времени выполнения

[ редактировать ]

Следующие движки используют интерпретаторы времени выполнения, которые не компилируются в собственный машинный код и обычно работают медленнее:

  • Continuum: самоинтерпретатор , поддерживающий старые версии спецификации ECMAScript 2015. [12] Уникально то, что движок реализован в ECMAScript 3, что позволяет запускать ES2015 в таких старых браузерах, как IE6. [13]
  • Футарк : движок ECMAScript веб-браузера Opera версий с 9.50 по 10.10.
  • InScript : устаревшая проприетарная библиотека, используемая в iCab 2 и 3.
  • JScript : движок, который используется в Internet Explorer для версий до IE9, и один из компонентов MSHTML (Trident) движка браузера .
  • Jint: интерпретатор Javascript со встроенным движком для .NET.
  • KJS : движок, используемый в Konqueror , и один из компонентов KHTML , предшественника JavaScriptCore.
  • Линейное письмо B : движок ECMAScript веб-браузера Opera версий 7.0–9.50, эксклюзивно.
  • Нарцисс: JavaScript, реализованный в JavaScript ( метациклический оценщик ), предназначенный для работы в другом движке JavaScript, только теоретического и образовательного характера.
  • JS-Interpreter Легкий интерпретатор JavaScript, реализованный на JavaScript с пошаговым выполнением.
  • QtScript : первоначально разработан компанией Trolltech, сейчас принадлежит The Qt Company . Он обеспечивает интеграцию QObject с JavaScriptCore.
  • V4 (QJSEngine): новый движок Qt ECMAScript, лежащий в основе QML и QtQuick. Соответствует ES6 и находится в активной разработке в The Qt Company . V4 скомпилирован JIT. [14]
  • Rhino : один из нескольких движков JavaScript от Mozilla , использующих платформу Java .
  • YAJI: механизм ECMAScript, основанный на реализации FESI Жана-Марка Люгрина в 1999 году, использующий платформу Java , в настоящее время разрабатываемый для поддержки новейших стандартов (спецификация ECMAScript 262, v5.1). [15] [16] [17]
  • Microvium: движок JavaScript для микроконтроллеров, поддерживающий ограниченное подмножество спецификации ECMAScript, использующий менее 16   КБ флэш-памяти и 64   КБ ОЗУ в режиме ожидания. [18]
  • Duktape: небольшой, легко встраиваемый движок Ecmascript E5/E5.1. [19]
  • XS JavaScript Engine: совместимый с ECMAScript 2020 движок для микроконтроллеров с ограниченными ресурсами. [20] [21] XS поддерживается компанией Moddable как часть Moddable SDK и ранее был частью платформы Kinoma . [22]
  • Jsish: интерпретатор подмножества ES5.1 со встроенной поддержкой SQLite, JSON, WebSocket и ZVFS. [23]
  • Espruino : Очень компактный интерпретатор, специально предназначенный для микроконтроллеров . Может работать менее чем в 8 КБ ОЗУ при выполнении из исходного кода (а не из байт-кода ).
  • MuJS: легкая библиотека интерпретатора ECMAScript, предназначенная для встраивания в другое программное обеспечение с целью расширения его возможностей создания сценариев. Первоначально разработан для MuPDF . [24]
  • mJS: ограниченный движок JavaScript. Используется для Интернета вещей (IoT).
  • Tiny-JS: минимальный интерпретатор JavaScript, написанный на C++.
  • JerryScript: легкий движок JavaScript от Samsung для микроконтроллеров с оперативной памятью менее 64 КБ.
  • njs: легкий интерпретатор JavaScript, оптимизированный для написания сценариев веб-сервера и быстрого создания контекста виртуальной машины; используется в nginx . [25]
  • QuickJS : облегченный интерпретатор ECMAScript 6, созданный Фабрисом Белларом и Чарли Гордоном.
  • engine262: движок JavaScript, написанный на JavaScript для разработки и исследования. В основном он используется для проверки спецификации ECMAScript.
  • Boa: JavaScript-движок, написанный на Rust . [26] [27]
  • ScriptEase: старый запатентованный движок, последний раз обновлявшийся в 2003 году. Примечателен только тем, что использовался в космическом телескопе Джеймса Уэбба . [28]
  • LibJS: JavaScript-движок проекта SerenityOS и Ladybird. [29] Первоначально это был интерпретатор AST, но затем он был модернизирован до интерпретатора на основе байт-кода. [30] В какой-то момент разработчик Андреас Клинг работал над его портированием на компиляцию Just-in-time , но позже передумал, [31] ссылаясь на проблемы разработки/отладки, а также говоря, что ему интересно посмотреть, насколько полезность и удобство использования движка могут зайти без него.

См. также

[ редактировать ]
  1. ^ «Каракан» . Архивировано из оригинала 31 мая 2009 г. Проверено 9 июля 2009 г.
  2. ^ «Блог команды Opera Desktop | Opera» . Архивировано из оригинала 3 марта 2006 г.
  3. ^ «Дев.Опера — Блог» . dev.opera.com .
  4. ^ Часто задаваемые вопросы , Microsoft , 13 марта 2010 г., заархивировано из оригинала 22 марта 2010 г. , получено 18 марта 2010 г.
  5. ^ «Нацеливание на Edge и устаревшие движки в API JsRT» . Проверено 10 сентября 2015 г.
  6. ^ «JavaScriptCore — WebKit» .
  7. ^ «Oracle Nashorn: JavaScript-движок нового поколения для JVM» .
  8. ^ «Созвездие/iv» . Гитхаб . Проверено 15 ноября 2015 г.
  9. ^ «CL-JavaScript» . Проверено 14 сентября 2018 г.
  10. ^ «Поддержи меня» . Гитхаб . 18 ноября 2021 г.
  11. ^ «Использование Гермеса» . Фейсбук . Проверено 9 апреля 2021 г.
  12. ^ «Спецификация языка ECMAScript 2015 – ECMA-262, 6-е издание» .
  13. ^ «Виртуальная машина ES6, встроенная в JavaScript» . Архивировано из оригинала 3 декабря 2012 г. Проверено 1 декабря 2012 г.
  14. ^ «V4 — Qt Wiki» . wiki.qt.io. ​Проверено 24 апреля 2021 г.
  15. ^ «Спецификация языка ECMAScript ECMA-262, версия 5.1» (PDF) . Экма Интернешнл. Июнь 2011 г. Архивировано из оригинала (PDF) 12 апреля 2015 г. Проверено 31 января 2012 г.
  16. ^ «YAJI: еще один интерпретатор JavaScript» . Гугл-код . Проверено 31 января 2012 г.
  17. ^ «ФЕСИ» . Сентябрь 2003 г. Архивировано из оригинала 6 сентября 2012 г. Проверено 6 августа 2012 г.
  18. ^ «Микровий очень маленький» . 11 июня 2022 г. Проверено 23 августа 2022 г.
  19. ^ «Дуктейп» . Проверено 21 сентября 2013 г.
  20. ^ «moddable/documentation/xs/XS Conformance.md в публичном доступе» . Гитхаб .
  21. ^ «Приложения для Интернета вещей» . Архивировано из оригинала 28 декабря 2018 г.
  22. ^ «Xs7 @ Tc-39» .
  23. ^ "Джишиш" . Проверено 30 апреля 2014 г.
  24. ^ «МЮС» . Проверено 22 сентября 2014 г.
  25. ^ «NGINX JavaScript в конфигурации вашего веб-сервера» . Ютуб . Архивировано из оригинала 13 декабря 2021 г. Проверено 30 октября 2018 г.
  26. ^ «Давайте создадим движок JavaScript» . 2019.jsconf.eu . Проверено 23 марта 2022 г.
  27. ^ «GitHub — boa-dev/boa: Boa — это встраиваемый экспериментальный движок Javascript, написанный на Rust» . github.com . Проверено 8 апреля 2022 г.
  28. ^ Кларк, Митчелл (18 августа 2022 г.). «Космический телескоп Джеймса Уэбба, судя по всему, использует JavaScript» . Грань . Проверено 2 сентября 2022 г.
  29. ^ «JavaScript-движок LibJS» . libjs.dev . Проверено 30 июня 2023 г.
  30. ^ «LibJS: Удалить интерпретатор AST :^) · LadybirdBrowser/ladybird@2eaa528» . Гитхаб . Проверено 10 июля 2024 г.
  31. ^ Обновление браузера Ladybird (февраль 2024 г.) , получено 18 апреля 2024 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ab4289b445dfd695d20dfcffba8a9999__1720589220
URL1:https://arc.ask3.ru/arc/aa/ab/99/ab4289b445dfd695d20dfcffba8a9999.html
Заголовок, (Title) документа по адресу, URL1:
List of ECMAScript engines - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)