Dieses Seminar entstand als Leistung des Informatik-Seminar 2011 an der FH-Wedel und befasst sich mit den Projekten Zaphod und Narcissus von der Mozilla Foundation.
Narcissus ist ein JavaScript-Interpreter geschrieben in reinem JavaScript auf Basis der SpiderMonkey-Engine. Ursprünglich als Proof-of-concept von Brendan Eich gedacht, dient Narcissus nun als Testumgebung für Rapid Prototyping neuer JavaScript und ECMAScript Features.
Die ersten Versionen erschienen um 2004.
Zaphod ist ein Plugin für den Browser Firefox, welches Narcissus integriert.
Es ermöglicht das Ersetzen der Standard JavaScript-Engine (SpiderMonkey) mit Narcissus, sowie das interpretieren von Script-Tags des Typs „application/narcissus“.
Was ist die Motivation einer Virtuellen Maschine (VM) für JavaScript geschrieben in JavaScript?
Durch das Ansteigen von JavaScript-Programmen, stiegen auch die Anforderungen an die Sprache selbst und sie wurde kontinuierlich weiter entwickelt. Dies erforderte für die Entwickler immer mehr das einfügen neuer Syntaxen und Sprachfeatures.
Durch die Entwicklung einer VM in JavaScript, ermöglicht es nun den Entwicklern auf schnelle Art und Weise das testen und erweitern der neuen Sprachfeatures und ihren Syntaxen.
Mit der zusätzlichen Entwicklung von Zaphod, war es nun auch möglich die Kompatibilität der neuen Sprachfeatures beim normalen Surfen zu testen. Zudem ermöglichte es einen schnellen und unkomplizierten Austausch der Ideen, es ist nicht mehr nötig die ganze JS-Engine zu wechseln, sondern lediglich die VM, die zwischen geschaltet wird.