Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einleitung
2 Webbrowser
3 JavaScript einbauen
4 Programmieren mit JavaScript
5 Datum
6 Zufall
7 Browserinformationen
8 Fenster
9 Formulare
10 Frames und Iframes
11 Grafiken
12 Cookies
13 Objekte und Arrays
14 Ereignisbehandlung
15 Fehlerbehandlung
16 DOM
17 DHTML und CSS
18 AJAX
19 XML
20 Web Services
21 AJAX-Frameworks
22 Plugins
23 Multimedia
24 Java
25 Serverseitige Technologien
26 JavaScript goes .NET
27 Code schützen
28 Top Secret: Passwortschutz
29 Signierte Skripte
30 JavaScript und Sicherheit
31 Navigation
32 Warenkorb
33 JavaScript-Bibliotheken
34 Referenz
35 Quellen im Web
36 Die Zukunft von JavaScript
Index
Download: - ZIP, ca. 9,2 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Computing / <openbook> / JavaScript und AJAX | vor >>
JavaScript und AJAX von Christian Wenz Das umfassende Handbuch
JavaScript und AJAX 839 S., mit DVD, 39,90 Euro Galileo Computing ISBN 3-89842-859-1 |
| Kapitel 21 AJAX-Frameworks
|  | 21.1 Dojo
|  | 21.2 Atlas
Ein Intellektueller ist einer, der in eine Bibliothek geht, selbst wenn es nicht regnet. – André Roussin # Kapitel 21 AJAX-Frameworks Wie bereits mehrfach erwähnt wurde, ist AJAX an sich eigentlich nichts Besonderes, die Techniken sind bekannt und auch überschaubar. Das Geheimnis liegt nun darin, diese Techniken zu bündeln und damit beeindruckende Effekte zu erzielen, die auch auf Browsern mit niedrigem einstelligen Marktanteil noch möglichst gut laufen. Ist man auf sich allein gestellt, hat man es oft schwer: Es mangelt in der Regel schlicht an Testmöglichkeiten beziehungsweise an einigen der exotischeren Systeme. Ein Open-Source-Projekt kann hier Wunder wirken: Auch wenn die Anzahl der Entwickler überschaubar ist, die Anzahl der Tester beziehungsweise Entwickler, die ein solches Projekt ausprobieren, kann wertvolles Feedback liefern. AJAX-Frameworks können gleich zwei positive Effekte haben: Zum einen läuft der Code auf möglichst vielen Clients, und zum anderen spart man sich durch die Verwendung vorgefertigter Effekte mitunter eine Menge Zeit und Aufwand. Meine persönliche Einstellung zu Frameworks ist die, dass ich generell ein technologiespezifisches Framework bevorzuge – spezifisch in Bezug auf die Serverseite. Wenn ich also eine PHP-Website mit AJAX-Effekten erstellen soll und die Wahl zwischen einem allgemeinen AJAX-Framework und einem AJAX-Framework für PHP hätte (und beide vergleichbar gut wären), würde ich das spezifische Framework verwenden. Die serverseitige Technologie wird in der Regel sehr selten gewechselt, und ein Framework, das sich gut integriert, kann auch Features der Servertechnologie nutzen, was einem allgemeinen JavaScript-Framework normalerweise nicht gelingt. Die Meinungen sind natürlich unterschiedlich, weswegen ich in diesem Kapitel einen besonderen Ansatz wähle: Es wird sowohl ein rein clientseitiges AJAX-Framework vorgestellt als auch eines, das sich in eine bestimmte Servertechnologie integriert und diese somit erweitert. Eine komplette Vorstellung aller relevanten AJAX-Frameworks hat in diesem Buch keinen Platz und würde zudem einer geringen Halbwertszeit unterliegen: Was heute noch »state of the art« ist, mag morgen bereits überholt sein, neue Frameworks könnten einen Siegeszug antreten, alte Frameworks könnten die Unterstützung ihrer Entwickler verlieren und in der Bedeutungslosigkeit verschwinden. Deswegen zeigt dieses Kapitel an einem Beispiel, was ein Framework zu leisten in der Lage ist, und verweist auf weitere Quellen und Dokumentation dazu; eine komplette Referenz werden Sie aus den genannten Gründen allerdings nicht finden. ## 21.1 Dojo Das wohl bekannteste AJAX-Framework ist Dojo, das sich selbst »the JavaScript Toolkit« nennt. Dojo ist ein Vertreter der rein clientseitigen Frameworks und hat damit den Vorteil, mit jeder Servertechnologie zu funktionieren, solange nur der Server entsprechendes HTML-Markup und zugehörigen JavaScript-Code ausgibt. Damit hätte Dojo auch ganz gut in Kapitel 33 zum Thema JavaScript-Bibliotheken gepasst, aber der Schwerpunkt liegt schon sehr stark auf dem Thema AJAX. Hinter Dojo steckt die Dojo Foundation, eigentlich eine gemeinnützige Institution. Gesponsert wird das Ganze aber von einigen namhaften Firmen, unter anderem IBM und AOL. Somit sieht die Zukunft von Dojo ziemlich rosig aus. Erhältlich ist Dojo auf der Homepage http://dojotoolkit.org/. Der Download ist zurzeit über 3 MB groß, da wird also eine ganze Menge mitgliefert. Wenn Sie danach in das heruntergeladene Archiv gucken, finden Sie dort einige überraschende Elemente, unter anderem Flash-Filme. Das hat einen guten Grund: Über den Umweg des Flash-Plugins sind Anwendungsszenarien wie das Speichern von Daten und der Zugriff auf entfernte Websites möglich. Die Dojo-Bibliothek selbst ist um die 125 KB groß, aber unleserlich, weil sie mit einem speziellen Packprogramm klein gemacht wurde (und deswegen beispielsweise kurze, aber nichtssagende Variablennamen verwendet). Die leserliche Version bringt es auf über 200 KB. Allerdings steckt viel Funktionalität im Unterordner src. Als Implementierungsbeispiel soll eine sich selbst vervollständigende ComboBox erzeugt werden, wie das etwa Google Suggest vormacht (siehe Kapitel 18). Das ist vom JavaScript-Code her recht trickreich, aber mit Hilfe der Dojo-Bibliothek überraschend einfach. Zunächst benötigen Sie eine Datenquelle, die Vervollständigungsdaten für die ComboBox liefert. Dojo setzt hier auf JSON, Sie müssen also nur ein Array mit den einzelnen Listenelementen liefern. Jedes Array hat zwei Elemente: Die Beschriftung des Elements und den Wert. Normalerweise würden Sie jetzt ein serverseitiges Skript schreiben, das aus einer Datenbank Daten extrahiert, doch in diesem Fall machen wir es uns einfach und geben einfach einen statischen JSON-String zurück:
    [
       ["Januar", "1"],
       ["Februar", "2"],
       ["März", "3"],
       ["April", "4"],
       ["Mai", "5"],
       ["Juni", "6"],
       ["Juli", "7"],
       ["August", "8"],
       ["September", "9"],
       ["Oktober", "10"],
       ["November", "11"],
       ["Dezember", "12"]
    ]
Im zweiten Schritt ist die HTML-Seite an der Reihe. Zunächst muss die Dojo-Hauptbibliothek (dojo.js) geladen werden. Zum Redaktionsschluss dieses Buches war Dojo 0.3.1 aktuell; Sie müssen den Pfad unter Umständen an Ihr System und die jeweils vorhandene Dojo-Version anpassen:
    <script type="text/javascript"
       src="dojo-0.3.1-ajax/dojo.js"></script>
Wie bereits erwähnt, steckt in der dojo.js nicht die komplette Funktionalität. Die ComboBox etwa ist in der Datei src/widget/ComboBox.js im-plementiert. Das folgende Kommando lädt dieses Skript:
    <script type="text/javascript"><!--
    dojo.require("dojo.widget.ComboBox");
    //--></script>
Und das war es auch schon mit dem JavaScript-Code! Der Rest funktioniert komplett deklarativ. Sie verwenden ein herkömmliches <select>-HTML-Element für die ComboBox. Mit dem Attribut dojoType geben Sie an, dass Sie eine spezielle Variante der Auswahlliste haben möchten, nämlich eine ComboBox. Fehlt nur noch die Information, woher die Daten für die ComboBox kommen: Dafür ist das Attribut dataUrl da, mit dem Sie die JSON-Datei referenzieren:
    <select
       dojoType="ComboBox"
       dataUrl="dojo-autocompleter.json"
       maxListLength="10"
       style="width:200px;">
    </select>
Hier noch einmal der komplette, sehr überschaubare Code:
    <html>
    <head>
    <title>Dojo</title>
    <script type="text/javascript"
       src="dojo-0.3.1-ajax/dojo.js"></script>
    <script type="text/javascript"><!--
    dojo.require("dojo.widget.ComboBox");
    //--></script>
    </head>
    <body>
    <select
       dojoType="ComboBox"
       dataUrl="dojo-autocompleter.json"
       maxListLength="10"
       style="width:200px;">
    </select>
    </body>
    </html>
Das Ergebnis entnehmen Sie Abbildung 21.1: Sie tippen ein paar Zeichen und erhalten entsprechende Monatsnamen. Sie sehen also: wenig Code, maximale Wirkung – genau so macht ein Framework Sinn. Dojo bietet noch viele weitere Features, die wohl ein eigenes Buch füllen würden. Viel Spaß beim Experimentieren! Hier klicken, um das Bild zu Vergrößern Abbildung 21.1 Die Dojo-ComboBox
<< zurück | <top> | vor >>
Zum Katalog
JavaScript und AJAX bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchtipps
| JavaScript und AJAX - Das Video-Training
| Webseiten programmieren und gestalten
| XHTML, HTML und CSS
| CSS-Praxis
| AJAX
| PHP 5 und MySQL 5
| TYPO3 4.0
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

Copyright © Galileo Press 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

[Galileo Computing]
Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de