SpiderMonkey

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
SpiderMonkey
Тип рушій JavaScript
Автори Брендан Айк і Netscape Communications
Розробники Mozilla Foundation / Mozilla Corporation
Платформа кросплатформова програма
Операційна система крос-платформовий
Мова програмування C++
Ліцензія MPL/GPL/LGPL
Репозиторій hg.mozilla.org/mozilla-central/
Вебсайт developer.mozilla.org/en/SpiderMonkey

SpiderMonkey — вбудований JavaScript-рушій з відкритим сирцевим кодом від компанії Mozilla. Він написаний на C/C++ і використовується в декількох продуктах від Mozilla, включаючи такі відомі, як Firefox.

Поширюється під потрійною ліцензією — MPL/GPL/LGPL.

Історія[ред. | ред. код]

SpiderMonkey був написаний Бренданом Айком під час його роботи в Netscape Communications. Пізніше зроблений відкритим. Натепер SpiderMonkey підтримується Mozilla Foundation .

SpiderMonkey був написаний на мові Сі і включає в себе компілятор, інтерпретатор, декомпілятор, прибиральник сміття і стандартні класи. Він не надає робочого оточення, такого як DOM.

SpiderMonkey вбудовується в інші застосунки, які надають робоче оточення для JavaScript. Найпопулярнішими програмами є Mozilla Firefox і Mozilla Application Suite / SeaMonkey, також Adobe Acrobat і Adobe Reader, як рушій JavaScript для Yahoo! Widgets (раніше відомого під ім'ям «Konfabulator») і UOX3, емулятора Ultima Online.

SpiderMonkey, як і споріднений йому рушій Rhino, має підтримку стандарту ECMAScript для XML (E4X).

ActionMonkey[ред. | ред. код]

У 2006 для Mozilla 2 планувалося використовувати Tamarin — відкриту віртуальну машину ActionScript, розроблену в Macromedia (пізніше придбану Adobe)[1]. Проєкт з інтеграції SpiderMonkey і Tamarin отримав кодову назву ActionMonkey. Пізніше цей проєкт був скасований в силу низки причин.[2]

TraceMonkey[ред. | ред. код]

У 2009 до SpiderMonkey додана можливість компіляції JavaScript в машинний код, що суттєво прискорило виконання JavaScript коду. Проєкт отримав назву TraceMonkey.

Браузер Firefox, починаючи з версії 3.5, для виконання JavaScript коду використовує за замовчуванням TraceMonkey.[3]

JaegerMonkey[ред. | ред. код]

Для того, щоб досягти швидкодії, порівнянної з рушіями конкурентів, в 2010 до SpiderMonkey було вирішено додати JIT-компіляцію, засновану на компіляції цілого методу[4]. Проєкт отримав назву JaegerMonkey (JägerMonkey).

Браузер Firefox використовує JaegerMonkey починаючи з версії 4.0.

Примітки[ред. | ред. код]

  1. Официальное объявление о начале интеграции SpiderMonkey с Tamarin. Архів оригіналу за 27 квітня 2007. Процитовано 27 січня 2012.
  2. ActionMonkey на wiki.mozilla.org. Архів оригіналу за 28 січня 2012. Процитовано 27 січня 2012.
  3. TraceMonkey на wiki.mozilla.org. Архів оригіналу за 3 січня 2012. Процитовано 27 січня 2012.
  4. JaegerMonkey на wiki.mozilla.org. Архів оригіналу за 23 серпня 2013. Процитовано 27 січня 2012.

Посилання[ред. | ред. код]