Farbloser Tipp: Dieser Download wurde korrigiert. Bitte laden Sie diese chinesische Version des Tutorials erneut herunter. Entschuldigen Sie die Unannehmlichkeiten, die Ihnen entstanden sind!
Teil 1 Webanwendungen neu denken Kapitel 1 Ein neuer Ansatz für Webdesign 1.1 Warum benötigen Sie einen Ajax-Rich-Client? 1.1.1 Vergleich der Benutzererfahrung 1.1.2 Netzwerkverzögerung 1.1.3 Asynchrone Interaktion 1.1.4 Exklusive oder vorübergehende Nutzungsmuster 1.1.5 Vergessen Sie das Web 1.2 Vier Grundprinzipien von Ajax 1.2.1 Anwendungen, keine Inhalte, befinden sich im Browser 1.2.2 Der Server liefert Daten statt Inhalte 1.2.3 Die Benutzerinteraktion wird reibungslos und kontinuierlich 1.2.4 Diszipliniertes und seriöses Programmieren 1.3 Ajax-Rich-Clients in der realen Welt 1.3.1 Aktuelle Situation 1.3.2 Google Maps 1.4 Alternativen zu Ajax 1.4.1 Lösung basierend auf Macromedia Flash 1.4.2 Java Web Start und verwandte Technologien 1.5 Zusammenfassung 1.6 Ressourcen Kapitel 2 Ajax-Neulinge Erste Schritte 2.1 Schlüsselelemente von Ajax 2.2 Verwenden Sie JavaScript, um die Benutzererfahrung zu verbessern 2.3 Verwenden Sie CSS, um das Erscheinungsbild Ihrer Anwendung zu definieren 2.3.1 CSS-Selektoren 2.3.2 CSS-Stileigenschaften 2.3.3 Einfaches CSS-Beispiel 2.4 Ansichten mit DOM organisieren 2.4.1 Verwendung von JavaScript zur Manipulation von DOM 2.4.2 DOM-Knoten finden 2.4.3 DOM-Knoten erstellen 2.4.4 Stile zu Dokumenten hinzufügen 2.4.5 Abkürzung: Verwenden Sie das innerHTML-Attribut 2.5 Asynchrones Laden von Daten mittels XML-Technologie 2.5.1 IFrame 2.5.2 XMLDocument- und XMLHttpRequest-Objekte 2.5.3 Anfrage an Server senden 2.5.4 Überwachen Sie Anfragen mithilfe von Rückruffunktionen 2.5.5 Vollständiger Lebenszyklus 2.6 Wie unterscheidet sich Ajax? 2.7 Zusammenfassung 2.8 Ressourcen Kapitel 3 Ajax in Ordnung bringen 3.1 Vom Chaos zur Ordnung 3.1.1 Muster: Erstellen eines gemeinsamen Vokabulars 3.1.2 Refactoring und Ajax 3.1.3 Das Gleichgewicht wahren 3.1.4 Rekonstruktion des tatsächlichen Kampfes 3.2 Einige Fallstudien zu kleinen Refactorings 3.2.1 Browserübergreifende Inkonsistenz: Fassaden- und Adaptermodus 3.2.2 Verwaltungsereignisverarbeitungsfunktion: Beobachtermodus 3.2.3 Benutzeroperationsverarbeitungsfunktionen wiederverwenden: Befehlsmodus 3.2.4 Einen eindeutigen Verweis auf eine Ressource beibehalten: Singleton-Muster 3.3 Model-View-Controller 3.4 MVC auf der Webserverseite 3.4.1 Ajax-Webserver ohne Muster 3.4.2 Rekonstruieren Sie das Domänenmodell 3.4.3 Inhalt und Präsentation trennen 3.5 Bibliotheken und Frameworks von Drittanbietern 3.5.1 Browserübergreifende Bibliotheken 3.5.2 UI-Komponenten und UI-Komponenten-Suites 3.5.3 Anwendungsrahmen 3.6 Zusammenfassung 3.7 Ressourcen Teil 2 Kerntechnologie Kapitel 4 Seiten als Anwendungen 4.1 Eine andere Art von MVC 4.1.1 Wiederholen des MVC-Musters in verschiedenen Maßstäben 4.1.2 MVC auf der Browserseite anwenden 4.2 Ansichten in Ajax-Anwendungen 4.2.1 Logik von Ansichten trennen 4.2.2 Halten Sie Ansichten und Logik getrennt 4.3 Controller in Ajax-Anwendungen 4.3.1 Traditionelle JavaScript-Ereignisverarbeitungsfunktionen 4.3.2 W3C-Ereignismodell 4.3.3 Implementierung eines flexiblen Ereignismodells in JavaScript 4.4 Modelle in Ajax-Anwendungen 4.4.1 Geschäftsdomänen mit JavaScript modellieren 4.4.2 Interaktion mit dem Server 4.5 Ansichten aus Modellen generieren 4.5.1 Reflexion von JavaScript-Objekten 4.5.2 Arbeiten mit Arrays und Objekten 4.5.3 Controller hinzufügen 4.6 Zusammenfassung 4.7 Ressourcen Kapitel 5 Die Rolle des Servers 5.1 Arbeiten mit dem Server 5.2 Schreiben von serverseitigem Code 5.2.1 Beliebte Implementierungssprachen 5.2.2 N-Tier-Architektur 5.2.3 Pflegen Sie clientseitige und serverseitige Domänenmodelle 5.3 Gesamtbild: Universelles serverseitiges Design 5.3.1 Einfache Webserver-Codierung ohne Verwendung von Frames 5.3.2 Verwendung des Model2-Workflow-Frameworks 5.3.3 Verwendung komponentenbasierter Frameworks 5.3.4 Verwendung einer serviceorientierten Architektur 5.4 Details: Datenaustausch 5.4.1 Nur-Client-Interaktion 5.4.2 Einführung am Beispiel des Planetenbrowsers 5.4.3 Denken aus der Perspektive einer Webseite: Inhaltszentrierte Interaktion 5.4.4 Denken in Plug-ins: skriptzentrierte Interaktion 5.4.5 Aus Anwendungsperspektive denken: datenzentrierte Interaktionen 5.5 Daten auf den Server schreiben 5.5.1 Verwendung von HTML-Formularen 5.5.2 Verwendung des XMLHttpRequest-Objekts 5.5.3 Benutzeraktualisierungen effektiv verwalten 5.6 Zusammenfassung 5.7 Ressourcen Teil 3 Ajax auf professionellem Niveau Kapitel 6 Benutzererfahrung 6.1 Das Richtige tun: hochwertige Anwendungen entwickeln 6.1.1 Reaktionsfähigkeit 6.1.2 Robustheit 6.1.3 Konsistenz 6.1.4 Einfachheit 6.1.5 In die Praxis umsetzen 6.2 Halten Sie die Benutzer auf dem Laufenden 6.2.1 Umgang mit Antworten auf eigene Anfragen 6.2.2 Umgang mit von anderen Benutzern übermittelten Updates 6.3 Entwerfen eines Benachrichtigungssystems für Ajax 6.3.1 Benachrichtigungen modellieren 6.3.2 Anforderungen an die Benutzeroberfläche definieren 6.4 Benachrichtigungsrahmen implementieren 6.4.1 Statusleistensymbol anzeigen 6.4.2 Detaillierte Benachrichtigungsinformationen anzeigen 6.4.3 Integration 6.5 Verwenden Sie das Benachrichtigungsframework, um Netzwerkanfragen zu bearbeiten 6.6 Darstellung der Aktualität von Daten 6.6.1 Definieren Sie ein einfaches Hervorhebungsformat 6.6.2 Hervorhebung mit der Scriptaculous-Effektbibliothek 6.7 Zusammenfassung 6.8 Ressourcen Kapitel 7 Sicherheit und Ajax 7.1 JavaScript- und Browsersicherheit 7.1.1 Einführung der Quellserverrichtlinie 7.1.2 Ajax-bezogene Überlegungen 7.1.3 Subdomain-Probleme 7.1.4 Browserübergreifende Sicherheit 7.2 Kommunikation über Remote-Dienste 7.2.1 Agent-Remote-Service 7.2.2 Nutzung von Webdiensten 7.3 Schutz vertraulicher Daten 7.3.1 Zwischenhändler 7.3.2 Verwenden Sie sicheres HTTP 7.3.3 Verschlüsseln von Daten mit JavaScript über einfaches HTTP 7.4 Zugriffsstrategie für den Ajax-Datenfluss 7.4.1 Entwerfen einer sicheren Webschicht 7.4.2 Beschränkung des Zugriffs auf Webdaten 7.5 Zusammenfassung 7.6 Ressourcen Kapitel 8 Leistung 8.1 Was ist Leistung? 8.2 JavaScript-Ausführungsgeschwindigkeit 8.2.1 Anwendungszeit auf die harte Tour messen 8.2.2 Verwendung des Venkman Performance Analyzer 8.2.3 Optimieren Sie die Ausführungsgeschwindigkeit von Ajax-Anwendungen 8.3 JavaScript-Speichernutzung 8.3.1 Vermeiden Sie Speicherlecks 8.3.2 Besondere Überlegungen für Ajax 8.4 Design mit Blick auf Leistung 8.4.1 Speichernutzung messen 8.4.2 Einfaches Beispiel 8.4.3 Ergebnisse: So reduzieren Sie die Speichernutzung um das 150-fache 8.5 Zusammenfassung 8.6 Ressourcen Teil 4 Ajax-Fallstudie Kapitel 9 Dynamische Doppelkombinationsfunktion 9.1 Doppelkombinationsskript 9.1.1 Einschränkungen von Client-Lösungen 9.1.2 Einschränkungen serverseitiger Lösungen 9.1.3 Ajax-basierte Lösungen 9.2 Client-Architektur 9.2.1 Gestaltungsform 9.2.2 Entwerfen von Client-/Server-Interaktionen 9.3 Serverseitige VB.NET-Implementierung 9.3.1 XML-Antwortformat definieren 9.3.2 Serverseitigen Code schreiben 9.4 Ergebnisse anzeigen 9.4.1 Durchlaufen von XML-Dokumenten 9.4.2 CSS anwenden 9.5 Fortgeschrittene Probleme 9.5.1 Mehrfachauswahlabfragen zulassen 9.5.2 Erweitern Sie die Doppelkombination zu einer Dreifachkombination 9.6 Refactoring 9.6.1 Neuer und verbesserter net.ContentLoader 9.6.2 Duale Verbundkomponenten erstellen 9.7 Zusammenfassung Kapitel 10 Eingabeaufforderungen 10.1 10.1 Untersuchen Sie die Anwendung von Eingabeaufforderungen vor der Eingabe 10.1.3 10.1.1 Gemeinsame Merkmale von Eingabeaufforderungen 10.1.4 10.1.2 Google Suggest 10.1.3 Praktische Entwicklung von Ajax-Voreingabeaufforderungen 10.2 Serverseitiges Framework: C# 10.2.1 Server und Datenbank 10.2.2 Serverseitigen Code testen 10.3 Client-Framework 10.3.1 HTML 10.3.2 JavaScript 10.3.3 Zugriff auf den Server 10.4 Zusätzliche Funktionalität: mehrere Elemente mit unterschiedlichen Abfragen 10.5 10.5 Refactoring 10.5.1 Tag 1: Spielplan für die Entwicklung der TextSuggest-Komponente 10.5.2 Tag 2: TextSuggest erstellen – übersichtlich und konfigurierbar 10.5.3 Tag 3: Ajax aktivieren 10.5.4 Tag 4: Umgang mit Vorfällen 10.5.5 Tag 5: Popup-Fenster-Benutzeroberfläche für Eingabeaufforderungen 10.5.6 Sanierungsbericht 10.6 Zusammenfassung Kapitel 11 Erweitertes Ajax-Webportal 11.1 Das sich entwickelnde Portal 11.1.1 Traditionelles Portal 11.1.2 Portale mit umfangreichen Benutzeroberflächen 11.2 Architektur des Ajax-Portals mit Java 11.3 Ajax-Anmeldung 11.3.1 Benutzertabelle 11.3.2 Serverseitiger Anmeldecode: in Java implementiert 11.3.3 Client-Login-Framework 11.4 DHTML-Fenster implementieren 11.4.1 Portalfensterdatenbank 11.4.2 Serverseitiger Code für Portalfenster 11.4.3 Externe JS-Bibliothek hinzufügen 11.5 Automatische Ajax-Speicherfunktion hinzufügen 11.5.1 Ändern Sie den Bibliothekscode 11.5.2 Informationen automatisch in der Datenbank speichern 11.6 Refactoring 11.6.1 Definieren des Konstruktors 11.6.2 AjaxWindows.js-Bibliothek ändern 11.6.3 Protalbefehl angeben 11.6.4 Ajax-Verarbeitung durchführen 11.6.5 Refactoring-Bericht 11.7 Zusammenfassung Kapitel 12 Dynamische Suche mit XSLT 12.1 Suchtechnologie verstehen 12.1.1 Untersuchung der traditionellen Suche 12.1.2 Nachteile der Frame- und Popup-Ansätze 12.1.3 Untersuchen Sie die dynamische Suche mit Ajax und XSLT 12.1.4 Ergebnisse an den Kunden zurücksenden 12.2 Kundencode 12.2.1 Einrichten des Clients 12.2.2 Suchvorgang starten 12.3 Serverseitiger PHP-Code 12.3.1XML-Dokumente erstellen 12.3.2 XSLT-Dokumente erstellen 12.4 XSLT- und XML-Dokumente zusammenführen 12.4.1 Verwendung von Microsoft IE 12.4.2 Verwendung von Mozilla 12.5 Vollständige Suche 12.5.1 Cascading Style Sheets anwenden 12.5.2 Suche verbessern 12.5.3 Entscheidung für die Verwendung von XSLT 12.5.4 Überwindung der Mängel der Ajax-Lesezeichenunterstützung 12.6 Refactoring 12.6.1 XSLTHelper 12.6.2 Dynamische Suchkomponente 12.6.3 Refactoring-Bericht 12.7 Zusammenfassung Kapitel 13 Verwendung von AJAX zum Erstellen eigenständiger Anwendungen 13.1 Informationen von außen lesen 13.1.1 XML-Feeds finden 13.1.2 RSS-Struktur 13.2 Erstellen Sie umfangreiche Benutzeroberflächen 13.2.1 Prozess 13.2.2 HTML-Frames ohne Tabellen 13.2.3 Verwenden Sie die CSS-Methode für den Schriftsatz 13.3 Laden von RSS-Feeds 13.3.1 Globaler Geltungsbereich 13.3.2 Ajax-Vorladefunktion 13.4 Fügen Sie reichhaltige Verlaufseffekte hinzu 13.4.1 Browserübergreifende Deckkraftregeln 13.4.2 Ein-/Ausblendverläufe implementieren 13.4.3 JavaScript-Timer integrieren 13.5 Zusatzfunktionen 13.5.1 Zusätzliche Feeds einfügen 13.5.2 Integrierte Skip- und Pause-Funktionen 13.6 Vermeiden Sie Projektbeschränkungen 13.6.1 Überwindung der Sicherheitsbeschränkungen von Mozilla 13.6.2 Den Anwendungsbereich ändern 13.7 Refactoring 13.7.1 RSS-Reader-Modell 13.7.2 RSS-Reader-Ansicht 13.7.3 RSS-Reader-Controller 13.7.4 Refactoring-Bericht 13.8 Zusammenfassung Anhang A Ajax Toolbox A.1 Wählen Sie das richtige Toolset, um intelligenter zu arbeiten A.1.1 Besorgen Sie sich die richtigen Werkzeuge A.1.2 Erstellen Sie Ihre eigenen Tools A.1.3 Wartungswerkzeugkasten A.2 Editoren und IDEs A.2.1 Welche Funktionalität wird in einem Code-Editor benötigt? A.2.2 Aktuelle Tools A.3 Debugger A.3.1 Warum einen Debugger verwenden? A.3.2 JavaScript-Debugger A.3.3 HTTP-Debugger A.3.4 Erstellen Sie Ihre eigene browserübergreifende Ausgabekonsole A.4 DOM-Inspektor A.4.1 Verwendung des Mozilla DOM Inspector A.4.2 DOM-Inspektor des IE A.5 Installieren Sie die Firefox-Erweiterung A.6 Ressourcen Anhang B JavaScript für objektorientierte Programmierer B.1 JavaScript ist nicht Java B.2 Objekte in JavaScript B.2.1 Erstellen Sie ein Objekt, das sofort funktioniert (Ad-hoc) B.2.2 Konstruktoren, Klassen und Prototypen B.2.3 Integrierte Klassen erweitern B.2.4 Prototypenvererbung B.2.5 Reflexion von JavaScript-Objekten B.2.6 Schnittstellen und „Duck Typing“ B.3 Methoden und Funktionen B.3.1 Funktionen sind erstklassige Bürger B.3.2 Funktionen an Objekte anhängen B.3.3 Ausleihen von Funktionen von anderen Objekten B.3.4 Ajax-Ereignisbehandlung und Funktionskontext B.3.5 Abschlüsse in JavaScript B.4 Zusammenfassung