Web development. Receptury nowej generacji.pdf

(6206 KB) Pobierz
Spis treści
Podziękowania ..............................................................................................7
Wstęp ...........................................................................................................11
Rozdział 1.
Świecidełka
..............................................................................17
Receptura 1. Stylizowanie przycisków i
łączy
...........................................................17
Receptura 2. Stylizowanie cytatów przy użyciu CSS ................................................21
Receptura 3. Tworzenie animacji przy użyciu transformacji CSS3 ............................28
Receptura 4. Tworzenie interaktywnych pokazów slajdów przy użyciu jQuery ............33
Receptura 5. Tworzenie i stylizowanie wewnątrztekstowych okienek pomocy ..............38
Rozdział 2. Interfejs użytkownika ............................................................47
Receptura 6. Tworzenie szablonu wiadomości e-mail ................................................47
Receptura 7. Wyświetlanie treści na kartach .............................................................58
Receptura 8. Rozwijanie i zwijanie treści z zachowaniem zasad dostępności ...............65
Receptura 9. Nawigacja po stronie internetowej przy użyciu klawiatury ......................71
Receptura 10. Tworzenie szablonów HTML przy użyciu systemu Mustache ..............79
Receptura 11. Dzielenie treści na strony ....................................................................84
Receptura 12. Zapamiętywanie stanu w Ajaksie ........................................................90
Receptura 13. Tworzenie interaktywnych interfejsów użytkownika
przy użyciu biblioteki Knockout.js .......................................................95
Receptura 14. Organizacja kodu przy użyciu biblioteki Backbone.js ..........................105
Rozdział 3. Dane ........................................................................................123
Receptura 15. Wstawianie na stronę mapy Google ...................................................123
Receptura 16. Tworzenie wykresów i grafów przy użyciu Highcharts ........................129
Receptura 17. Tworzenie prostego formularza kontaktowego ....................................137
Receptura 18. Pobieranie danych z innych serwisów przy użyciu formatu JSONP .....144
6
Web development. Receptury nowej generacji
Receptura 19. Tworzenie widżetów do osadzenia w innych serwisach ........................147
Receptura 20. Budowanie witryny przy użyciu JavaScriptu i CouchDB .....................153
Rozdział 4. Urządzenia przenośne ..........................................................163
Receptura 21. Dostosowywanie stron do wymogów urządzeń przenośnych .................163
Receptura 22. Menu rozwijane reagujące na dotyk ...................................................168
Receptura 23. Operacja „przeciągnij i upuść” w urządzeniach przenośnych ...............171
Receptura 24. Tworzenie interfejsów przy użyciu biblioteki jQuery Mobile ................178
Receptura 25. Sprite’y w CSS ................................................................................187
Rozdział 5. Przepływ pracy ......................................................................191
Receptura 26. Szybkie tworzenie interaktywnych prototypów stron ............................191
Receptura 27. Tworzenie prostego bloga przy użyciu biblioteki Jekyll ........................200
Receptura 28. Tworzenie modularnych arkuszy stylów przy użyciu Sass ....................207
Receptura 29. Bardziej przejrzysty kod JavaScript, czyli CoffeeScript ........................215
Receptura 30. Zarządzanie plikami przy użyciu narzędzia Git ..................................222
Rozdział 6. Testowanie ............................................................................233
Receptura 31. Debugowanie JavaScriptu .................................................................233
Receptura 32.
Śledzenie
aktywności użytkowników przy użyciu map cieplnych ...........239
Receptura 33. Testowanie przeglądarek przy użyciu Selenium ..................................242
Receptura 34. Testowanie stron internetowych przy użyciu Selenium i Cucumber ......247
Receptura 35. Testowanie kodu JavaScript przy użyciu Jasmine ................................260
Rozdział 7. Hosting i wdrażanie ..............................................................271
Receptura 36. Wspólna praca nad stroną poprzez Dropbox ......................................271
Receptura 37. Tworzenie maszyny wirtualnej ...........................................................275
Receptura 38. Zmienianie konfiguracji serwera WWW przy użyciu programu Vim ......279
Receptura 39. Zabezpieczanie serwera Apache za pomocą SSL i HTTPS ..............284
Receptura 40. Zabezpieczanie treści .......................................................................288
Receptura 41. Przepisywanie adresów URL w celu zachowania
łączy
.......................292
Receptura 42. Automatyzacja procesu wdrażania statycznych serwisów
za pomocą Jammit i Rake .................................................................296
Dodatek A. Instalowanie języka Ruby ...................................................305
Dodatek B. Bibliografia ............................................................................309
Skorowidz ..................................................................................................311
Podziękowania
M
ówi się,
że
nikt nie pisze książki w pojedynkę. Prawda jest taka,
że
nawet gdy autorów jest pięciu, to i tak w projekt angażuje się całą
rzeszę dodatkowych osób. Gdyby nie ci ludzie, książka ta by nie
powstała, a my nie mielibyśmy tych doświadczeń, które zdobyliśmy dzięki jej
napisaniu.
Susannah Pfalzer, nasz redaktor rozwojowy, miała niełatwe zadanie użerania się
z pięcioma autorami i pilnowania takich drobiazgów, jak to, abyśmy nie urywali
zdań w połowie, nie zapominali o wstępach oraz pisali spójny tekst. Poradziła
sobie z tym doskonale. Chcieliśmy napisać książkę zawierającą opis wielu różnych
nowoczesnych narzędzi przydatnych w pracy twórcy stron internetowych. Susannah
dopilnowała, aby obok suchych opisów, jak coś zrobić, znalazły się także obja-
śnienia,
po co to w ogóle robić. Dzięki temu książka jest o wiele lepsza.
Przez to,
że
każdy z nas chciał jak najszybciej skończyć swoją pracę i doprowa-
dzić projekt do zakończenia, do tekstu wkradło się wiele nieścisłości i błędów. Na
szczęście, korektorzy merytoryczni: Charley Stran, Jessica Janiuk, Kevin Gisi,
Matt Margolis, Eric Sorenson, Scott Andreas, Joel Andritsch, Lyle Johnson,
Kim Shrier, Steve Heffernan, Noel Rappin, Sam Elliott, Derick Bailey oraz
Kaitlin Johnson czuwali nad wszystkim i dzięki nim możemy pochwalić się
publikacją, która jest o niebo lepsza, niż była na początku.
Specjalne podziękowania kierujemy do Dave’a Gamache’a za porady dotyczące
biblioteki Skeleton; do Trevora Burnhama za wskazówki na temat CoffeeScript;
do Steve’a Sandersona za podpowiedzi dotyczące Knockout.js i do Benoit
Chesneau za szybkie naprawienie kilku usterek w instalatorze Couchapp.
8
Web development. Receptury nowej generacji
Projektantem okładki jest David Kelly i chociaż niektórzy z nas woleliby widzieć
na niej boczek, to wszyscy jesteśmy zadowoleni z ostatecznego efektu.
Jesteśmy niezwykle wdzięczni Dave’owi Thomasowi i Andy’emu Huntowi za to,
że
dali nam możliwość napisania książki dla Pragmatic Bookshelf. Dzięki ich
komentarzom udało się poprawić kilka problematycznych receptur, ale najważ-
niejsze jest to,
że
potrafili stworzyć atmosferę, w której my jako autorzy czuliśmy
się najważniejsi. Przy takim wsparciu wszystko wydaje się
łatwe.
Ponadto chcielibyśmy podziękować naszym innym partnerom biznesowym za
wsparcie i komentarze — oto oni: Erich Tesky, Austen Ott, Emma Smith, Jeff
Holland oraz Nick LaMuro.
Brian Hogan
To jest moja trzecia książka dla wydawnictwa Pragmatic Bookshelf i mimo
że
napisałem tylko jedną piątą jej treści, uważam,
że
było to bardzo trudne zadanie.
Moi współautorzy dołączyli się w odpowiednim czasie i jestem dumny z tego,
że
napisaliśmy coś wspólnie. Każdy z nich, Chris, CJ, Mike i Aaron, wniósł do
tekstu coś wartościowego, dzięki czemu otrzymaliśmy znakomity produkt końcowy.
Dzięki, chłopaki!
Jednak nawet mimo całej tej pomocy nic bym nie zdziałał, gdyby nie wsparcie
mojej cudownej
żony
Carissy. Dziękuję Ci za to,
że
dopilnowałaś, abym miał czas
na pracę. Dziękuję Ci za dbanie o wszystkie drobne (a także większe) sprawy,
o których sam bym zapomniał.
Chris Warren
Nie potrafię znaleźć słów, aby podziękować mojej
żonie
Kaitlin za udzielone mi
wsparcie i okazane zrozumienie, gdy wcześnie zaczynałem i późno kończyłem
pracę. Dzięki Tobie wiele koszmarnych dni było znośnych.
Dziękuję współautorom za wspólną pracę. Znamy się od dawna i napisanie
pierwszej książki z przyjaciółmi było dla mnie wspaniałym przeżyciem. W szcze-
gólności dziękuję Brianowi, który bardzo pomógł mi w rozwoju mojej kariery
programistycznej, za zaangażowanie mnie do tego projektu.
Zgłoś jeśli naruszono regulamin