JavaScript-движок
Движок JavaScript — это программный компонент , выполняющий JavaScript код . Первые движки JavaScript были просто интерпретаторами , но все современные движки используют JIT-компиляцию для повышения производительности. [1]
Механизмы JavaScript обычно разрабатываются поставщиками веб-браузеров , и они есть в каждом крупном браузере. В браузере механизм JavaScript работает совместно с механизмом рендеринга через объектную модель документа и привязки веб-IDL . [2] Однако использование механизмов JavaScript не ограничивается браузерами; например, движок V8 является основным компонентом Node.js. времени выполнения системы [3]
Поскольку ECMAScript — это стандартизированная спецификация JavaScript, механизм ECMAScript — это другое название этих реализаций . С появлением WebAssembly некоторые движки также могут выполнять этот код в той же песочнице , что и обычный код JavaScript. [4] [3]
История
[ редактировать ]Первый движок JavaScript был создан Бренданом Эйхом в 1995 году для Netscape Navigator веб-браузера . [5] Это был элементарный переводчик зарождающегося языка, изобретенного Эйхом. [6] (Этот движок эволюционировал в движок SpiderMonkey , который до сих пор используется браузером Firefox . [5] )
Google дебютировал со своим браузером Chrome в 2008 году с движком JavaScript V8 , который был быстрее, чем у конкурентов. [7] [8] Ключевым нововведением стала компиляция JIT- , над которой Mozilla также работала для SpiderMonkey. [9] Из-за производительности V8 другим производителям браузеров пришлось переработать свои движки для JIT. [10] Apple разработала движок Nitro для своего браузера Safari , производительность которого на 30% выше, чем у его предшественника. [11] Затем Mozilla использовала части Nitro для улучшения SpiderMonkey. [12]
С 2017 года в эти движки добавлена поддержка WebAssembly . [4]
Известные двигатели
[ редактировать ]- V8 от Google — наиболее используемый движок JavaScript. Google Chrome и многие другие браузеры на основе Chromium Его используют , а также приложения, созданные с помощью CEF , Electron или любой другой платформы , в которую встроен Chromium. Другие варианты использования включают Node.js и Deno системы времени выполнения .
- SpiderMonkey разработан Mozilla для использования в Firefox и его версиях . Оболочка GNOME использует его для поддержки расширений.
- JavaScriptCore — это Apple движок для браузера Safari . Его также используют другие WebKit браузеры на основе и система выполнения Bun . KJS из KDE стал отправной точкой для его разработки. [13]
- Chakra — это двигатель браузера Internet Explorer . Он также был разветвлен Microsoft для оригинального браузера Edge , но позже Edge был переработан как браузер на основе Chromium и, таким образом, теперь использует V8. [14] [15]
Ссылки
[ редактировать ]- ^ Лупер, Джен (21 сентября 2015 г.). «Руководство по движкам JavaScript для идиотов» . Телерик Сеть разработчиков . Архивировано из оригинала 8 декабря 2018 года . Проверено 8 декабря 2018 г.
- ^ «Как работает Блинк» . Google . Проверено 12 марта 2024 г.
- ^ Jump up to: а б «Документация · V8» . Google . Проверено 3 марта 2024 г.
- ^ Jump up to: а б Нелатуру, Кирти. «WebAssembly: в чем дело?» . Medium.com . Проверено 3 марта 2024 г.
- ^ Jump up to: а б Эйх, Брендан (21 июня 2011 г.). «Новый владелец модуля JavaScript Engine» .
- ^ Fin JS (17 июня 2016 г.), «Брендан Эйх – генеральный директор Brave» , YouTube , получено 7 февраля 2018 г.
- ^ «Большой сравнительный тест браузеров: Internet Explorer против Firefox, Opera, Safari и Chrome» . Аппаратное обеспечение для компьютерных игр . Компьтек Медиа АГ. 3 июля 2009 г. Архивировано из оригинала 2 мая 2012 г. Проверено 28 июня 2010 г.
- ^ Парди, Кевин (11 июня 2009 г.). «Тесты скорости Lifehacker: Safari 4, Chrome 2» . Лайфхакер . Архивировано из оригинала 14 апреля 2021 года . Проверено 8 мая 2021 г.
- ^ «TraceMonkey: JavaScript Lightspeed, блог Брендана Эйха» . Архивировано из оригинала 4 декабря 2015 года . Проверено 22 июля 2020 г.
- ^ «Mozilla спрашивает: «Мы уже быстры?» " . Проводной . Архивировано из оригинала 22 июня 2018 года . Проверено 18 января 2019 г.
- ^ Выпущено Safari 5
- ^ Шенкленд, Стивен (2 марта 2010 г.). «В Opera 10.5 появился новый движок JavaScript» . CNET . CBS Интерактив. Архивировано из оригинала 3 октября 2013 года . Проверено 30 января 2012 г.
- ^ Стаховяк, Мацей (9 ноября 2008 г.). «Компании и организации, внесшие вклад в WebKit» . ВебКит Вики . Проверено 13 апреля 2019 г.
- ^ Бельфиоре, Джо (15 января 2020 г.), Новый год, новый браузер. Предварительная версия нового Microsoft Edge вышла из-под контроля и теперь доступна для загрузки , Microsoft
- ^ «Microsoft Edge и Chromium с открытым исходным кодом: наши намерения» . Команда Microsoft Edge. 6 декабря 2018 года . Проверено 8 декабря 2018 г.