SpiderMonkey
| Тип | |
|---|---|
| Автор | |
| Разработчики | |
| Написана на | |
| Аппаратная платформа | |
| Последняя версия | |
| Лицензия | |
| Сайт |
developer.mozilla.org/en/SpiderMonkey |
SpiderMonkey — первый в истории движок JavaScript.
Содержание |
История [править]
SpiderMonkey был написан Бренданом Айком во время его работы в Netscape Communications, а позднее сделан открытым. В настоящее время SpiderMonkey поддерживается Mozilla Foundation.
Описание [править]
SpiderMonkey написан на языке Си и включает в себя компилятор, интерпретатор, декомпилятор, сборщик мусора и стандартные классы. Он не предоставляет рабочего окружения, такого как DOM.
SpiderMonkey встраивается в другие приложения, которые предоставляют рабочее окружение для JavaScript. Наиболее популярными программами являются Mozilla Firefox и Mozilla Application Suite/SeaMonkey, а также Adobe Acrobat и Adobe Reader. SpiderMonkey также используется в качестве движка JavaScript для Yahoo! Widgets (ранее известного под именем «Konfabulator») и UOX3, эмулятора Ultima Online.
SpiderMonkey, как и родственный ему движок Rhino, имеет поддержку стандарта ECMAScript для XML (E4X).
ActionMonkey [править]
В 2006 году для Mozilla 2 планировалось использовать Tamarin[en][1] — открытую виртуальную машину ActionScript, разработанную в Macromedia (позже Adobe).[2]. Проект по интеграции SpiderMonkey и Tamarin получил кодовое название ActionMonkey. Позднее этот проект был отменен в силу ряда причин.[3]
TraceMonkey [править]
В 2009 году к SpiderMonkey добавлена возможность компиляции JavaScript в машинный код, что существенно ускорило выполнение JavaScript кода. Проект получил название TraceMonkey.
Браузер Firefox, начиная с версии 3.5, для исполнения JavaScript кода использует по умолчанию TraceMonkey.[4]
JägerMonkey [править]
Для того, чтобы достичь производительности сравнимой с другими движками, в 2010 году к SpiderMonkey было решено добавить JIT-компиляцию, основанную на компиляции целого метода (англ. method-based JIT)[5]. Проект получил название JaegerMonkey (JägerMonkey).
Браузер Firefox использует JägerMonkey начиная с версии 4.0.
IonMonkey [править]
Новая версия разрабатывается в Mozilla Foundation.[6]
Браузер Firefox будет использовать IonMonkey начиная с версии 23.0.
OdinMonkey [править]
Несмотря на то что IonMonkey ещё не доконца реализован, частично внедрён в Nightly 23, Mozilla Foundation приступили к созданию следующей версии - OdinMonkey.[7]
Примечания [править]
Ссылки [править]
| Проекты Mozilla Foundation | |
|---|---|
| Браузеры | |
| Другие проекты |
Firefox OS • Bugzilla • ChatZilla • Lightning • Penelope • Sunbird • Sync • Thunderbird • Persona |
| Не развиваются |
Calendar Project • Minimo • Mozilla Suite • Nvu • Prism |
| Инфраструктура | |
| Компоненты | |
| ECMAScript | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Диалекты | ActionScript · Caja · JavaScript (движки) · JScript · JScript .NET · Objective-J · QtScript · WMLScript | ||||||||||||
| Движки (сравнение) |
Carakan · Futhark · InScript · JavaScriptCore (SquirrelFish) · JScript · KJS · Linear B · Narcissus · QtScript · Rhino · YAJI · SpiderMonkey (TraceMonkey, JägerMonkey) · Tamarin · V8 · Chakra | ||||||||||||
| Фреймворки, библиотеки |
|
||||||||||||
| Люди | Брендан Айк · Дуглас Крокфорд · Джон Резиг | ||||||||||||
| Другое | DHTML · Ecma International · JSAN · JSDoc · JSLint · JSON · JSSS · Sputnik · SunSpider · CommonJS | ||||||||||||

