Ajax to nowoczesna technologia umożliwiająca budowanie witryn internetowych nowej generacji. Oddzielenie klienta od serwera i zastosowanie usług internetowych pozwala na tworzenie aplikacji łączących w sobie atrakcyjny i szybki interfejs, znany ze standardowych programów, z zaletami korzystania ze stron WWW. Dzięki temu możemy obniżyć koszty produkcji, zapewnić błyskawiczny dostęp do nowych danych i aktualizacji czy ułatwić używanie aplikacji z dowolnego komputera na świecie mającego dostęp do sieci WWW. Ponadto Ajax bazuje na standardowych technologiach, zatem można stosować go na wszystkich platformach.
Książka "Ajax. Wzorce i najlepsze rozwiązania" rozpoczyna się od wprowadzenia do tego podejścia. Tam też znajdziesz opis związanych z nim mechanizmów, takich jak architektura REST czy obiekty XMLHttpRequest, co pozwoli Ci szybko zrozumieć funkcjonowanie i zalety tej technologii. Jednak główną część książki stanowią praktyczne wzorce. Dzięki nim dowiesz się, jak usprawnić wczytywanie aplikacji poprzez stopniowe pobieranie kodu HTML, jak przyspieszyć działanie witryny za pomocą pamięci podręcznej, a także jak dynamicznie modyfikować zawartość stron. Nauczysz się też zwiększać komfort pracy użytkowników poprzez tworzenie wygodnego i niezawodnego systemu nawigacyjnego oraz sprawne pobieranie danych.
W książce omówiono:
Funkcjonowanie technologii Ajax
Architektura REST
Obiekty XMLHttpRequest
Stopniowe wczytywanie stron
Obsługa pamięci podręcznej
Przetwarzanie i reprezentacja danych
Obsługa nawigacji
Dynamiczne modyfikowanie stron
Stała komunikacja między serwerem a klientem
O autorze (9)
Wstęp (11)
Rozdział 1. Wprowadzenie do Ajaksa (15)
Obraz znaczy więcej niż tysiąc słów (16)
Kolejny przykład Ajaksa (20)
Podstawy architektury Ajaksa (22)
Dane (23)
Nawigacja (24)
Porównanie Ajaksa do innych typów aplikacji (26)
Rozbudowana aplikacja kliencka instalowana lokalnie (26)
Usługi internetowe z rozbudowaną aplikacją kliencką (28)
Zwykła aplikacja sieciowa (29)
Kilka uwag na koniec (29)
Rozdział 2. Ajax od środka (31)
Ajax dla niecierpliwych (31)
REST w teorii (31)
Implementowanie danych w REST (33)
Implementowanie aplikacji ajaksowej (34)
Łączenie Ajaksa i REST (35)
Konsekwencje Ajaksa i REST (36)
Szczegóły XMLHttpRequest (37)
Korzystanie ze wzorca Fabryka (39)
Definiowanie Fabryki XMLHttpRequest (40)
Użycie wzorca Fabryka w aplikacji ajaksowej (41)
Wykonywanie asynchronicznych żądań (42)
Praktyczne wykorzystanie XMLHttpRequest (46)
Implementowanie mechanizmu wywoływania asynchronicznego (46)
Wywoływanie domen innych niż domena serwisu (57)
Podsumowanie (62)
Rozdział 3. Wzorzec Fragmentacja Zawartości (63)
Cel (63)
Przyczyny wykorzystania wzorca (63)
Zastosowanie (64)
Powiązane wzorce (65)
Architektura (65)
Implementowanie porządku w aplikacji internetowej (66)
Określanie zawartości wewnątrz jej fragmentu (68)
Implementacja (70)
Implementacja szkieletu strony HTML (70)
Umieszczanie zawartości przy użyciu dynamicznego HTML-a (72)
Fragmenty w postaci danych binarnych, URL i obrazków (78)
Fragmentacja JavaScriptu (82)
Najważniejsze elementy wzorca (87)
Rozdział 4. Wzorzec Kontroler Pamięci Podręcznej (89)
Cel (89)
Przyczyny wykorzystania wzorca (89)
Zastosowanie (91)
Powiązane wzorce (92)
Architektura (92)
Dyrektywy pamięci podręcznej w HTTP i HTML (93)
Wykorzystanie pamięci podręcznej opartej na modelu wygasania HTTP to zły pomysł (94)
Lepsze podejście: wykorzystanie poprawności danych HTTP (95)
Kilka ciekawostek dotyczących pamięci podręcznej po stronie serwera (97)
Statyczna kontrola aktualności HTTP (99)
Dynamiczna kontrola aktualności HTTP (100)
Implementacja (102)
Implementacja pasywnej pamięci podręcznej (102)
Implementacja kontroli aktualności HTTP po stronie serwera (112)
Najważniejsze elementy wzorca (120)
Rozdział 5. Wzorzec Permutacje (121)
Cel (121)
Przyczyny wykorzystania wzorca (121)
Zastosowanie (125)
Powiązane wzorce (126)
Architektura (126)
Dlaczego zasób jest oddzielony od reprezentacji? (126)
Wykorzystywanie cookie i uwierzytelniania HTTP tylko do autoryzowania dostępu (129)
Korzystanie z cookie (132)
Przykładowa aplikacja z książkami (133)
Implementacja (138)
Przepisywanie adresów URL (138)
Przykład aplikacji z koszykiem zakupów (146)
Najważniejsze elementy wzorca (161)
Rozdział 6. Wzorzec Podzielona Nawigacja (163)
Cel (163)
Przyczyny wykorzystania wzorca (163)
Zastosowanie (167)
Powiązane wzorce (169)
Architektura (170)
Implementacja (172)
Implementacja funkcjonalności Działanie (173)
Definicja i implementacja funkcjonalności Wspólne Dane (182)
Implementacja funkcjonalności Prezentacja (198)
Wykorzystanie komponentów HTML (203)
Najważniejsze elementy wzorca (204)
Rozdział 7. Wzorzec Przemienianie Reprezentacji (209)
Cel (209)
Przyczyny wykorzystania wzorca (209)
Zastosowanie (214)
Powiązane wzorce (215)
Architektura (215)
Podstawy teorii wzorca (216)
Dlaczego wzorzec nie jest komponentem HTML? (217)
Określenie bloku stanu (219)
Implementacja (223)
Implementacja szkieletu (223)
Implementacja punktów odniesienia reprezentacji (225)
Szczegóły implementacji (233)
Najważniejsze elementy wzorca (235)
Rozdział 8. Wzorzec Trwała Komunikacja (237)
Cel (237)
Przyczyny wykorzystania wzorca (237)
Zastosowanie (239)
Powiązane wzorce (240)
Architektura (240)
Dlaczego internet jest "uszkodzony"? (241)
Implementacja rozwiązania odpytującego serwer (244)
Implementacja (246)
Przykład: ogólny zasób statusu (246)
Przykład: wykrywanie obecności (260)
Przykład: wypychanie danych przez serwer (265)
Numery wersji i aktualizacje (274)
Problemy wydajnościowe (274)
Najważniejsze elementy wzorca (274)
Rozdział 9. Wzorzec Stan Nawigacji (277)
Cel (277)
Przyczyny wykorzystania wzorca (277)
Zastosowanie (279)
Powiązane wzorce (280)
Architektura (280)
Rozwiązania bliskie idealnemu z punktu widzenia użytkownika (280)
Rozszerzenie rozwiązania dla celów aplikacji internetowej (283)
Zarządzanie stanem na poziomie protokołu (288)
Implementacja (291)
Przetwarzanie stanu po stronie klienta (292)
Przetwarzanie żądań po stronie serwera (302)
Najważniejsze elementy wzorca (311)
Rozdział 10. Wzorzec Nieskończone Dane (313)
Cel (313)
Przyczyny wykorzystania wzorca (313)
Zastosowanie (314)
Powiązane wzorce (315)
Architektura (315)
Implementacja (319)
Implementacja klienta HTML (320)
Implementacja zarządzania zadaniami (327)
Najważniejsze elementy wzorca (343)
Rozdział 11. Wzorzec Model Widok Kontroler oparty na REST (345)
Cel (345)
Przyczyny wykorzystania wzorca (345)
Zastosowanie (347)
Powiązane wzorce (347)
Architektura (348)
Ogólny obraz (348)
Definiowanie odpowiedniego zasobu (350)
Definicja interfejsu wywołującego (353)
Definicja podstawowego i rozszerzonego formatu danych (356)
Implementacja (359)
Implementacja wyszukiwania (359)
Tworzenie infrastruktury klienta wyszukiwarki (363)
Połączenie wszystkiego ze sobą (369)
Najważniejsze elementy wzorca (380)
Skorowidz (383)