Ajax_on_Rails_ajaxra.pdf

(344 KB) Pobierz
Ajax on Rails
Ajax on Rails
Autor: Scott Raymond
T‡umaczenie: Adrian Elczewski
ISBN: 978-83-246-1048-8
Format: B5, stron: 336
Wydawnictwo Helion
ul. Kociuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
Zobacz, jak wykorzystaě potencjaĀ technologii Ajax i Rails
w tworzeniu zaawansowanych aplikacji internetowych!
Jak u¿ywa platformy Rails do budowy dynamicznych aplikacji internetowych?
Jak szybko tworzy witryny ajaksowe, wykorzystuj„c wydajne biblioteki?
Jak zwiŒkszy komfort pracy u¿ytkownikw Twoich aplikacji internetowych?
Ajax to olbrzymie mo¿liwoci w zakresie tworzenia dynamicznych i interaktywnych
aplikacji internetowych, dzia‡aj„cych niemal tak szybko, jak tradycyjne programy.
Jednak lepsza jako witryn wymaga zwykle pisania bardziej skomplikowanego kodu
i, co za tym idzie, wiŒkszych nak‡adw pracy i czasu. Tak te¿ by‡o do niedawna
w przypadku Ajaksa, ale obecnie, gdy wzros‡a popularno tej technologii, a ona sama
dojrza‡a, programici mog„ korzysta z wielu bibliotek i platform, dziŒki ktrym
tworzenie efektownych aplikacji internetowych sta‡o siŒ niezwykle proste.
Ajax on Rails to podrŒcznik dla programistw, ktrzy chc„ szybko i ‡atwo budowa
wydajne aplikacje internetowe na bazie dwch popularnych mechanizmw technologii
Ajax oraz platformy Rails. Czytaj„c go, dowiesz siŒ, w jaki sposb Ajax umo¿liwia
kreowanie funkcjonalnych i wygodnych w obs‡udze witryn, a tak¿e nauczysz siŒ
b‡yskawicznie stosowa tŒ technologiŒ w oparciu o biblioteki Prototype i scipt.aculo.us
oraz kompletn„ platformŒ do tworzenia aplikacji internetowych, czyli Rails. Poznasz te¿
sposoby sprawnego diagnozowania aplikacji ajaksowych oraz zapewnisz im
bezpieczeæstwo i wydajno, aby udostŒpnia swym klientom produkty najwy¿szej klasy.
Przegl„d mechanizmw technologii Ajax
Dzia‡anie platformy Rails
Ajaksowe przesy‡anie danych za pomoc„ biblioteki Prototype
Dodawanie efektw do witryn przy u¿yciu biblioteki scipt.aculo.us
Generowanie kodu JavaScript za pomoc„ szablonw RJS
ZwiŒkszanie u¿ytecznoci aplikacji
Diagnozowanie aplikacji na platformie Rails
Zapewnianie bezpieczeæstwa programu
ZwiŒkszanie wydajnoci aplikacji
692073497.003.png 692073497.004.png 692073497.005.png 692073497.006.png
Spis treści
Przedmowa .....................................................................................................................7
1. Wprowadzenie ..............................................................................................................11
Dla kogo jest ta książka
11
Czym jest Ajax?
12
Czym jest Rails
18
„Twój Ajax w moim Rails”
21
Nabieranie prędkości
21
Podsumowanie
27
2. Pierwsze kroki ..............................................................................................................29
Staromodny sposób
29
Prototype oraz inne biblioteki JavaScript
33
Rails pojawia się na horyzoncie
35
Podsumowanie
40
3. Wprowadzenie do Prototype ....................................................................................... 41
Ustawianie sceny
41
Łącza w Ajaksie
44
Formularze
48
Formularze w Ajaksie
51
Przyciski
52
Obserwatory formularza
54
Podsumowanie
55
4. Wprowadzenie do script.aculo.us ............................................................................... 57
Efekty wizualne
57
Przeciągnij i upuść
62
Podsumowanie
70
3
692073497.001.png
5. RJS .................................................................................................................................. 71
Instrukcje zamiast danych
71
Umieszczenie R w skrócie RJS
72
Przykłady z życia wzięte
85
Podsumowanie
87
6. Użyteczność Ajaksa ......................................................................................................89
Zasady użyteczności
90
Kontekst Internetu
94
Użyteczność w Internecie
97
Programowanie uwzględniające różne przeglądarki
103
Podsumowanie
107
7. Testowanie i usuwanie błędów ................................................................................. 109
Usuwanie błędów
110
Testowanie
122
Podsumowanie
134
8. Bezpieczeństwo .......................................................................................................... 135
Zdrowy sceptycyzm: nie ufać danym wejściowym użytkownika
135
Hashowanie haseł
144
Uciszanie logów
145
Polityka tej samej domeny
146
Używanie i nadużywanie metod HTTP
148
Szyfrowanie i certyfikaty bezpieczeństwa
151
Lista mailingowa o bezpieczeństwie w Rails
152
Podsumowanie
152
9. Wydajność ................................................................................................................... 153
Środowiska projektowe i produkcyjne
153
Przechowywanie sesji
154
Buforowanie wyjścia
155
Pakowanie zasobów
160
Postępowanie z długo działającymi zadaniami
162
Podsumowanie
164
10. Informator o Prototype .............................................................................................. 165
Wsparcie Ajaksa
166
Manipulacja DOM
172
Wbudowane rozszerzenia
185
4 | Spis treści
11. Informator o script.aculo.us ....................................................................................... 199
Efekty wizualne
199
Przeciągnij i upuść
209
Kontrolki
218
Rozszerzenia klasy element
226
Konstruktor DOM
228
Testowanie jednostkowe JavaScript
229
Metody narzędziowe
232
Przykład A Quiz ...........................................................................................................233
Przykład B Galeria zdjęć ............................................................................................ 249
Przykład C Aplikacja współpracy w grupie ...............................................................267
Skorowidz ...................................................................................................................315
Spis treści |
5
ROZDZIAŁ 2.
Pierwsze kroki
O, Ajaksie! Znowuż Cię przyzywam.
Sofokles
W tym rozdziale głównym zamysłem jest zrobienie rundki, małymi kroczkami, po naprawdę
prostych przykładach wykorzystania technologii Ajax. Rails dostarcza wiele możliwości two-
rzenia złożonych interakcji w technologii Ajax z użyciem bardzo małej ilości kodu. Ale żeby
zrozumieć, co się dzieje „pod maską”, każdy powinien być obeznany z najniższym pozio-
mem działania technologii Ajax (np. obiektem XMLHttpRequest ). Po przyswojeniu treści tej
książki tworzenie obiektu XMLHttpRequest za pomocą biblioteki Prototype lub bez jej użycia
nie będzie stanowiło problemu. Czytelnik będzie potrafił z pomocą Rails utworzyć proste inte-
rakcje w technologii Ajax bez pisania jakiegokolwiek kodu w JavaScripcie. Z tym założeniem
zdobędziemy wiedzę na temat działania pomocników Rails oraz dowiemy się, jak wielu kło-
potów one oszczędzają.
Dla czytelników, którzy mieli okazję zapoznać się z Rails i znają podstawy Ajaksa, ten roz-
dział będzie okazją do odświeżenia wiedzy, warto przynajmniej przyjrzeć się przykładom.
Staromodny sposób
Żeby rozpocząć, wykonajmy najprostszą rzecz do zrobienia z użyciem technologii Ajax: klik-
nijmy łącze i zaprezentujmy odpowiedź z serwera — używając bezpośrednio XMLHttpRequest ,
bez pomocy Prototype czy pomocników Rails dla JavaScript.
Używanie XMLHttpRequest jest często opisywane jako coś wyjątkowo trudnego. Łatwo zauwa-
żyć, że po zdobyciu odrobiny doświadczenia i poznaniu kilku nowych koncepcji nie jest to aż
tak zawiłe, jak można by było się spodziewać na podstawie powszechnej opinii.
Rozpoczynanie projektu
Osoby, które nie stworzyły przykładu szkieletu Rails w poprzednim rozdziale, powinny zrobić
to teraz, wpisując w wierszu poleceń systemowych:
rails ajaxonrails
cd ajaxonrails
script/server
29
692073497.002.png
Zgłoś jeśli naruszono regulamin