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). Проєкт з інтеграції SpiderMonkey і Tamarin отримав кодову назву ActionMonkey. Пізніше цей проєкт був скасований в силу низки причин.
TraceMonkey Редагувати
У 2009 до SpiderMonkey додана можливість компіляції JavaScript в машинний код, що суттєво прискорило виконання JavaScript коду. Проєкт отримав назву TraceMonkey.
Браузер Firefox, починаючи з версії 3.5, для виконання JavaScript коду використовує за замовчуванням TraceMonkey.
JaegerMonkey Редагувати
Для того, щоб досягти швидкодії, порівнянної з рушіями конкурентів, в 2010 до SpiderMonkey було вирішено додати JIT-компіляцію, засновану на компіляції цілого методу. Проєкт отримав назву JaegerMonkey (JägerMonkey).
Браузер Firefox використовує JaegerMonkey починаючи з версії 4.0.
Примітки Редагувати
Посилання Редагувати
- SpiderMonkey (JavaScript-C) Engine
- Documentation for SpiderMonkey [ 14 травня 2008 у Wayback Machine.]
- Spidermonkey's page for Open Source Links [ 24 лютого 2012 у Wayback Machine.]
- Are We Fast Yet? (Official benchmark and comparison) [ 23 лютого 2011 у Wayback Machine.]