Napisz ergonomiczne i wydajne aplikacje internetowe
Poznaj metody komunikacji w technologii Ajax
Wykorzystaj wzorce projektowe
Stwórz komponenty i stosuj je w swoich projektach
Dynamiczny rozwój internetu, języka HTML, technologii serwerowych i multimedialnych sprawił, że witryny WWW stały się dziełami sztuki, wypełnionymi animacjami, grafiką i dźwiękiem. Nadal jednak po kliknięciu łącza lub przycisku nawigacyjnego musimy czekać na załadowanie się nowej treści z serwera. Bazując na języku JavaScript i jego możliwości stosowania asynchronicznych żądań HTTP służących do pobierania danych z serwera bez konieczności przeładowania strony WWW, opracowano technologię, która pozwala na wyeliminowanie tej niedogodności. Nosi nazwę Ajax, a po jej zastosowaniu witryny i aplikacje WWW pod względem obsługi coraz bardziej przypominają tradycyjne programy.
Książka "Ajax. Zaawansowane programowanie" opisuje możliwości technologii i sposoby tworzenia aplikacji internetowych z jej zastosowaniem. Czytając ją, dowiesz się, jak powstał Ajax i gdzie jest wykorzystywany. Zrozumiesz, na czym polega technika "ukrytej ramki" i pobierania danych w tle, a także poznasz wzorce projektowe dla aplikacji budowanych w oparciu o Ajax. Nauczysz się przetwarzać pliki XML, pobierać kanały RSS i tworzyć usługi sieciowe wykorzystujące protokół SOAP. Napiszesz przeglądarkę poczty i komponenty noszące nazwę widgetów, które będziesz mógł zastosować na innych witrynach WWW. Znajdziesz tu również informacje o najpopularniejszych frameworkach wspomagających pracę twórców aplikacji Ajax.
Struktura aplikacji Ajax
Komunikacja aplikacji Ajax z serwerem
Wzorce projektowe
Przetwarzanie plików XML
Tworzenie usług WWW
Korzystanie z JSON
Tworzenie widgetów
Frameworki dla Ajaksa
O autorach (11)
Wprowadzenie (13)
Rozdział 1. Czym jest Ajax? (19)
Narodziny Ajax (20)
Ewolucja sieci WWW (20)
JavaScript (21)
Ramki (21)
Technika ukrytej ramki (21)
Dynamiczny HTML i model DOM (22)
Ramki iframe (22)
XMLHttp (23)
Prawdziwy Ajax (23)
Zasady tworzenia aplikacji Ajax (24)
Technologie używane przez Ajax (25)
Kto używa technologii Ajax? (26)
Google Suggest (26)
Gmail (27)
Google Maps (28)
A9 (29)
Yahoo! News (30)
Bitflux Blog (31)
Kontrowersje i nieporozumienia (31)
Podsumowanie (33)
Rozdział 2. Podstawy Ajax (35)
Elementarz HTTP (35)
Żądania HTTP (36)
Odpowiedzi HTTP (38)
Techniki komunikacyjne Ajax (39)
Technika ukrytej ramki (39)
Żądania wysyłane przez obiekt XMLHttp (53)
Dalsze rozważania (64)
Polityka tego samego pochodzenia (64)
Sterowanie buforowaniem (65)
Podsumowanie (66)
Rozdział 3. Wzorce Ajax (67)
Wprowadzenie (67)
Wzorce sterowania komunikacją (68)
Pobieranie predykcyjne (68)
Przykład wstępnego ładowania strony (69)
Dławienie wysyłania (76)
Przykład stopniowej kontroli zawartości formularza (77)
Przykład stopniowej weryfikacji pola (85)
Okresowe odświeżanie (88)
Przykład powiadamiania o nowym komentarzu (89)
Ładowanie wieloetapowe (94)
Przykład łączy prowadzących do dodatkowych informacji (94)
Wzorce zachowania w przypadku błędu (97)
Odwoływanie oczekujących żądań (97)
Wzorzec ponownej próby (99)
Podsumowanie (100)
Rozdział 4. XML, XPath i XSLT (103)
Obsługa XML w przeglądarkach (103)
XML DOM w przeglądarce IE (103)
XML DOM w przeglądarce Firefox (113)
XML w różnych przeglądarkach (117)
Przykład wykorzystania XML (118)
Obsługa XPath w przeglądarkach (124)
Wprowadzenie do XPath (125)
XPath w przeglądarce IE (126)
Posługiwanie się przestrzeniami nazw (127)
XPath w przeglądarce Firefox (130)
Funkcja rozwiązująca przedrostki przestrzeni nazw (131)
XPath w różnych przeglądarkach (132)
Obsługa przekształceń XSL w przeglądarkach (134)
Wprowadzenie do XSLT (134)
XSLT w przeglądarce IE (137)
XSLT w przeglądarce Firefox (141)
XSLT w różnych przeglądarkach (143)
Przykład z bestsellerami raz jeszcze (143)
Podsumowanie (146)
Rozdział 5. Syndykacja treści - RSS/Atom (149)
RSS (149)
RSS 0.91 (150)
RSS 1.0 (151)
RSS 2.0 (152)
Atom (152)
FOOReader.NET (153)
Komponenty po stronie klienta (154)
Komponenty serwera (164)
Wiązanie klienta z serwerem (171)
Konfiguracja (178)
Testowanie (179)
Podsumowanie (181)
Rozdział 6. Usługi WWW (183)
Technologie (183)
SOAP (183)
WSDL (186)
REST (190)
Platforma .NET i SOAP (193)
Decyzje podczas projektowania (193)
Tworzenie usługi WWW w Windows (194)
Wymagania systemowe (194)
Konfiguracja serwera IIS (195)
Tworzenie kodu (196)
Tworzenie kodu wykonywalnego (198)
Usługi WWW i Ajax (201)
Tworzenie środowiska testowego (202)
Rozwiązanie dla przeglądarki Internet Explorer (203)
Rozwiązanie dla przeglądarki Mozilla (205)
Rozwiązanie uniwersalne (208)
Usługi WWW pomiędzy domenami (210)
Interfejs usług Google (210)
Konfiguracja proxy (211)
Podsumowanie (215)
Rozdział 7. JSON (217)
Czym jest JSON? (217)
Literały tablic (217)
Literały obiektów (218)
Literały mieszane (219)
Składnia JSON (220)
Kodowanie i dekodowanie danych JSON (221)
JSON kontra XML (221)
Narzędzia JSON działające na serwerze (223)
JSON-PHP (223)
Inne narzędzia (225)
Pole tekstowe z automatycznymi podpowiedziami (225)
Przegląd funkcjonalności (226)
HTML (226)
Tabela bazy danych (228)
Architektura (229)
Klasy (230)
Kontrolka AutoSuggestControl (230)
Dostawca podpowiedzi (247)
Komponent serwera (249)
Komponent klienta (250)
Podsumowanie (252)
Rozdział 8. Widgety WWW (253)
W telegraficznym skrócie (253)
Komponent serwera (254)
Komponent klienta (255)
Styl wiadomości (263)
Implementacja widgetu paska wiadomości (265)
Widget informacji pogodowych (266)
Weather.com SDK (266)
Komponent serwera (267)
Komponent klienta (275)
Pobieranie danych z serwera (275)
Indywidualizacja widgetu pogody (276)
Wdrożenie widgetu informacji pogodowych (280)
Widget wyszukiwania (281)
Komponent serwera (282)
Komponent klienta (283)
Indywidualizacja widgetu wyszukiwania (288)
Wdrożenie widgetu wyszukiwania w sieci (290)
Widget przeszukiwania witryny (291)
Komponent serwera (292)
Komponent klienta (298)
Indywidualizacja widgetu przeszukiwania witryny (303)
Wdrożenie widgetu przeszukiwania (305)
Podsumowanie (306)
Rozdział 9. AjaxMail (307)
Wymagania (307)
Architektura (308)
Wykorzystane zasoby (308)
Tabele bazy danych (309)
Plik konfiguracyjny (310)
Klasa AjaxMailbox (311)
Wykonywanie akcji (333)
Interfejs użytkownika (339)
Widok katalogu (342)
Widok odczytu (344)
Widok kompozycji (346)
Układ (348)
Kompletowanie aplikacji (348)
Funkcje pomocnicze (350)
Mailbox (351)
Funkcje wywoływane zwrotnie (369)
Procedury obsługi zdarzeń (371)
Ostatni etap (372)
Podsumowanie (372)
Rozdział 10. Szkielety Ajax (373)
JPSpan (374)
Jak to działa? (374)
Instalacja JPSpan (374)
Tworzenie strony na serwerze (375)
Tworzenie strony na kliencie (381)
Obsługa błędów (384)
Translacja typów (386)
Podsumowanie JPSpan (387)
DWR (388)
Jak to działa? (388)
Instalacja DWR (388)
Tworzenie strony na kliencie (392)
Korzystanie z własnych klas (393)
Obsługa błędów (397)
Jeszcze o dwr.xml (397)
Konwertery (399)
Podsumowanie DWR (400)
Ajax.NET (400)
Jak to działa? (400)
Instalacja Ajax.NET (401)
Tworzenie strony WWW (402)
Typy proste i złożone (409)
Stan sesji (411)
Podsumowanie Ajax.NET (412)
Podsumowanie (412)
Skorowidz (415)