Zaphod / Narcissus
JavaScript VM in JavaScript

von Philipp Hirch


Seminar Zaphod / Narcissus | Inhaltsverzeichnis | Einleitung | Interpreter | Narcissus | Beispiel | Fazit | Quellenverzeichnis

Einleitung

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.


Was ist ...


Was ist Narcissus

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.


Was ist Zaphod

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“.


Die Motivation

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.


Seminar Zaphod / Narcissus | Inhaltsverzeichnis | Einleitung | Interpreter | Narcissuss | Beispiel | Fazit | Quellenverzeichnis