Anzeige
Tutorialbeschreibung

JavaScript und Ajax - Einleitung

JavaScript und Ajax - Einleitung

In diesem ersten Kapitel wird dir die Geschichte der Sprache Javascript näher gebracht. Du erhälts Einblicke in die Geschichte und den Zusammenhängen der einzelnen Browsern. Auch Probleme die mit der Sprache verbunden sind werden hier nich außen vor gelassen.


Das nun folgende Tutorial ist ein Auszug aus der 7. Auflage des Buches: JavaScript und Ajax von Christian Wenz.
Die Veröffentlichung des Kapitels erfolgt mit freundlicher Genehmigung von Galileo Press.

1 Einleitung

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 besonderen 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 es allerhöchste Zeit, in die Programmierung einzusteigen!

In den folgenden Kapiteln finden Sie eine komplette Einführung in die Sprache, stets anhand von praxisnahen Beispielen illustriert. Ich habe versucht, mich bei den Beispielen auf das Wesentliche – nämlich auf die JavaScript-Programmierung – zu konzentrieren. Daher sind die Beispiele grafisch bei weitem nicht ausgefeilt, aber sie erfüllen die gestellten Aufgaben.

Ein Schwerpunkt des Buches ist AJAX: Das Buch versucht, den Begriff zu entschleiern und darzulegen, wie Sie mit wenig Aufwand ebenfalls beeindruckende AJAX-Anwendungen erstellen können. Kapitel 34 schließlich ist eine komplette Sprachreferenz, die Ihnen auch nach der Lektüre des Buches immer wieder als Nachschlagewerk dienen wird.

Des Weiteren möchte ich noch auf den Supportbereich zu allen Büchern von meinem Kollegen Tobias Hauser und/oder mir auf http://www. hauser-wenz.de/support/ hinweisen. Sie finden dort Errata (sobald sie mir bekannt werden) und können dort auch mit mir in Kontakt treten. Nutzen Sie diese Gelegenheit; jede Art von konstruktiver Kritik ist willkommen. Wenn Sie einen Fehler finden, teilen Sie mir diesen bitte mit, damit er in einer weiteren Auflage dieses Buches nicht mehr auftritt. Sie helfen damit auch anderen Lesern.

1.1 Die Geschichte von JavaScript 

topBilder
topBilder

Gegen Ende des Jahres 1995 stellte die Firma Netscape die neueste Version ihres Internet-Browsers vor. Der Versionssprung von 1.1 auf 2.0 war berechtigt, da solch revolutionäre Dinge wie etwa die Unterstützung von Frames als neues Feature hinzugekommen waren. Unter anderem war auch eine Sprache namens LiveScript eingebaut, mit der man auf HTML-Seiten Einfluss nehmen konnte. Die Syntax dieser Sprache lehnte sich an Java an, und aus marketingtechnischen Gründen wurde die Programmiersprache schließlich in JavaScript umbenannt.

Schon bald begann der Siegeszug dieser Programmiersprache. Zwar war die Implementierung im Browser eher 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 Navigator 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 lief 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 der 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. Net-scape 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. Doch keine Sorge, denn um eines vorwegzunehmen: In diesem Buch gehen wir ausführlich auf den neuesten Netscape-Browser ein. 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 Crux 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 ihre Browser einbauten. 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 diesem Buch geht es nicht nur um die neuesten 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. Bei bekannten Fehlern in der Implementierung einzelner Browser werden – soweit möglich – Workarounds angeboten. Ihr Ziel sollte es 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. Allerdings ist diese (siebte) Auflage des Buchs die erste, die einen Schlussstrich in Bezug auf ganz alte Browser zieht. Netscape 4 (und früher) sowie Internet Explorer 5.5 und früher haben eine mittlerweile kaum mehr messbare Verbreitung und werden deswegen nicht mehr berücksichtigt.

Es ist ja nicht so, dass nur der Netscape Navigator und der Internet Explorer JavaScript unterstützen. Die Nummer 3 im Browsermarkt, der Opera-Browser, unterstützt JavaScript-Version 1.3, und das sogar recht gut. Der Konqueror-Browser ist ebenfalls fit in JavaScript; da der Apple-Browser Safari auf Konqueror basiert, gilt das natürlich auch hier. Auch der in StarOffice integrierte Webbrowser sowie die Version 3 von Suns HotJava-Browser sind JavaScript-fähig. Diese Browser haben jedoch einen so kleinen Marktanteil, dass sie im Referenzteil nicht extra berücksichtigt werden. Mit umsichtiger Programmierung lassen sich aber auch hier Fehler vermeiden.

1.2 Voraussetzungen

Wenn Sie dieses Buch durcharbeiten wollen, sollten Sie zumindest Kenntnisse in HTML vorweisen können – denn dieses Buch soll nicht künstlich durch einen zusätzlichen HTML-Teil aufgebläht werden. Ebenfalls sollten Sie sicher mit Ihrem Betriebssystem umgehen können und beispielsweise Editoren starten und Dateien speichern können. Apropos Editoren: Im Gegensatz zu HTML gibt es bei der JavaScript-Programmierung keinen großen Markt für Editoren. Hier geschieht das meiste immer noch textbasiert. Die einfachen Texteditoren, die mit dem Betriebssystem mitgeliefert werden (beispielsweise Notepad oder SimpleEdit), reichen sogar schon aus; wer mehr will, sollte einen der folgenden Editoren ausprobieren, die hier in der Reihenfolge meiner Präferenzen geordnet sind (sie sind aber Shareware und damit nach Ablauf einer Testperiode kostenpflichtig):

UltraEdit (http://www.ultraedit.com/) – sehr leistungsfähiger Editor inklusive Syntax-Highlighting (Windows).
NoteTab (http://www.notetab.ch/) – mehrfach ausgezeichneter Klassiker unter den Texteditoren, auch in kostenfreier Light-Variante erhältlich (Windows).
BBEdit (http://www.barebones.com/products/bbedit/) – der Macintosh-Klassiker, den es auch in einer Light-Version gibt, nach der Sie allerdings ein wenig bei den einschlägigen Suchmaschinen forschen müssen.

Außerdem sollten Sie möglichst viele Browser installieren. Sie sollten nämlich Ihre JavaScript-Programme auf möglichst vielen Zielplattformen testen, um sicherzustellen, dass die Programme eben nicht nur bei Ihnen laufen. Der Internet Explorer überschreibt leider ausnahmslos alle Vorgängerversionen. Beim Netscape Navigator ist alles ein wenig einfacher. Die diversen Versionen lassen sich problemlos parallel installieren, Gleiches gilt für Mozilla-Browser (wobei jeweils einer reichen sollte). Ebenfalls sollten Sie den Opera-Browser installieren (http://www.opera.com/), da dieser auch eine gute JavaScript-Unterstützung hat. Benutzern von Mac OS X steht der Safari-Browser von Apple zur Verfügung, der auf dem Linux-Browser Konqueror basiert. Weitere Informationen zu den verschiedenen Browsern können Sie Kapitel 2 entnehmen.

Während der Entwicklung Ihrer Programme sollten Sie zum ersten Testen unbedingt einen Mozilla-Browser verwenden. Diese Empfehlung hat nichts mit meinem persönlichen Geschmack zu tun, sondern beruht auf der Tatsache, dass die Fehlermeldungen dort viel aussagekräftiger sind als die des Internet Explorers. Läuft ein Programm einmal im Mozilla (oder Firefox oder Camino oder Epiphany oder ...) einigermaßen zuverlässig, dann können Sie natürlich sofort dazu übergehen, es im Internet Explorer zu testen.

Fehlermeldungen werden normalerweise nicht angezeigt, Sie müssen dazu die JavaScript-Konsole einblenden. Das geht durch den Aufruf der speziellen URL javascript: oder über das Menükommando Extras N JavaScript-Konsole (heißt in manchen Mozilla-Derivaten auch anders).

Es bleibt mir nur noch, Ihnen viel Spaß bei der Lektüre dieses Buches und viel Erfolg und Kreativität beim Experimentieren mit JavaScript zu wünschen. Und noch einmal die Bitte: Geben Sie mir Rückmeldung, damit ich Ihre Anregungen für eine Neuauflage in Erwägung ziehen kann. Da ich sehr viele E-Mails bekomme, kann es mit einer Antwort etwas dauern, also werden Sie bitte nicht ungeduldig. Fragen zu Buchthemen beantworte ich gern, sofern es möglich ist, allerdings mit ein paar Einschränkungen: Mails mit Dateianhang kassiert mein Spamfilter, und ich kann leider nicht Ihren Code ansehen (außer, er stammt aus dem Buch und wurde nicht abgewandelt). Deswegen: Fragen zum Buch beantworte ich sehr gerne; allgemeine Fragen zu JavaScript sind in den folgenden Newsgroups besser aufgehoben und bekommen auch schneller eine Antwort:

de.comp.lang.javascript
comp.lang.javascript

Wenn Ihr Provider keine Newsgroup-Anbindung unterstützt, sollten Sie ihn wechseln oder sich ein kostenloses Konto bei http://groups. google.de/ einrichten lassen.

Vielleicht finden Sie eine Antwort auf Ihre Frage aber auch in den FAQ der Newsgroup de.comp.lang.javascript, die Sie auf der Buch-DVD finden. An dieser Stelle möchte ich mich sehr für die Erlaubnis bedanken, die FAQ beilegen zu dürfen. Lesen Sie die FAQ unbedingt durch, bevor Sie eine Frage in der Newsgroup stellen!
 

Das Tutorial ist ein Auszug aus der 7. Auflage des Buches von Christian Wenz:

JavaScript und Ajax - Das umfassende Handbuch
Galileo Computing, 853 Seiten, 8. aktualisierte Auflage

Die Veröffentlichung des Kapitels erfolgt mit freundlicher Genehmigung von Galileo Press.

Mehr Informationen zum aktualisierten Fachbuch für Webentwickler gibt es hier: JavaScript und Ajax
 
Alle Kapitel des Buches:
1 Grundlagen
2 JavaScript-Praxis
3 Professionelles JavaScript
4 Web 2.0 und Ajax
5 Kommunikation
6 Serverseitige Programmierung
7 Sicherheit
8 Praxis
9 Anhang
Bilder


 

Kommentare
Achtung: Du kannst den Inhalt erst nach dem Login kommentieren.
Portrait von Sedad
  • 10.01.2018 - 19:12

Vielen Dank !

Portrait von schluggy
  • 28.03.2008 - 21:46

Ein Vorwort als Tutorial... Ich hatte jetzt aktiven Inhalt erwartet.

Portrait von skyflight1981
  • 27.03.2008 - 20:32

Recht knapper Auszug, schätze aber dass die anderen Teile
wieder ausführlicher sind.

x
×
×