- promocja
JavaScript. Aplikacje WWW - ebook
JavaScript. Aplikacje WWW - 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!
Spis treści
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)
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-246-6452-8 |
Rozmiar pliku: | 4,6 MB |