pelna-wersja-ajax-wzorce-i-najlepsze-rozwiazania_ajawzo.pdf

(19870 KB) Pobierz
656618888 UNPDF
i najlepsze rozwi¹zania
Autor: Christian Gross
T³umaczenie: Maciej Jezierski
ISBN: 83-246-0554-1
Format: B5, stron: 392
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
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
Stosuj sprawdzone wzorce i najlepsze praktyki budowania witryn internetowych
Ajax. Wzorce
656618888.008.png 656618888.009.png 656618888.010.png 656618888.011.png 656618888.001.png 656618888.002.png 656618888.003.png 656618888.004.png 656618888.005.png 656618888.006.png
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
656618888.007.png
6
Ajax. Wzorce i najlepsze rozwiązania
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
Spis treści
7
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
8
Ajax. Wzorce i najlepsze rozwiązania
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
Zgłoś jeśli naruszono regulamin