JavaScript

JavaScript ist in aller Munde – sowohl im positiven als auch im negativen Sinne. Immer wieder tauchen neben sinnvollen Empfehlungen wie der vom BSI auch Horrormeldungen wie aus der BamS in der Presse auf. Der Grund dafür ist, dass den Browser-Herstellern immer wieder Fehler bei der Programmierung ihrer Browser unterlaufen. Zwar werden eiligst Bugfixes zur Verfügung gestellt, aber der (Image-)Schaden ist schon eingetreten. Jedoch: Eine frühere Pressemitteilung des BSI hat in der Fachpresse zu scharfer Kritik geführt; teilweise war von überzogener Panikmache die Rede. Die inhaltliche Qualität der Aussage aus der BamS bedarf keines Kommentars.Ohne die Diskussion allzu sehr vertiefen zu wollen: Mit JavaScript kann man die eher beschränkten Möglichkeiten von HTML erweitern. Es handelt sich hierbei um eine clientseitige Programmiersprache. Das heißt, alles läuft im Browser ab, und man muss keine besondere Server-Voraussetzungen erfüllen. Letzterer Punkt ist (noch) ein großer Nachteil von serverseitigen Sprachen wie ASP.NET, PHP, Perl und Konsorten, denn vor allem die günstigen Hoster gestatten keine serverseitige Programmierung. Mit JavaScript ist dies jedoch alles kein Problem. Dank AJAX erlebt JavaScript gerade seinen zweiten Frühling: Jetzt ist allerhöchste Zeit in die Programmierung einzusteigen!

Die Geschichte von JavaScript

Gegen Ende des Jahres 1995 stellte die Firma Netscape die neueste Version ihres Internet-Browsers vor. Der Visionssprung von 1.1 auf 2.0 war berechtigt, da solch revolutionäre Dinge wie etwa die Unterstützung von Frames als neues Feature hinzufügekommen waren. Unter anderem war auch eine Sprache namens LiveScript eingebaut, mit man auf HTML-Seiten Einfluss nehmen könnte. Die Syntax dieser Sprache lehnte sich an Java an, und aus marketingtechnischen Gründen wurde die Programmiersprachen schließlich in JavaScript umbenannt. Schon bald begann der Siegeszug dieser Programmiersprache. Zwar war die Implementierung im Browser ehr mangelhaft (in der Netscape-Version 2.0 konnte man JavaScript nicht einmal deaktivieren, was zu einem bösen Sicherheitsproblem werden sollte), aber mit der Beta-Version des Netscape Navigatot 3 wurde die JavaScript-Version 1.1 vorgestellt, die deutlich mehr Möglichkeiten bot. Microsoft wollte nun auch auf den Zug aufspringen und kündigte an, in Version 3 des Internet Explorers ebenfalls eine Skriptunterstützung anzubieten. Aus lizenzrechtlichen Gründen wurde die Sprache JScript getauft. Von der Syntax her war sie aber mit JavaScript praktisch identisch.

Danach lieft ein langes Wettrennen zwischen Netscape und Microsoft, der so genannte Browser-Krieg. Während der Internet Explorer 3 praktisch nur JavaScript 1.0 unterstützte, beherrschte der Internet Explorer 4 schon JavaScript 1.1 – und enthielt einige Features aus dem Sprachschatz von JavaScript 1.2, das mit dem Netscape Navigator 4 eingeführt wurde, der parallel zum >>IE4<< erschien. Seit dem Netscape Navigator 4.06 gibt es JavaScript in der Version 1.3, die zwar nur rudimentäre Verbesserungen anbietet, sich aber an dem ECMA-262-Standard, ECMAScript, orientiert. Netscape hatte erkannt, dass man auf Standards setzen muss, und behauptete gleichzeitig, dass der Netscape Navigator 4.06 der Browser sei, der der Spezifikation von ECMAScript am nächsten komme. Microsoft wiederum verkleinerte mit dem Internet Explorer 5 den Rückstand weiter, setzte aber inzwischen eher auf andere Standards, wie DOM (Document Object Model). Unter dem Codenamen Mozilla wurde währenddessen die nächste Netscape-Version als Open Source entwickelt. Das heißt, der Sourcecode lag offen, und jeder konnte an er neuen Version mitentwickeln. Nichtsdestotrotz wurde der Löwenanteil der Arbeit von Netscape-Angestellten geleistet; das >>Linux_Wunder<< funktioniert eben nicht überall!

Im Spätherbst 2000 begannen sich die Ereignisse zu überschlagen. Netscape geriet unter Druck, da der Internet Explorer 5.5 sowie der Internet Explorer 6, der als Teil des neuen Microsoft-Betriebssystems Windows XP (Codename: Whistler) angeboten wurde, schnell den aktuellen Zwischenstand des Open-Source-Projekts erreichten. Netscape bastelte eine Installationsroutine und bot eben diesen Zwischenstand als Netscape 6 zum Download an (bezeichnenderweise war zu dieser Zeit eine fast identische Version auf der Mozilla-Website mit der Versionsnummer 0.6 als Download zu haben). Dieser Schritt stieß in der Fachwelt auf große Kritik, denn die Version war noch weit davon entfernt, für den Produktiveinsatz zu taugen. Erst die späteren Unterversionen von Netscape 6 und die nächste Version, Netscape 7, sorgten hier für spürbare Besserung. Und – was aus Sicht der Webdesigner viel schlimmer war – die neue Version erwies sich in Sachen JavaScript als nicht abwärtskompatibel, wenn es um >>DHTML<< ging. So mussten (Und müssen immer noch) eine Reihe von Skripten umprogrammiert werden. Die neuen Versionen (Netscape 6 und 7) unterstützen übrigens JavaScript 1.5, das aber nur unwesentliche Änderungen gegenüber den Vorgängerversionen aufweist (es wird eine aktuellere Version von ECMAScript unterstützt). Doch es bedurfte erst eines neuen Namens und eines schlankeren Browsers auf Mozilla-Basis, um dem Internet Explorer wieder kräftig Marktanteile abzunehmen: Firefox heißt die Software, die mittlerweile unangefochtene Nummer zwei auf dem Browsermarkt ist (bei einigen Special-Interest-Seiten sogar auf Nummer 1).Die Cruz bei der Programmierung von Webseiten besteht darin, dass die beiden großen Browserhersteller immer wieder versucht haben, sich dadurch zu übertrumpfen, dass sie immer neue Features in ihrem Browser einbauen. Das ist innerhalb des eigenen Mikrokosmos eine gute Sache, aber wenn die Technik inkompatibel zur Konkurrenz ist, schaut etwa die Hälfte der Websurfer (die nämlich den jeweils anderen Browser benutzen) bildlich gesprochen in die Röhre. Keine Firma kann es sich leisten, ein Web-Angebot nur für die halbe Zielgruppe zu erstellen. In unseren Seminaren geht es nicht nur um die neusten Effekte und Kniffe, Vielmehr geht es darum, wie Sie Ihre Zielgruppe erweitern können, indem JavaScript-Programme so gestaltet werden, dass sie von den Benutzern beider Browser und auch von den Benutzern älterer Versionen verwendet werden können. Ihr Ziel sollte nicht nur sein, eine technisch eindrucksvolle Seite zu erstellen, sondern auch Ihre Zielgruppe zu erweitern, indem Sie ältere Browser nicht ausschließen oder zumindest vor Fehlermeldungen bewahren.

Um Ihr Wissen zu diesem Thema zu vervollständigen