Geschenk für Mozilla: Adobes JavaScript-Engine

Ab 2008 sollen Firefox und Flash Player mit der gleichen Skript-Engine laufen. Mit einer Codeschenkung treibt Adobe die größte Umwälzung in JavaScript seit Erfindung der Sprache voran.

In Pocket speichern vorlesen Druckansicht 182 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Herbert Braun

Auf dem heute begonnenen 3. Web 2.0 Summit in San Francisco will Adobe die bislang größte Codeschenkung an die Mozilla-Stiftung bekannt geben: Adobe spendet der Open-Source-Organisation seine ActionScript Virtual Machine, die Bestandteil von Flash Player 9 ist. Unter dem Projektnamen Tamarin wollen die Mozilla-Entwickler bis 2008 die Engine in ihren JavaScript-Interpreter SpiderMonkey und damit in Firefox einbauen.

Die von Macromedia für Flash-Anwendungen entwickelte Programmiersprache ActionScript lehnte sich von Anfang an eng an JavaScript an. ActionScript 2 implementiert ECMAScript 3 (ECMA-262 Edition 3), was zugleich auch die Grundlage des von Mozilla gepflegten JavaScript ist. Flash Player 9 enthält den neuen Compiler AVM2 (ActionScript Virtual Machine 2), der ActionScript 3 verarbeitet. ActionScript 3 implementiert die noch in Entwicklung begriffene Version 4 von ECMAScript.

Am Ende des Tamarin-Projekts wird eine runderneuerte Version von JavaScript stehen – JavaScript 2. Wer schon immer JavaScript mit Java verwechselt hat, wird es dann noch schwerer haben: Die runderneuerte Skriptsprache lehnt sich teilweise an Java an. Vor allem wird JavaScript 2 wie schon ActionScript 3 Objektorientierung mit Klassen statt mit Prototypen umsetzen (Details dazu von JavaScript-Projektleiter Brendan Eich).

Mit der Codeschenkung treibt Adobe also die größte Weiterentwicklung von JavaScript seit der Erfindung der Sprache vor über zehn Jahren voran. Bei Flash dagegen wird sich weniger ändern – Adobe will die AVM unabhängig von der Schenkung weiterentwickeln und in den Flash Player einbauen.

Update: Frank Hecker, Executive Director der Mozilla-Stiftung, äußert sich zu den Hintergründen und Details. (heb)