Ajax_on_Rails_ajaxra.pdf

(329 KB) Pobierz
Ajax on Rails
Autor: Scott Raymond
T³umaczenie: Adrian Elczewski
ISBN: 978-83-246-1048-8
Tytu³ orygina³u:
Ajax on Rails
Format: B5, stron: 336
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¿ytkowników Twoich aplikacji internetowych?
Ajax to olbrzymie mo¿liwoœci 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³adów 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, programiœci mog¹ korzystaæ z wielu bibliotek i platform, dziêki którym
tworzenie efektownych aplikacji internetowych sta³o siê niezwykle proste.
„Ajax
on Rails” to podrêcznik dla programistów, którzy chc¹ szybko i ³atwo budowaæ
wydajne aplikacje internetowe na bazie dwóch popularnych mechanizmów – technologii
Ajax oraz platformy Rails. Czytaj¹c go, dowiesz siê, w jaki sposób 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 mechanizmów technologii Ajax
Dzia³anie platformy Rails
Ajaksowe przesy³anie danych za pomoc¹ biblioteki Prototype
Dodawanie efektów do witryn przy u¿yciu biblioteki scipt.aculo.us
Generowanie kodu JavaScript za pomoc¹ szablonów RJS
Zwiêkszanie u¿ytecznoœci aplikacji
Diagnozowanie aplikacji na platformie Rails
Zapewnianie bezpieczeñstwa programu
Zwiêkszanie wydajnoœci aplikacji
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
Spis treści
Przedmowa .....................................................................................................................7
1. Wprowadzenie ..............................................................................................................11
Dla kogo jest ta książka
Czym jest Ajax?
Czym jest Rails
„Twój Ajax w moim Rails”
Nabieranie prędkości
Podsumowanie
11
12
18
21
21
27
2. Pierwsze kroki ..............................................................................................................29
Staromodny sposób
Prototype oraz inne biblioteki JavaScript
Rails pojawia się na horyzoncie
Podsumowanie
29
33
35
40
3. Wprowadzenie do Prototype ....................................................................................... 41
Ustawianie sceny
Łącza
w Ajaksie
Formularze
Formularze w Ajaksie
Przyciski
Obserwatory formularza
Podsumowanie
41
44
48
51
52
54
55
4. Wprowadzenie do script.aculo.us ...............................................................................57
Efekty wizualne
Przeciągnij i upuść
Podsumowanie
57
62
70
3
5. RJS .................................................................................................................................. 71
Instrukcje zamiast danych
Umieszczenie R w skrócie RJS
Przykłady z
życia
wzięte
Podsumowanie
71
72
85
87
6. Użyteczność Ajaksa ......................................................................................................89
Zasady użyteczności
Kontekst Internetu
Użyteczność w Internecie
Programowanie uwzględniające różne przeglądarki
Podsumowanie
90
94
97
103
107
7. Testowanie i usuwanie błędów ................................................................................. 109
Usuwanie błędów
Testowanie
Podsumowanie
110
122
134
8. Bezpieczeństwo .......................................................................................................... 135
Zdrowy sceptycyzm: nie ufać danym wejściowym użytkownika
Hashowanie haseł
Uciszanie logów
Polityka tej samej domeny
Używanie i nadużywanie metod HTTP
Szyfrowanie i certyfikaty bezpieczeństwa
Lista mailingowa o bezpieczeństwie w Rails
Podsumowanie
135
144
145
146
148
151
152
152
9. Wydajność ................................................................................................................... 153
Środowiska
projektowe i produkcyjne
Przechowywanie sesji
Buforowanie wyjścia
Pakowanie zasobów
Postępowanie z długo działającymi zadaniami
Podsumowanie
153
154
155
160
162
164
10. Informator o Prototype .............................................................................................. 165
Wsparcie Ajaksa
Manipulacja DOM
Wbudowane rozszerzenia
166
172
185
4
|
Spis treści
11. Informator o script.aculo.us ....................................................................................... 199
Efekty wizualne
Przeciągnij i upuść
Kontrolki
Rozszerzenia klasy element
Konstruktor DOM
Testowanie jednostkowe JavaScript
Metody narzędziowe
199
209
218
226
228
229
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
Zgłoś jeśli naruszono regulamin