Ajax felsőfokon
Az Ajax felsőfokon a feladatközpontú, magas minőségű Ajax webalkalmazások készítésének nélkülözhetetlen útmutatója. Shawn M. Lauriat szisztematikusan áttekinti az Ajax-szal kapcsolatos tervezési, felépítési és fejlesztési kérdéseket, és olyan kipróbált mintákat és megbízható kódpéldákat mutat be, amelyek nem találhatók meg egyetlen másik könyvben sem. A kötetben mindazokra a problémákra – méretezhetőség, teljesítmény, biztonság, stabilitás, rugalmasság, karbantarthatóság, újrahasznosíthatóság – megtaláljuk a legjobb megoldásokat, amelyekkel az üzleti Ajax alkalmazások fejlesztői találkoznak.
Lauriat könyve azoknak a tapasztalt webfejlesztőknek szól, akik friss ötletekre és elegáns megoldásokra, kíváncsiak, de a műszaki jellegű tartalmat közérthetően közvetíti. Többek között a következő témákat tárgyalja eleddig példátlan mélységben: egyéni JavaScript-események megvalósítása a lazább csatolás és a nagyobb rugalmasság érdekében; az Ajax hagyományos használhatósági korlátainak átlépése; a hálózati átvitel idejének csökkentése tömörítés és más megoldások segítségével.
A főbb témakörök a következők:
- Egyszerű, tiszta és felhasználóbarát Ajax-felületek tervezése
- Méretezhető és karbantartható felépítés kialakítása az ügyféloldali JavaScript kódok számára
- Az ügyféloldali kód ellenőrzése, hibamentesítése és profiljának elkészítése a legújabb eszközök segítségével
- A kiszolgálóoldal felépítése a biztonságot és a működőképességet szem előtt tartva, miközben korlátozzuk a kérelmek által betölthető adatokat, objektumokat és műveleteket
- Védelem az Ajaxot érintő legelterjedtebb és legjelentősebb biztonsági fenyegetések ellen
- Az Ajax alkalmazások valamennyi összetevőjének optimalizálása a kiszolgálóoldali parancsfájloktól az adatbázis-műveletekig
- A holnap Ajaxa: játékfejlesztés, az Ajax és a rajzvászon, az Ajax használata üzleti alkalmazások fejlesztéséhez.
Szerző: Shawn M. Lauriat
Oldalszám: 309
Szint: haladó
Kiadó: Kiskapu Kiadó
ISBN: 9789639637498
Kiadás éve: 2008
Tartalomjegyzék
Bevezetés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
0.1 Az Ajax betûszó . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
0.2 A könyv célja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
0.3 A könyv megértésének elõfeltételei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1. fejezet • Használhatóság . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1 Felület vagy divatbemutató . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2 A felhasználó elvárásai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3 Visszajelzés a felhasználónak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4 Szemantikai jelölések . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.5 A CSS és a JavaScript közös vonásai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2. fejezet • Hozzáférhetõség . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.1 A WCAG és a Section 508 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.2 A képernyõolvasók képesek az Ajax kezelésére . . . . . . . . . . . . . . . . . . . 48
2.3 Nem tolakodó Ajax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.4 Tervezés a hozzáférhetõség figyelembe vételével . . . . . . . . . . . . . . . . . . 53
2.5 WAI-ARIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3. fejezet • Ügyféloldali alkalmazásfelépítés . . . . . . . . . . . . . . . . . . . . . 61
3.1 Objektumok és események . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.2 A modell-nézet-vezérlõ tervezési minta . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.3 Eseményvezérelt alkalmazások fejlesztése . . . . . . . . . . . . . . . . . . . . . . . . 93
4. fejezet • Hibakeresés az ügyféloldali kódban . . . . . . . . . . . . . . . . . . . 95
4.1 Érvényesítés, érvényesítés, érvényesítés . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.2 Böngészõeszközök és bõvítmények . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.3 Profilkészítés a JavaScriptben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.4 Egységtesztelés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5. fejezet • Teljesítményhangolás . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
5.1 Adatbázis-teljesítmény . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
5.2 Sávszélesség és késleltetés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.3 Gyorstárazás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
5.4 A HTTP/1.1 elõnyeinek kihasználása . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
5.5 PHP-profilkészítés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
6. fejezet • Méretezhetõ és fenntartható Ajax . . . . . . . . . . . . . . . . . . . 169
6.1 Általános eljárások . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
6.2 Egyszerû felületek tömkelege . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
6.3 Sûrû, gazdag felületek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
7. fejezet • Kiszolgálóoldali alkalmazásfelépítés . . . . . . . . . . . . . . . . . . 187
7.1 Alkalmazások tervezése több felülethez . . . . . . . . . . . . . . . . . . . . . . . . . 187
7.2 A modell-nézet-vezérlõ tervezési minta . . . . . . . . . . . . . . . . . . . . . . . . . 190
7.3 A Gyár minta használata a sablonértelmezõvel . . . . . . . . . . . . . . . . . . . . 213
8. fejezet • A webalkalmazás biztonsága . . . . . . . . . . . . . . . . . . . . . . 217
8.1 HTTPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
8.2 SQL-befecskendezés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
8.3 XSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
8.4 CSRF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
8.5 Ne bízzunk meg a felhasználóban! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
8.6 Ne bízzunk meg a kiszolgálóban! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
vi Ajax felsõfokon
9. fejezet • Dokumentálás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
9.1 Igen, dokumentálni muszáj! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
9.2 API-dokumentáció . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
9.3 Belsõ fejlesztõi dokumentáció . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
10. fejezet • Játékfejlesztés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
10.1 Egy másfajta biztonság . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
10.2 Egyszemélyes játék . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
10.3 „Valósidejû” többszemélyes játék . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
11. fejezet • Zárszó . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
11.1 Gondoljunk a felhasználókra! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
11.2 Tervezzünk a jövõre gondolva! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
11.3 Fejlesszünk a jövõre gondolva! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
A függelék • Források . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
B függelék • OpenAjax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Megfelelõség . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Névtérbejegyzés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Eseménykezelés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Bibliográfia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Tárgymutató. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Ajax felsõfokon vii
Kapcsolódó tanfolyamok:
Web, Webmester
Grafika, 3D, Videó