Ajax_dla_zaawansowanych_Architektura_i_najlepsze_rozwiazania_ajaxzw.pdf

(472 KB) Pobierz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Ajax dla zaawansowanych.
Architektura i najlepsze
rozwiĴzania
Autor: Shawn M. Lauriat
TĀumaczenie: RadosĀaw Meryk
ISBN: 978-83-246-1585-8
TytuĀ oryginaĀu: Advanced Ajax:
Format: 168x237, stron: 392
Dowiedz siķ:
¤ Jak tworzyě rozbudowane i idealnie dopasowane do potrzeb interfejsy?
¤ Jak zapewniě uniwersalnoľě, skalowalnoľě oraz Āatwoľě eksploatacji?
¤ Jak zaprojektowaě architekturķ aplikacji?
Ajax (skrt od ang. Asynchronous JavaScript and XML) to niezwykle popularna
technologia tworzenia serwisw internetowych, w ktrej poĀĴczono kilka sprawdzonych
technik. Dziķki tej zintegrowanej technologii do niezbķdnego minimum zostaĀa
ograniczona iloľě danych przesyĀanych pomiķdzy serwerem a oknem przeglĴdarki
uŃytkownika. Nie tylko to przysporzyĀo Ajaksowi zwolennikw Ð jest on takŃe bardzo
dobrym narzķdziem do tworzenia interaktywnych serwisw internetowych. Sprawdza
siķ rwnieŃ przy przeprowadzaniu weryfikacji danych oraz rysowaniu wykresw
w czasie rzeczywistym. Dziķki asynchronicznym wywoĀaniom umoŃliwia szybszĴ
interakcjķ z uŃytkownikiem, a poszczeglne sekcje mogĴ byě wywoĀywane
indywidualnie, dziķki czemu aplikacja sprawia wraŃenie bardziej dynamicznej.
KsiĴŃka âAjax dla zaawansowanych. Architektura i najlepsze praktykiÒ to idealna
lektura dla programisty, ktry miaĀ juŃ przyjemnoľě pracowaě z Ajaksem. Podjķto tu
wszystkie zagadnienia niezbķdne do tworzenia dynamicznych aplikacji, niezaleŃnie
od uŃytych narzķdzi i technologii. Na praktycznych przykĀadach przedstawiono sposoby
wykorzystania Ajaksa do tworzenia rozbudowanych interfejsw w przeglĴdarce
dla aplikacji internetowych, ze szczeglnym uwzglķdnieniem ich uniwersalnoľci,
moŃliwoľci wielokrotnego wykorzystania kodu, skalowalnoľci oraz Āatwoľci
eksploatacji. Podrķcznik wskazuje zarwno sytuacje, w ktrych Ajax jest przydatny,
jak i takie, w ktrych jego wybr nie speĀni oczekiwaĺ uŃytkownika.
¤ Planowanie interfejsw Ajaksa
¤ Debugowanie, walidacja i optymalizacja kodu
¤ Tworzenie skalowalnych interefejsw
¤ Architektura aplikacji po stronie serwera oraz klienta
¤ Bezpieczeĺstwo aplikacji internetowych
¤ Projektowanie gier
Poznaj wiķcej niezwykĀych moŃliwoľci Ajaksa!
Wydawnictwo Helion
ul. Koľciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
837631059.051.png 837631059.052.png 837631059.053.png 837631059.054.png 837631059.001.png 837631059.002.png 837631059.003.png 837631059.004.png 837631059.005.png 837631059.006.png 837631059.007.png 837631059.008.png 837631059.009.png 837631059.010.png 837631059.011.png 837631059.012.png 837631059.013.png 837631059.014.png 837631059.015.png 837631059.016.png 837631059.017.png 837631059.018.png 837631059.019.png 837631059.020.png 837631059.021.png 837631059.022.png 837631059.023.png 837631059.024.png 837631059.025.png 837631059.026.png 837631059.027.png 837631059.028.png 837631059.029.png 837631059.030.png 837631059.031.png 837631059.032.png 837631059.033.png 837631059.034.png 837631059.035.png 837631059.036.png 837631059.037.png 837631059.038.png 837631059.039.png 837631059.040.png 837631059.041.png 837631059.042.png 837631059.043.png 837631059.044.png 837631059.045.png 837631059.046.png 837631059.047.png 837631059.048.png 837631059.049.png 837631059.050.png
 
Spis treści
Podziękowania ............................................................................................................................... 11
O autorze ......................................................................................................................................... 13
Wprowadzenie ...................................................................................................... 15
0.1. Ajax — znaczenie skrótu ............................................................................. 16
0.1.1. Asynchroniczny ................................................................................ 17
0.1.2. JavaScript ........................................................................................... 17
0.1.3. XML .................................................................................................... 18
0.2. Cele niniejszej książki .................................................................................. 19
0.3. Wymagania wstępne potrzebne do studiowania tej książki ................. 23
Rozdział 1.
Użyteczność ........................................................................................................... 27
1.1. Interfejs czy pokaz ........................................................................................ 28
1.1.1. Implementacja .................................................................................. 30
1.2. Oczekiwania użytkowników ...................................................................... 32
1.3. Wskaźniki i inne formy kontaktu z użytkownikami .............................. 34
1.3.1. Throbber ............................................................................................ 34
1.3.2. Wskaźniki postępu ........................................................................... 37
1.3.3. Komunikaty dla użytkowników wyświetlane w pętli ............... 40
1.4. Znaczniki semantyczne ............................................................................... 47
1.4.1. Lepsza dostępność ........................................................................... 48
1.4.2. Łatwość użytkowania ...................................................................... 50
5
6
Spis treści
1.4.3. Łatwiejsza pielęgnacja ..................................................................... 51
1.4.4. Łatwiejsze przetwarzanie ................................................................ 52
1.5. Co łączy style CSS z językiem JavaScript .................................................. 55
Rozdział 2.
Dostępność ..............................................................................................................61
2.1. Wymagania WCAG i wytyczne sekcji 508 ................................................ 62
2.1.1. WCAG ................................................................................................. 63
2.1.2. Wytyczne sekcji 508 .......................................................................... 71
2.2. Czytniki ekranu mogą obsługiwać wywołania Ajax ............................... 73
2.2.1. Zastępowanie treści .......................................................................... 74
2.2.2. Walidacja formularzy ....................................................................... 75
2.3. Dyskretny Ajax .............................................................................................. 77
2.4. Projektowanie z uwzględnieniem zasad dostępności ............................ 79
2.4.1. Projektowanie aplikacji o wysokim kontraście ............................ 79
2.4.2. Interfejs z możliwością powiększania fragmentów ekranu ....... 81
2.4.3. Kontrolki, do których łatwo dotrzeć .............................................. 83
2.5. WAI-ARIA ....................................................................................................... 84
Rozdział 3.
Architektura aplikacji po stronie klienta .........................................................87
3.1. Obiekty i wyzwalanie zdarzeń ................................................................... 88
3.1.1. Obsługa zdarzeń obiektów wbudowanych .................................. 90
3.1.2. Obiekty JavaScript ............................................................................ 92
3.2. Wzorzec projektowy Model-Widok-Kontroler ...................................... 108
3.2.1. Model ................................................................................................ 109
3.2.2. Widok ................................................................................................ 113
3.2.3. Kontroler .......................................................................................... 122
3.3. Projektowanie aplikacji sterowanych zdarzeniami ............................... 125
3.3.1. Zalety wykorzystanej architektury .............................................. 126
 
Spis treści
7
Rozdział 4.
Debugowanie kodu po stronie klienta ........................................................... 129
4.1. Walidacja, walidacja, walidacja ................................................................ 130
4.1.1. Walidator zestawu znaczników ................................................... 132
4.1.2. Walidator CSS ................................................................................. 133
4.1.3. Ekstraktor semantyczny ................................................................ 134
4.2. Narzędzia w przeglądarkach i wtyczki .................................................. 135
4.2.1. Konsola ............................................................................................. 135
4.2.2. Internet Explorer ............................................................................ 136
4.2.3. Firefox ............................................................................................... 141
4.2.4. Opera ................................................................................................ 147
4.2.5. Safari ................................................................................................. 149
4.3. Profilowanie kodu JavaScript ................................................................... 152
4.3.1. Rozpoznawanie „wąskich gardeł” ............................................... 154
4.4. Testy jednostkowe ...................................................................................... 158
4.4.1. Asercje .............................................................................................. 160
4.4.2. Konfiguracja testu .......................................................................... 161
4.4.3. Właściwy test .................................................................................. 164
4.4.4. Obiekty-atrapy ................................................................................ 166
4.4.5. Zestawy testów ............................................................................... 169
Rozdział 5.
Optymalizacja wydajności ................................................................................ 173
5.1. Wydajność bazy danych ........................................................................... 174
5.1.1. Schemat ............................................................................................ 175
5.1.2. Zapytania ......................................................................................... 179
5.2. Zajętość pasma i opóźnienia ..................................................................... 181
5.2.1. Pasmo ............................................................................................... 183
5.2.2. Opóźnienia ...................................................................................... 187
 
8
Spis treści
5.3. Pamięć podręczna ....................................................................................... 190
5.3.1. System plików ................................................................................. 191
5.3.2. Pamięć ............................................................................................... 193
5.3.3. Uzupełnienie implementacji ......................................................... 200
5.4. Wykorzystanie HTTP/1.1 ........................................................................... 202
5.4.1. If-Modified-Since ............................................................................ 205
5.4.2. Range ................................................................................................ 206
5.5. Profilowanie kodu PHP ............................................................................. 209
5.5.1. Debuger APD ................................................................................... 209
5.5.2. Xdebug .............................................................................................. 213
Rozdział 6.
Skalowalne i łatwe do pielęgnacji aplikacje Ajaksa ....................................219
6.1. Ogólne praktyki .......................................................................................... 220
6.1.1. Użycie procesora ............................................................................. 221
6.1.2. Zużycie pamięci .............................................................................. 223
6.2. Wiele prostych interfejsów ........................................................................ 227
6.2.1. Modularność .................................................................................... 227
6.2.2. Późne ładowanie ............................................................................. 230
6.3. Rozbudowane interfejsy ............................................................................ 233
6.3.1. Aplikacje monolityczne .................................................................. 233
6.3.2. Wstępne ładowanie ........................................................................ 237
Rozdział 7.
Architektura aplikacji po stronie serwera ......................................................239
7.1. Projektowanie aplikacji dla wielu interfejsów ....................................... 240
7.2. Wzorzec projektowy Model-Widok-Kontroler ...................................... 244
7.2.1. Model ................................................................................................ 244
7.2.2. Kontroler .......................................................................................... 254
7.2.3. Widok ................................................................................................ 263
7.3. Wykorzystanie wzorca Fabryka
wraz z mechanizmem obsługi szablonów .............................................. 269
 
Zgłoś jeśli naruszono regulamin