SpiderMonkey — движок JavaScript с открытым исходным кодом, разрабатываемый Mozilla Foundation. Используется в браузере Mozilla Firefox. Первый в истории движок JavaScript.
История SpiderMonkey был написан Бренданом Эйхом во время его работы в Netscape Communications, а позднее сделан открытым. В настоящее время SpiderMonkey поддерживается Mozilla Foundation.
Версии +История версий SpiderMonkey Версия Дата выпуска Соответствующая версия ECMAScript Версия браузера Добавленная функциональностьscope="row" март 1996 Netscape Navigator 2.0 scope="row" август 1996 Основа для ES1 Netscape Navigator 3.0 scope="row" июнь 1997 Основа для ES3 Netscape Navigator 4.0 — 4.05 scope="row" октябрь 1998 ES1 + ES2 (ECMA-262 1st + 2nd edition) Netscape Navigator 4.06-4.7x scope="row" Netscape Server scope="row" ноябрь 2000 ES3 (ECMA-262 3rd edition) Netscape Navigator 6, Firefox 1.0 scope="row" ноябрь 2005 E4X Firefox 1.5 дополнительные методы массива, дженерики массивов и строк, ECMAScript для XML (E4X)scope="row" октябрь 2006 Firefox 2.0 итераторы и генераторы, оператор let, array comprehensions, деструктурирующее присваиваниеscope="row" июнь 2008 Firefox 3.0 выражения-генераторы, замыкания выраженийscope="row" март 2011 ES5 (ECMA-262 5th edition) Firefox 4.0 поддержка JSONscope="row" январь 2012 Firefox 10.0 scope="row" ноябрь 2012 Firefox 17.0 scope="row" сентябрь 2013 Firefox 24.0 scope="row" июль 2014 Firefox 31.0 scope="row" май 2015 Firefox 38.0 scope="row" март 2016 Firefox 45.0 scope="row" март 2017 ES6 Firefox 52.0 scope="row" май 2018 Firefox 60.0 scope="row" июль 2019 Firefox 68.0 scope="row" июнь 2020 Firefox 78.0 scope="row" август 2021 Firefox 91.0 scope="row" июнь 2022 Firefox 102.0 scope="row" июль 2022 Firefox 103.0 scope="row" июль 2024 Firefox 128.0 scope="row" сентябрь 2024 Firefox 131.0 scope="row" июнь 2025 ES16 Firefox 140 (ESR) scope="row" апрель 2026 Firefox 150
Описание SpiderMonkey написан на языке Си и включает в себя компилятор, интерпретатор, декомпилятор, сборщик мусора и стандартные классы. Он не предоставляет рабочего окружения, такого как DOM.
SpiderMonkey встраивается в другие приложения, которые предоставляют рабочее окружение для JavaScript. Наиболее популярными программами являются Mozilla Firefox и Mozilla Application Suite/SeaMonkey, а также Adobe Acrobat. SpiderMonkey также используется в качестве движка JavaScript для Yahoo! Widgets (ранее известного под именем «Konfabulator») и UOX3, эмулятора Ultima Online.
SpiderMonkey, как и родственный ему движок Rhino, имеет поддержку стандарта ECMAScript для XML (E4X).
ActionMonkey В 2006 году для Mozilla 2 планировалось использовать TamarinTamarin Project — открытую виртуальную машину ActionScript, разработанную в Macromedia (позже Adobe)Официальное объявление о начале интеграции SpiderMonkey с Tamarin . Проект по интеграции SpiderMonkey и Tamarin получил кодовое название ActionMonkey. Позднее этот проект был отменен в силу ряда причин.
TraceMonkey В 2009 году к SpiderMonkey добавлена возможность компиляции JavaScript в машинный код, что существенно ускорило выполнение JavaScript-кода. Проект получил название TraceMonkey.
Браузер Firefox, начиная с версии 3.5, для исполнения JavaScript-кода использует по умолчанию TraceMonkey.
JägerMonkey Для того, чтобы достичь производительности, сравнимой с другими движками, в 2010 году к SpiderMonkey было решено добавить JIT-компиляцию, основанную на компиляции целого метода (). Проект получил название JaegerMonkey (JägerMonkey).
Браузер Firefox использует JägerMonkey начиная с версии 4.0.
IonMonkey Новая версия разрабатывается в Mozilla Foundation.
Браузер Firefox использует IonMonkey начиная с версии 18.0.
OdinMonkey Несмотря на то, что IonMonkey ещё не до конца реализован, частично внедрён в Nightly 23, Mozilla Foundation приступили к созданию следующей версии — OdinMonkey.
Примечания
Ссылки Официальная страница проекта Документация по SpiderMonkey для разработчиков
Категория:Проекты Mozilla Категория:Свободные библиотеки программ Категория:Движки JavaScript