Szczegóły ebooka

JavaScript. Aplikacje WWW

JavaScript. Aplikacje WWW

Alex MacCaw

Ebook

Poznaj potencjał języka JavaScript!

Język JavaScript od zawsze jest obecny w przeglądarkach internetowych. W swojej historii miewał okresy lepsze i gorsze - czasem bywał wręcz znienawidzony przez użytkowników. Te czasy jednak minęły! Obecnie jego możliwości są wręcz oszałamiające. Ciężko wyobrazić sobie współczesną popularną aplikację internetową, która nie korzystałaby z jego dobrodziejstw. W najnowszej odsłonie HTML5 jego potencjał jest jeszcze większy!

Sprawdź sam, jak wykorzystać JavaScript do stworzenia aplikacji, która zaskoczy użytkowników. Budowanie w tym języku dużych internetowych aplikacji, które zaoferują użytkownikom funkcje obecne dotąd wyłącznie w aplikacjach biurkowych, wymaga utrzymywania stanu aplikacji po stronie klienta - a to nie jest łatwe zadanie. Dzięki tej książce poznasz szczegółowy opis czynności, jakie trzeba wykonać, aby zaimplementować nowoczesną aplikację, a potem opanujesz skuteczne metody korzystania z mechanizmu WebSockets, operowania na plikach oraz modelowania danych. Ponadto zgłębisz niuanse nowego API oraz dowiesz się, jakie są najlepsze techniki debugowania i analizowania wydajności Twojej aplikacji. Ta książka to długo oczekiwana pozycja, w całości poświęcona zaawansowanemu wykorzystaniu języka JavaScript!

Z tą książką błyskawicznie opanujesz:

  • korzystanie z wzorca MVC
  • obsługę zdarzeń
  • modelowanie danych
  • zarządzanie zależnościami
  • wykorzystywanie zewnętrznych bibliotek
  • techniki debugowania i optymalizowania Twojego oprogramowania
  • najlepsze funkcje JavaScriptu!

Twórz nowoczesne aplikacje przy użyciu najlepszych dostępnych narzędzi!

Przedmowa (9)

1. MVC i klasy (17)

  • Początki (17)
  • Nadawanie struktury (18)
  • Czym jest MVC? (19)
    • Model (19)
    • Widok (20)
    • Kontroler (21)
  • Ku modularyzacji, tworzenie klas (22)
  • Dodawanie funkcji do klas (23)
  • Dodawanie metod do własnej biblioteki klas (24)
  • Dziedziczenie klas przy użyciu prototypu (25)
  • Dodawanie dziedziczenia do biblioteki klas (26)
  • Wywoływanie funkcji (27)
  • Kontrola zasięgu we własnej bibliotece klas (29)
  • Dodawanie funkcji prywatnych (31)
  • Biblioteki klas (32)

2. Zdarzenia i ich nasłuchiwanie (35)

  • Nasłuchiwanie zdarzeń (35)
  • Kolejność zdarzeń (36)
  • Anulowanie zdarzeń (37)
  • Obiekt zdarzenia Event (37)
  • Biblioteki zdarzeń (39)
  • Zmiana kontekstu (40)
  • Delegowanie zdarzeń (40)
  • Własne zdarzenia (41)
  • Własne zdarzenia i moduły rozszerzające jQuery (41)
  • Zdarzenia inne niż zdarzenia DOM (43)

3. Modele i dane (47)

  • MVC i przestrzenie nazw (47)
  • Tworzenie ORM (48)
    • Dziedziczenie przez prototypy (49)
    • Dodawanie właściwości ORM (50)
    • Utrzymywanie rekordów (51)
  • Dodawanie obsługi identyfikatorów (52)
  • Adresowanie odwołań (53)
  • Ładowanie danych (54)
    • Wplatanie danych (55)
    • Ładowanie danych przy użyciu Ajax (55)
    • JSONP (59)
    • Bezpieczeństwo żądań między domenami (59)
  • Wypełnienie ORM danymi (60)
  • Przechowywanie danych lokalnie (60)
  • Dodanie mechanizmu przechowywania danych lokalnie do ORM (61)
  • Przesyłanie nowych rekordów na serwer (63)

4. Kontrolery i stany (65)

  • Wzorzec modułu (66)
    • Import zmiennych globalnych (66)
    • Eksport zmiennych globalnych (66)
  • Dodawanie kontekstu (67)
    • Wydzielanie kodu do oddzielnej biblioteki (68)
    • Ładowanie kontrolerów po załadowaniu dokumentu (69)
    • Dostęp do widoków (70)
    • Delegowanie zdarzeń (72)
  • Maszyny stanów (74)
  • Routing (76)
    • Korzystanie z hash value adresu URL (76)
    • Wykrywanie zmian hash value (77)
    • Ajax Crawling (77)
    • Wykorzystanie API History HTML5 (78)

5. Widoki i szablony (81)

  • Dynamiczne generowanie widoków (81)
  • Szablony (82)
    • Pomocnicze funkcje obsługi szablonów (84)
    • Przechowywanie szablonów (85)
  • Wiązanie (86)
    • Wiązanie modeli (87)

6. Zarządzanie zależnościami (89)

  • CommonJS (90)
    • Deklarowanie modułu (90)
    • Moduły i przeglądarka (91)
  • Biblioteki ładowania modułów (92)
    • Yabble (92)
    • RequireJS (93)
  • Opakowywanie modułów (94)
  • Rozwiązania alternatywne względem modułów (95)
    • LABjs (96)
  • FUBC (96)

7. Praca z plikami (97)

  • Obsługa w przeglądarkach (97)
  • Pobieranie informacji na temat plików (98)
  • Kontrolka do przesyłania plików na serwer (98)
  • Przeciąganie i upuszczanie (99)
    • Przeciąganie (100)
    • Upuszczanie (101)
    • Anulowanie domyślnej obsługi przeciągania i upuszczania (102)
  • Kopiowanie i wklejanie (103)
    • Kopiowanie (103)
    • Wklejanie (104)
  • Czytanie plików (105)
    • Duże obiekty binarne oraz fragmenty pliku (106)
  • Własne przyciski przeglądarki (107)
  • Ładowanie plików na serwer (107)
    • Śledzenie postępu operacji (109)
  • Przesyłanie pliku na serwer przy użyciu przeciągania i upuszczania oraz biblioteki jQuery (111)
    • Obszar upuszczania (111)
    • Przesyłanie pliku na serwer (111)

8. Praca w sieci w czasie rzeczywistym (113)

  • Historia działania w czasie rzeczywistym (113)
  • WebSockets (114)
    • Node.js i Socket.IO (118)
  • Architektura czasu rzeczywistego (119)
  • Odczuwana prędkość działania (121)

9. Testowanie i usuwanie błędów (123)

  • Testy jednostkowe (125)
    • Asercje (125)
    • QUnit (126)
    • Jasmine (129)
  • Sterowniki (131)
  • Testowanie niezależne (134)
    • Zombie (134)
    • Ichabod (136)
  • Testowanie rozproszone (137)
  • Świadczenie wsparcia (137)
  • Inspektory (138)
    • Web Inspector (138)
    • Firebug (140)
  • Konsola (141)
    • Funkcje pomocnicze konsoli (142)
  • Używanie debuggera (143)
  • Analiza żądań sieciowych (144)
  • Profilowanie i analiza czasu (145)

10. Wdrażanie (149)

  • Wydajność (149)
  • Wykorzystanie pamięci podręcznej (150)
  • Minifikacja (152)
  • Kompresja Gzip (153)
  • Korzystanie z CDN (154)
  • Audytory (155)
  • Zasoby (156)

11. Biblioteka Spine (157)

  • Instalacja (157)
  • Klasy (158)
    • Tworzenie instancji (158)
    • Rozszerzanie klas (159)
    • Kontekst (160)
  • Zdarzenia (161)
  • Modele (161)
    • Pobieranie rekordów (163)
    • Zdarzenia modelu (163)
    • Weryfikacja poprawności (164)
    • Zapisywanie (164)
  • Kontrolery (166)
    • Wskazywanie kontekstu (167)
    • Właściwość elements (167)
    • Delegowanie zdarzeń (168)
    • Zdarzenia kontrolera (168)
    • Zdarzenia globalne (169)
    • Wzorzec Render (170)
    • Wzorzec Element (170)
  • Aplikacja do zarządzania danymi kontaktowymi (171)
    • Model Contact (173)
    • Kontroler Sidebar (173)
    • Kontroler Contacts (175)
    • Kontroler App (178)

12. Biblioteka Backbone (179)

  • Modele (180)
    • Modele i atrybuty (180)
  • Kolekcje (181)
    • Kontrola kolejności elementów w kolekcji (183)
  • Widoki (183)
    • Generowanie widoków (184)
    • Delegowanie zdarzeń (184)
    • Wiązanie i kontekst (185)
  • Kontrolery (186)
  • Synchronizacja z serwerem (188)
    • Wypełnianie kolekcji (189)
    • Po stronie serwera (189)
    • Implementacja własnej logiki (190)
  • Aplikacja do zarządzania listą rzeczy do zrobienia (192)

13. Biblioteka JavaScriptMVC (199)

  • Konfiguracja (200)
  • Klasy (200)
    • Tworzenie instancji (200)
    • Wywoływanie metody bazowej (201)
    • Określanie kontekstu (201)
    • Dziedziczenie statyczne (201)
    • Introspekcja (202)
    • Przykładowy model (202)
  • Model (203)
    • Atrybuty i dane obserwowalne (203)
    • Rozszerzanie modeli (205)
    • Metody ustawiające wartości (205)
    • Wartości domyślne (206)
    • Metody pomocnicze (206)
    • Enkapsulacja usług (207)
    • Przekształcanie typów (209)
    • Zdarzenia CRUD (210)
  • Wykorzystanie w widokach szablonów działających po stronie klienta (210)
    • Sposób użycia (211)
    • Modyfikatory jQuery (211)
    • Ładowanie widoku ze znacznika skryptu (212)
    • $.View i subszablony (212)
    • Obiekty wstrzymane (212)
    • Pakowanie, ładowanie wstępne i wydajność (213)
  • $.Controller: fabryka modułów rozszerzających jQuery (213)
    • Informacje ogólne (215)
    • Tworzenie instancji kontrolera (216)
    • Wiązanie zdarzeń (216)
    • Akcje szablonowe (217)
  • Kompletne rozwiązanie: abstrakcyjna lista czynności CRUD (218)

A. Wprowadzenie do biblioteki jQuery (221)

B. Rozszerzenia CSS (231)

C. Przegląd CSS3 (235)

Skorowidz (255)

  • Tytuł: JavaScript. Aplikacje WWW
  • Autor: Alex MacCaw
  • Tytuł oryginału: JavaScript Web Applications
  • Tłumaczenie: Daniel Kaczmarek
  • ISBN: 978-83-246-6452-8, 9788324664528
  • Data wydania: 2012-11-09
  • Format: Ebook
  • Identyfikator pozycji: jascww
  • Wydawca: Helion