JavaScript-Entwicklung wieder vereint
2005 begannen die Arbeiten an ECMAScript 4(öffnet im neuen Fenster) beziehungsweise JavaScript 2. Die neue Spezifikation soll einerseits die zunehmende Größe und Bedeutung von JavaScript-Anwendungen auf Webseiten berücksichtigen und die Entwicklung vereinfachen, andererseits darf trotz neuer syntaktischer Mittel die Ausführungsgeschwindigkeit nicht darunter leiden. Kurz darauf kam es aber bereits zu unterschiedlichen Ansichten, welche neuen Sprachfunktionen Eingang in JavaScript finden sollten.
Im Jahr 2007 kam es zu einem deutlichen Bruch innerhalb des zuständigen ECMAScript-Ausschusses(öffnet im neuen Fenster) der ECMA(öffnet im neuen Fenster) . Ursache war, dass für einige Beteiligte die ursprüngliche Spezifikation zu viele Änderungen auf einmal mit sich brächte. Gerade die Browserhersteller Microsoft und Mozilla, aber auch Yahoo, wollen kleinere Schritte gehen und entwickelten einen Entwurf, der sich stärker an die aktuelle Version ECMAScript 3 hält – deswegen wird ihr Entwurf häufig auch als ECMAScript 3.1 bezeichnet.
Ende Juli 2008 gelang es, innerhalb des Ausschusses einen Konsens(öffnet im neuen Fenster) zu erreichen, um wieder an einem Standard zu arbeiten. Durch diesen Konsens werden einige wesentliche Punkte der ursprünglichen Spezifikation von ECMAScript 4 zurückgenommen. Für die weitere Arbeit an der Spezifikation sollen vor allem die Belange von JavaScript als Webseitensprache stehen.
So wird es vorerst keine Unterstützung von Namensräumen und keine Organisation von Klassen in Packages geben.
Die Einführung von Sichtbarkeitsregeln für Klassenvariablen wie public, protected und private hingegen ist unbestritten. Des Weiteren werden viele Methoden offiziell spezifiziert, die bereits von vielen Browsern unterstützt werden.
Eine besondere Rolle in diesem Richtungsstreit nimmt Adobe ein. ActionScript basiert gleichfalls auf ECMAScript und wird für die Programmierung innerhalb von Flash verwendet. Für die kommenden Generation von ActionScript hat hat Adobe bereits wesentliche Elemente der neuen Spezifikation von ECMAScript 4 implementiert. Es ist noch unklar, wie sich Adobe nun bei der Weiterentwicklung von ActionScript verhalten wird. Es ist aber anzunehmen, dass Adobe keine Sprachelemente entfernen wird.