ajax. zaawansowane programowanie helion.pdf

(13244 KB) Pobierz
709964745 UNPDF
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Ajax. Zaawansowane
SPIS TREœCI
programowanie
KATALOG KSI¥¯EK
Autorzy: Nicholas C. Zakas, Jeremy McPeak, Joe Fawcett
T³umaczenie: Jaromir Senczyk
ISBN: 83-246-0567-3
Tytu³ orygina³ u: Professional Ajax
Format: B5, stron: 432
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
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
Zdob¹dŸ praktyczn¹ wiedzê niezbêdn¹ do tworzenia aplikacji Ajax
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOœCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
709964745.002.png 709964745.003.png 709964745.004.png 709964745.005.png
O autorach ....................................................................................................................................................9
Wprowadzenie ............................................................................................................................................ 11
Rozdział 1. Czym jest Ajax? ....................................................................................................................... 17
Narodziny Ajax ............................................................................................................. 18
Ewolucja sieci WWW ..................................................................................................... 18
JavaScript .............................................................................................................. 19
Ramki .................................................................................................................... 19
Technika ukrytej ramki ............................................................................................. 19
Dynamiczny HTML i model DOM ............................................................................... 20
Ramki iframe .......................................................................................................... 20
XMLHttp ................................................................................................................. 21
Prawdziwy Ajax ............................................................................................................. 21
Zasady tworzenia aplikacji Ajax ...................................................................................... 22
Technologie używane przez Ajax ..................................................................................... 23
Kto używa technologii Ajax? .......................................................................................... 24
Google Suggest ...................................................................................................... 24
Gmail ..................................................................................................................... 25
Google Maps .......................................................................................................... 26
A9 ......................................................................................................................... 27
Yahoo! News .......................................................................................................... 28
Bitflux Blog ............................................................................................................. 29
Kontrowersje i nieporozumienia ..................................................................................... 29
Podsumowanie ............................................................................................................ 31
Rozdział 2. Podstawy Ajax ........................................................................................................................33
Elementarz HTTP .......................................................................................................... 33
Żądania HTTP ......................................................................................................... 34
Odpowiedzi HTTP .................................................................................................... 36
Techniki komunikacyjne Ajax ......................................................................................... 37
Technika ukrytej ramki ............................................................................................. 37
Żądania wysyłane przez obiekt XMLHttp .................................................................... 51
709964745.001.png
4
Ajax. Zaawansowane programowanie
Dalsze rozważania ........................................................................................................ 62
Polityka tego samego pochodzenia ........................................................................... 62
Sterowanie buforowaniem ........................................................................................ 63
Podsumowanie ............................................................................................................ 64
Rozdział 3. Wzorce Ajax ...........................................................................................................................65
Wprowadzenie .............................................................................................................. 65
Wzorce sterowania komunikacją .................................................................................... 66
Pobieranie predykcyjne ............................................................................................ 66
Przykład wstępnego ładowania strony ....................................................................... 67
Dławienie wysyłania ................................................................................................ 74
Przykład stopniowej kontroli zawartości formularza .................................................... 75
Przykład stopniowej weryfikacji pola .......................................................................... 83
Okresowe odświeżanie ............................................................................................ 86
Przykład powiadamiania o nowym komentarzu ........................................................... 87
Ładowanie wieloetapowe ......................................................................................... 92
Przykład łączy prowadzących do dodatkowych informacji ............................................. 92
Wzorce zachowania w przypadku błędu .......................................................................... 95
Odwoływanie oczekujących żądań ............................................................................. 95
Wzorzec ponownej próby .......................................................................................... 97
Podsumowanie ............................................................................................................ 98
Rozdział 4. XML, XPath i XSLT .................................................................................................................. 101
Obsługa XML w przeglądarkach ................................................................................... 101
XML DOM w przeglądarce IE .................................................................................. 101
XML DOM w przeglądarce Firefox ............................................................................ 111
XML w różnych przeglądarkach ............................................................................... 115
Przykład wykorzystania XML ................................................................................... 116
Obsługa XPath w przeglądarkach ................................................................................. 123
Wprowadzenie do XPath ........................................................................................ 123
XPath w przeglądarce IE ......................................................................................... 124
Posługiwanie się przestrzeniami nazw ..................................................................... 125
XPath w przeglądarce Firefox .................................................................................. 128
Funkcja rozwiązująca przedrostki przestrzeni nazw ................................................... 129
XPath w różnych przeglądarkach ............................................................................. 130
Obsługa przekształceń XSL w przeglądarkach ............................................................... 132
Wprowadzenie do XSLT .......................................................................................... 132
XSLT w przeglądarce IE .......................................................................................... 135
XSLT w przeglądarce Firefox ................................................................................... 139
XSLT w różnych przeglądarkach .............................................................................. 141
Przykład z bestsellerami raz jeszcze ....................................................................... 141
Podsumowanie .......................................................................................................... 144
RSS/Atom ........................................................................................ 147
RSS .......................................................................................................................... 147
RSS 0.91 ............................................................................................................. 148
RSS 1.0 ............................................................................................................... 149
RSS 2.0 ............................................................................................................... 150
Atom ......................................................................................................................... 150
FOOReader.NET ......................................................................................................... 151
Komponenty po stronie klienta ............................................................................... 152
Komponenty serwera ............................................................................................. 162
Wiązanie klienta z serwerem .................................................................................. 169
Rozdział 5. Syndykacja treści
Spis treści
5
Konfiguracja .............................................................................................................. 176
Testowanie ................................................................................................................ 177
Podsumowanie .......................................................................................................... 179
Rozdział 6. Usługi WWW ........................................................................................................................... 181
Technologie ............................................................................................................... 181
SOAP ................................................................................................................... 181
WSDL .................................................................................................................. 184
REST ................................................................................................................... 188
Platforma .NET i SOAP ................................................................................................ 191
Decyzje podczas projektowania ................................................................................... 191
Tworzenie usługi WWW w Windows .............................................................................. 192
Wymagania systemowe ......................................................................................... 192
Konfiguracja serwera IIS ........................................................................................ 193
Tworzenie kodu ..................................................................................................... 194
Tworzenie kodu wykonywalnego .............................................................................. 196
Usługi WWW i Ajax ...................................................................................................... 199
Tworzenie środowiska testowego ............................................................................ 200
Rozwiązanie dla przeglądarki Internet Explorer ......................................................... 201
Rozwiązanie dla przeglądarki Mozilla ....................................................................... 203
Rozwiązanie uniwersalne ....................................................................................... 206
Usługi WWW pomiędzy domenami ............................................................................... 208
Interfejs usług Google ........................................................................................... 208
Konfiguracja proxy ................................................................................................. 209
Podsumowanie .......................................................................................................... 213
Rozdział 7. JSON ...................................................................................................................................... 215
Czym jest JSON? ........................................................................................................ 215
Literały tablic ........................................................................................................ 215
Literały obiektów ................................................................................................... 216
Literały mieszane .................................................................................................. 217
Składnia JSON ...................................................................................................... 218
Kodowanie i dekodowanie danych JSON ................................................................. 219
JSON kontra XML ....................................................................................................... 219
Narzędzia JSON działające na serwerze ........................................................................ 221
JSON-PHP ............................................................................................................. 221
Inne narzędzia ...................................................................................................... 223
Pole tekstowe z automatycznymi podpowiedziami ......................................................... 223
Przegląd funkcjonalności ....................................................................................... 224
HTML ................................................................................................................... 224
Tabela bazy danych ............................................................................................... 226
Architektura .......................................................................................................... 227
Klasy ................................................................................................................... 228
Kontrolka AutoSuggestControl ................................................................................ 228
Dostawca podpowiedzi .......................................................................................... 245
Komponent serwera .............................................................................................. 247
Komponent klienta ................................................................................................ 248
Podsumowanie .......................................................................................................... 250
6
Ajax. Zaawansowane programowanie
Rozdział 8. Widgety WWW ...................................................................................................................... 251
W telegraficznym skrócie ............................................................................................ 251
Komponent serwera .............................................................................................. 252
Komponent klienta ................................................................................................ 253
Styl wiadomości .................................................................................................... 261
Implementacja widgetu paska wiadomości .............................................................. 263
Widget informacji pogodowych ..................................................................................... 264
Weather.com SDK ................................................................................................. 264
Komponent serwera .............................................................................................. 265
Komponent klienta ................................................................................................ 273
Pobieranie danych z serwera .................................................................................. 273
Indywidualizacja widgetu pogody ............................................................................. 274
Wdrożenie widgetu informacji pogodowych .............................................................. 278
Widget wyszukiwania .................................................................................................. 279
Komponent serwera .............................................................................................. 280
Komponent klienta ................................................................................................ 281
Indywidualizacja widgetu wyszukiwania ................................................................... 286
Wdrożenie widgetu wyszukiwania w sieci ................................................................. 288
Widget przeszukiwania witryny ..................................................................................... 289
Komponent serwera .............................................................................................. 290
Komponent klienta ................................................................................................ 296
Indywidualizacja widgetu przeszukiwania witryny ...................................................... 301
Wdrożenie widgetu przeszukiwania ......................................................................... 303
Podsumowanie .......................................................................................................... 304
Rozdział 9. AjaxMail ............................................................................................................................... 305
Wymagania ................................................................................................................ 305
Architektura ............................................................................................................... 306
Wykorzystane zasoby ............................................................................................. 306
Tabele bazy danych ............................................................................................... 307
Plik konfiguracyjny ................................................................................................. 308
Klasa AjaxMailbox ................................................................................................. 309
Wykonywanie akcji ................................................................................................ 331
Interfejs użytkownika .................................................................................................. 337
Widok katalogu ..................................................................................................... 340
Widok odczytu ...................................................................................................... 342
Widok kompozycji .................................................................................................. 344
Układ ................................................................................................................... 346
Kompletowanie aplikacji ............................................................................................. 346
Funkcje pomocnicze .............................................................................................. 348
Mailbox ................................................................................................................ 349
Funkcje wywoływane zwrotnie ................................................................................. 367
Procedury obsługi zdarzeń ..................................................................................... 369
Ostatni etap .............................................................................................................. 370
Podsumowanie .......................................................................................................... 370
Rozdział 10. Szkielety Ajax ...................................................................................................................... 371
JPSpan ...................................................................................................................... 372
Jak to działa? ....................................................................................................... 372
Instalacja JPSpan .................................................................................................. 372
Tworzenie strony na serwerze ................................................................................. 373
Zgłoś jeśli naruszono regulamin