SpiderMonkey ist die erste jemals entwickelte JavaScript-Engine. Sie wurde 1995 von Brendan Eich bei Netscape Communications entwickelt und später als Open Source freigegeben. SpiderMonkey wird nun von der Mozilla Foundation weiterentwickelt.

Grundlagen SpiderMonkey ist in C geschrieben und enthält einen Compiler, Interpreter, Decompiler, ein Tool für die automatische Speicherbereinigung sowie Standard-Klassen. Es liefert allerdings keine host environments wie z. B. Document Object Model (DOM).

Der Nutzen von SpiderMonkey soll sein, in andere Programme integriert zu werden, welche host environments für JavaScript liefern. Die bekanntesten Programme sind Mozilla Firefox und die Mozilla Application Suite/SeaMonkey, darüber hinaus noch Adobe Acrobat und der Adobe Reader. SpiderMonkey ist ferner noch die JavaScript-Engine von Yahoo Widgets (besser bekannt als „Konfabulator“) und UOX3 (UOX), einem Emulator für das Onlinespiel Ultima Online. Eine weitere bekannte und kreative Verwendung der SpiderMonkey Javascript-Engine ist die Open-Source-Suite Sphere, welche aus Programmen besteht, die primär für das Designen von Rollenspielen gedacht sind. Auch das dokumentenbasierte Datenbanksystem CouchDB führt über SpiderMonkey JavaScript-Code aus. SpiderMonkey und seine Schwesterengine Rhino haben Unterstützung für den ECMAScript for XML (E4X)-Standard implementiert.

Weiterentwicklung

Zwischen 2006 und 2008 wurde versucht, das von Adobe an Mozilla gestiftete Tamarin in SpiderMonkey zu integrieren, um eine verbesserte Engine zu erhalten, die von Mozilla und Adobe parallel genutzt werden kann. Tamarin wurde damals von Adobe um eine experimentelle Optimierungsfunktion namens Tracing erweitert, durch welche ein Geschwindigkeitsvorteil erhofft wurde. Das „ActionMonkey“ genannte Projekt wurde 2008 eingestellt, da unter anderem die erhofften Geschwindigkeitsverbesserungen gegenüber SpiderMonkey nicht erreicht wurden, andererseits in SpiderMonkey schon enthaltene Fähigkeiten für Tamarin/ActionMonkey hätten neu umgesetzt werden müssen.Mozilla Corporation: JavaScript:ActionMonkey, abgerufen am 20. Februar 2009, englisch

TraceMonkey

Seit 2008 wird SpiderMonkey unter dem Projektnamen „TraceMonkey“ um verbesserte TracingfunktionenAndreas Gal, Michael Bebenita, Mason Chang und Michael Franz: Making the Compilation „Pipeline“ Explicit: Dynamic Compilation Using Trace Tree Serialization (PDF; 359 kB) erweitert.Mozilla Corporation: JavaScript:TraceMonkey, abgerufen am 20. Februar 2009, englisch Die neue Engine war erstmals in Firefox 3.5 enthalten.Brendan Eich: , 23. August 2008, englischheise Newsticker: Firefox-Entwickler planen weiten Versionssprung, 6. März 2009 Durch die neue Engine wird in einigen Fällen ein Geschwindigkeitsvorteil um den Faktor 20 bis 40 gegenüber der Vorgängerversion erreicht.http://arstechnica.com/news.ars/post/20080822-firefox-to-get-massive-javascript-performance-boost.html TraceMonkey fehlt in SpiderMonkey ab Firefox 11.

JägerMonkey JägerMonkey ist ein Projekt, das die JavaScript-Engine SpiderMonkey durch Optimierungen am Quellcode beschleunigt.bailopan.net blog im November 2016 Es fügt Inline Threading hinzu und nutzt den Assembler von Nitro, der JavaScript-Engine von WebKit.wiki.mozilla.org JaegerMonkey 22. Juni 2010, abgerufen am 16. Februar 2018

Versionen

Version Erscheinungsdatum Korrespondierende ECMAScript Version Browser Version Hinzugefügte Funktionalität März 1996 Netscape Navigator 2.0 August 1996 Netscape Navigator 3.0 Juni 1997 Netscape Navigator 4.0–4.05 Oktober 1998 ECMA-262 1st + 2nd edition Netscape Navigator 4.06–4.7x Netscape Server November 2000 ECMA-262 3rd edition Netscape Navigator 6, Firefox 1.0 November 2005 Firefox 1.5 additional array methods, array and string generics, E4X Oktober 2006 Firefox 2.0 iterators and generators, let statement, array comprehensions, destructuring assignment Juni 2008 Firefox 3.0 generator expressions, expression closures März 2011 ECMA-262 5th edition Firefox 4.0 JSON support Januar 2012 Firefox 10.0 November 2012 Firefox 17.0 September 2013 Firefox 24.0 Juli 2014 Firefox 31.0 Mai 2015 Firefox 38.0 März 2016 Firefox 45.0 März 2017 Firefox 52.0 Mai 2018 Firefox 60.0 Juli 2019 Firefox 68.0 Juni 2020 Firefox 78.0 2021 Firefox 90.0

Einzelnachweise

Weblinks Website des Projektes SpiderMonkey

Kategorie:Mozilla Kategorie:JavaScript-Engine Kategorie:Freies Programmierwerkzeug