AngularJS. Profesjonalne techniki
Book information
Description
Opis książki Czytaj fragment Twój podręcznik programisty! AngularJS to szkielet do tworzenia zaawansowanych aplikacji JavaScript, wykorzystujący w pełni możliwości współczesnych przeglądarek internetowych. Pozwala on na stosowanie wzorca MVC (ang. Model View Controller) po stronie klienta, a co za tym idzie, na zachowanie wysokiej jakości oraz przejrzystej struktury kodu nawet w przypadku aplikacji intensywnie używających komunikacji sieciowej. Za tym popularnym szkieletem stoi firma Google, która dba o jego ciągły rozwój. Ta książka została w całości poświęcona szkieletowi AngularJS. Sięgnij po nią i przekonaj się, w jaki sposób przygotować środowisko programistyczne, zbudować pierwszą aplikację i uzyskać dostęp do kontekstu. W kolejnych rozdziałach zaznajomisz się z możliwościami biblioteki Bootstrap oraz przejdziesz krótki kurs programowania w języku JavaScript. W części drugiej szczególny nacisk został położony na detale związane z pracą z AngularJS. Dowiesz się stąd, jak korzystać z dyrektyw, tworzyć własne dyrektywy oraz używać kontrolerów i zakresów. Ostatnia część książki została poświęcona pracy z modułami i usługami. Odkryjesz tu, jak pobrać dane z usług sieciowych, przetworzyć je i zaprezentować użytkownikowi. Książka ta jest obowiązkową lekturą każdego programisty pracującego z AngularJS. Dzięki tej książce: poznasz tajniki programowania w JavaScripcie dowiesz się, do czego służą dyrektywy i jak tworzyć własne pobierzesz dane z udostępnionych usług sieciowych przetestujesz stworzony kod poznasz tajemnice AngularJS Obowiązkowa lektura programisty AngularJS! Spis treści......Page 3 O autorze......Page 15 O recenzencie technicznym......Page 16 Część I. Zaczynamy......Page 17 Wymagania......Page 19 Czy w książce znajdę wiele przykładów?......Page 20 Wybór przeglądarki internetowej......Page 23 Instalacja Node.js......Page 24 Instalacja systemu przeznaczonego do testowania......Page 25 Utworzenie katalogu AngularJS......Page 26 Przeprowadzenie prostego testu......Page 28 Podsumowanie......Page 29 Przygotowanie projektu......Page 31 Dodanie biblioteki AngularJS do pliku HTML......Page 33 Utworzenie modelu danych......Page 35 Utworzenie kontrolera......Page 37 Utworzenie widoku......Page 39 Użycie dwukierunkowego dołączania modelu......Page 42 Zdefiniowanie i stosowanie funkcji w kontrolerach......Page 44 Użycie funkcji w zależności od innych zdefiniowanych funkcji......Page 46 Reakcja na działania użytkownika......Page 48 Filtrowanie i zmiana kolejności danych modelu......Page 51 Pobieranie danych z wykorzystaniem technologii Ajax......Page 55 Podsumowanie......Page 57 Sytuacje, w których AngularJS sprawdza się doskonale......Page 59 Poznanie aplikacji dwukierunkowych oraz w postaci pojedynczej strony......Page 60 Wzorzec MVC......Page 62 Model......Page 63 Widok......Page 65 Usługi typu RESTful......Page 66 Przyjęcie formatu danych stosowanego w magazynie danych......Page 68 Podsumowanie......Page 69 Rozdział 4. Wprowadzenie do HTML i Bootstrap CSS......Page 71 Poznajemy HTML......Page 72 Anatomia elementu HTML......Page 73 Zawartość elementu......Page 74 Struktura dokumentu......Page 75 Poznajemy framework Bootstrap......Page 77 Stosowanie podstawowych klas Bootstrap......Page 79 Użycie frameworka Bootstrap do nadawania stylu tabeli......Page 80 Użycie frameworka Bootstrap do tworzenia formularzy sieciowych......Page 83 Użycie frameworka Bootstrap do utworzenia układu opartego na siatce......Page 85 Podsumowanie......Page 89 Rozdział 5. Wprowadzenie do JavaScript......Page 91 Przygotowanie przykładowego projektu......Page 92 Element ......Page 93 Definiowanie i użycie funkcji......Page 94 Definiowanie funkcji z parametrami......Page 95 Definiowanie funkcji zwracającej wartość......Page 96 Wykrywanie funkcji......Page 97 Użycie zmiennych i typów......Page 98 Użycie typów podstawowych......Page 99 Tworzenie obiektów......Page 101 Praca z obiektami......Page 104 Użycie konstrukcji warunkowych......Page 110 Operatory równości i identyczności......Page 111 Jawna konwersja typów......Page 114 Tablice......Page 116 Wykrywanie tablicy......Page 117 Odczyt i modyfikacja zawartości tablicy......Page 118 Użycie wbudowanych metod przeznaczonych do pracy z tablicami......Page 119 Porównywanie wartości undefined i null......Page 120 Sprawdzenie pod kątem wartości null lub undefined......Page 122 Obietnice......Page 124 Format JSON......Page 128 Podsumowanie......Page 129 Rozdział 6. SportsStore — przykładowa aplikacja......Page 131 Przygotowanie danych......Page 132 Przygotowanie aplikacji......Page 135 Utworzenie kontrolera......Page 138 Wyświetlanie informacji o produktach......Page 140 Utworzenie listy kategorii......Page 143 Generowanie łączy nawigacji po kategoriach......Page 144 Wybór kategorii......Page 148 Podświetlenie wybranej kategorii......Page 150 Dodanie stronicowania......Page 152 Podsumowanie......Page 156 Użycie rzeczywistych danych produkcyjnych......Page 157 Obsługa błędów Ajax......Page 159 Utworzenie widoków częściowych......Page 161 Zdefiniowanie modułu koszyka i usługi......Page 163 Utworzenie widżetu koszyka na zakupy......Page 165 Dodanie przycisku wyboru produktu......Page 168 Definiowanie tras URL......Page 170 Użycie routingu adresów URL do zapewnienia nawigacji......Page 173 Rozpoczęcie prac nad finalizacją zamówienia......Page 174 Finalizacja zamówienia......Page 176 Podsumowanie......Page 177 Pobieranie danych adresowych......Page 179 Dodanie formularza weryfikacji danych......Page 181 Dodanie pozostałych elementów formularza sieciowego......Page 185 Rozbudowa serwera Deployd......Page 187 Zdefiniowanie funkcji kontrolera......Page 189 Zdefiniowanie widoku......Page 190 Usprawnienia w aplikacji......Page 191 Przygotowanie serwera Deployd......Page 192 Utworzenie aplikacji administracyjnej......Page 194 Implementacja uwierzytelniania......Page 195 Definiowanie widoku głównego i kontrolera......Page 198 Implementacja funkcji przeglądania zamówień......Page 200 Implementacja funkcji zmiany zawartości katalogu produktów......Page 203 Podsumowanie......Page 207 Część II. Praca z AngularJS......Page 209 Rozdział 9. Anatomia aplikacji AngularJS......Page 211 Przygotowanie przykładowego projektu......Page 212 Określenie granic aplikacji AngularJS......Page 213 Użycie modułów do zdefiniowania komponentów AngularJS......Page 214 Definiowanie kontrolera......Page 215 Definiowanie dyrektywy......Page 221 Definiowanie filtru......Page 223 Definiowanie usługi......Page 226 Użycie modułów do organizacji kodu......Page 229 Cykl życiowy modułu......Page 232 Podsumowanie......Page 233 Rozdział 10. Użycie dyrektyw dołączania i szablonów......Page 235 Przygotowanie przykładowego projektu......Page 236 Użycie dyrektyw dołączania danych......Page 237 Przeprowadzenie (lub uniknięcie) jednokierunkowego dołączenia danych......Page 239 Przeprowadzenie dwukierunkowego dołączania danych......Page 241 Użycie szablonów dyrektyw......Page 243 Generowanie powtarzających się elementów......Page 244 Generowanie wielu elementów najwyższego poziomu......Page 250 Praca z widokami częściowymi......Page 251 Użycie dyrektywy ng-include jako atrybutu......Page 255 Warunkowe zastępowanie elementów......Page 256 Ukrycie nieprzetworzonych osadzonych szablonów wyrażeń dołączania danych......Page 259 Podsumowanie......Page 261 Rozdział 11. Użycie dyrektyw elementów i zdarzeń......Page 263 Użycie dyrektyw elementu......Page 264 Wyświetlanie, ukrywanie i usuwanie elementów......Page 265 Zarządzanie klasami i stylami CSS......Page 269 Obsługa zdarzeń......Page 274 Utworzenie własnej dyrektywy zdarzeń......Page 277 Zarządzanie atrybutami boolowskimi......Page 279 Zarządzanie innymi atrybutami......Page 281 Podsumowanie......Page 282 Rozdział 12. Praca z formularzami sieciowymi......Page 283 Przygotowanie przykładowego projektu......Page 284 Użycie dwukierunkowego dołączania danych w elementach formularza sieciowego......Page 285 Niejawne tworzenie właściwości modelu......Page 286 Sprawdzenie, czy obiekt modelu danych został utworzony......Page 289 Weryfikacja formularzy sieciowych......Page 290 Przeprowadzenie podstawowej weryfikacji formularza sieciowego......Page 292 Wyświetlanie komunikatów w trakcie weryfikacji formularza sieciowego......Page 296 Użycie CSS do nadania stylu komunikatom......Page 297 Użycie zmiennych specjalnych w celu wyświetlania komunikatów......Page 301 Wstrzymanie wyświetlania komunikatów......Page 304 Użycie elementów ......Page 306 Użycie elementu ......Page 309 Użycie elementów ......Page 310 Podsumowanie......Page 314 Rozdział 13. Użycie kontrolerów i zakresów......Page 315 Przygotowanie przykładowego projektu......Page 316 Utworzenie i zastosowanie kontrolera......Page 317 Konfiguracja zakresu......Page 318 Modyfikacja zakresu......Page 320 Organizowanie kontrolerów......Page 321 Użycie kontrolera monolitycznego......Page 322 Ponowne użycie kontrolera......Page 324 Dziedziczenie kontrolerów......Page 328 Użycie wielu kontrolerów......Page 335 Kontroler bez zakresu......Page 337 Konfiguracja jQuery UI......Page 338 Kontrola stanu przycisku......Page 340 Zliczanie kliknięć przycisku......Page 341 Podsumowanie......Page 342 Rozdział 14. Użycie filtrów......Page 343 Przygotowanie przykładowego projektu......Page 344 Pobieranie pliku lokalizacji......Page 345 Filtrowanie pojedynczych wartości danych......Page 346 Formatowanie wartości pieniężnych......Page 347 Formatowanie innych wartości pieniężnych......Page 348 Formatowanie dat......Page 349 Zmiana wielkości liter ciągu tekstowego......Page 352 Generowanie danych w formacie JSON......Page 353 Lokalizacja danych wyjściowych filtru......Page 354 Ograniczenie liczby elementów......Page 357 Wybór elementów......Page 360 Sortowanie elementów......Page 362 Łączenie filtrów......Page 366 Utworzenie filtru przeznaczonego do formatowania wartości daty......Page 367 Utworzenie filtru kolekcji......Page 369 Budowa filtru na bazie istniejącego filtru......Page 371 Podsumowanie......Page 372 Rozdział 15. Tworzenie własnych dyrektyw......Page 373 Przygotowanie przykładowego projektu......Page 374 Zdefiniowanie dyrektywy......Page 375 Implementacja funkcji link......Page 376 Zniesienie zależności właściwości danych......Page 379 Obsługa zmiany danych......Page 382 Nawigacja po obiektowym modelu dokumentu......Page 387 Modyfikacja elementów......Page 391 Tworzenie i usuwanie elementów......Page 393 Obsługa zdarzeń......Page 396 Inne metody jqLite......Page 397 Uzyskanie dostępu do funkcji AngularJS z poziomu jqLite......Page 398 Zastąpienie jqLite przez jQuery......Page 399 Podsumowanie......Page 400 Rozdział 16. Tworzenie skomplikowanych dyrektyw......Page 401 Definiowanie skomplikowanych dyrektyw......Page 402 Definiowanie sposobu zastosowania dyrektywy......Page 403 Użycie szablonu dyrektywy......Page 407 Użycie funkcji jako szablonu......Page 409 Użycie zewnętrznego szablonu......Page 410 Wybór szablonu zewnętrznego za pomocą funkcji......Page 411 Zastępowanie elementu......Page 413 Zarządzanie zakresami dyrektywy......Page 415 Utworzenie wielu kontrolerów......Page 417 Zdefiniowanie oddzielnego zakresu dla każdego egzemplarza dyrektywy......Page 418 Utworzenie odizolowanych zakresów......Page 421 Podsumowanie......Page 430 Rozdział 17. Zaawansowane funkcje dyrektyw......Page 431 Użycie transkluzji......Page 432 Użycie funkcji compile......Page 435 Użycie kontrolerów w dyrektywach......Page 438 Dodanie innej dyrektywy......Page 441 Utworzenie własnych elementów formularza sieciowego......Page 443 Obsługa zmian zewnętrznych......Page 445 Obsługa zmian wewnętrznych......Page 447 Formatowanie wartości danych......Page 448 Weryfikacja własnych elementów formularza sieciowego......Page 449 Podsumowanie......Page 452 Część III. Usługi AngularJS......Page 453 Kiedy i dlaczego należy tworzyć usługi i moduły?......Page 455 Przygotowanie przykładowego projektu......Page 456 Obsługa pojedynczego modułu......Page 458 Utworzenie nowego modułu......Page 460 Użycie metody factory()......Page 461 Użycie metody service()......Page 464 Użycie metody provider()......Page 466 Użycie wbudowanych modułów i usług......Page 468 Podsumowanie......Page 469 Uzyskanie dostępu do obiektów globalnych API DOM......Page 471 Uzyskanie dostępu do obiektu window......Page 472 Uzyskanie dostępu do obiektu document......Page 473 Użycie usług $interval i $timeout......Page 474 Uzyskanie dostępu do adresu URL......Page 475 Rejestracja danych......Page 481 Kiedy i dlaczego używać usługi $exceptionHandler?......Page 482 Bezpośrednia praca z usługą $exceptionHandler......Page 483 Implementacja własnej procedury obsługi wyjątków......Page 484 Praca z niebezpiecznymi danymi......Page 485 Wyświetlanie niebezpiecznych danych......Page 486 Użycie niebezpiecznego mechanizmu dołączania danych......Page 487 Wyraźne zaufanie danym......Page 490 Praca z wyrażeniami i dyrektywami AngularJS......Page 491 Konwersja wyrażenia na funkcję......Page 492 Interpolacja ciągów tekstowych......Page 495 Kompilacja zawartości......Page 498 Podsumowanie......Page 499 Rozdział 20. Usługi dla technologii Ajax i obietnic......Page 501 Żądania Ajax......Page 502 Wykonywanie żądania Ajax......Page 505 Otrzymywanie odpowiedzi na żądanie Ajax......Page 506 Konfiguracja żądań Ajax......Page 509 Ustawienie wartości domyślnych żądania Ajax......Page 513 Użycie interceptorów Ajax......Page 515 Obietnice......Page 516 Pobieranie i użycie obiektu deferred......Page 518 Użycie obietnicy......Page 519 Dlaczego obietnice nie są zwykłymi zdarzeniami?......Page 521 Łączenie obietnic ze sobą......Page 522 Grupowanie obietnic......Page 524 Podsumowanie......Page 526 Rozdział 21. Usługi dla REST......Page 527 Utworzenie usługi typu RESTful......Page 528 Utworzenie aplikacji AngularJS......Page 531 Wyświetlenie danych produktu......Page 536 Utworzenie produktu......Page 538 Ukrycie żądań Ajax......Page 539 Instalacja modułu ngResource......Page 542 Użycie usługi $resource......Page 543 Konfiguracja akcji usługi $resource......Page 548 Utworzenie komponentu gotowego do użycia z usługą $resource......Page 549 Podsumowanie......Page 551 Kiedy i dlaczego używać usług widoku?......Page 553 Istota problemu......Page 554 Instalacja modułu ngRoute......Page 556 Definiowanie adresów URL tras......Page 557 Wyświetlanie wybranego widoku......Page 558 Połączenie kodu i znaczników HTML......Page 559 Użycie parametrów trasy......Page 562 Uzyskanie dostępu do tras i parametrów tras......Page 564 Konfiguracja tras......Page 567 Użycie kontrolerów z trasami......Page 568 Dodanie zależności do tras......Page 570 Podsumowanie......Page 573 Animacja elementów......Page 575 Instalacja modułu ngAnimation......Page 576 Definiowanie i stosowanie animacji......Page 577 Uniknięcie niebezpieczeństwa w postaci jednoczesnych animacji......Page 579 Obsługa zdarzeń dotknięć......Page 580 Obsługa gestu machnięcia......Page 581 Podsumowanie......Page 582 Przygotowanie przykładowego projektu......Page 583 Rejestracja komponentów AngularJS......Page 584 Ustalenie zależności funkcji......Page 586 Pobieranie egzemplarzy usługi......Page 588 Uproszczenie procesu wywołania......Page 589 Pobranie usługi $injector z elementu głównego......Page 590 Podsumowanie......Page 591 Rozdział 25. Testy jednostkowe......Page 593 Utworzenie konfiguracji testowej......Page 594 Utworzenie przykładowej aplikacji......Page 596 Praca z Karma i Jasmine......Page 597 Przeprowadzanie testów......Page 599 API i obiekty testowe......Page 601 Testowanie kontrolera......Page 602 Przygotowanie testu......Page 603 Symulacja odpowiedzi HTTP......Page 604 Symulacja czasu......Page 608 Testowanie rejestracji danych......Page 610 Testowanie filtru......Page 612 Testowanie dyrektywy......Page 614 Testowanie usługi......Page 615 Podsumowanie......Page 617 Skorowidz......Page 619
Similar books
Windows 8 Apps Revealed Using XAML and C#: Using XAML and C# (Expert's Voice in Windows 8)
2012 · PDF
Mastering Node.js Web Development
2024 · PDF
ASP.NET MVC 5. Zaawansowane programowanie.
2015 · EPUB
Mastering Node.js Web Development: Go on a comprehensive journey from the fundamentals to advanced web development with Node.js
2024 · RAR
Mastering Node.js Web Development: Go on a comprehensive journey from the fundamentals to advanced web development with Node.js
2024 · EPUB
Pro Angular: Build Powerful and Dynamic Web Apps
2022 · PDF
Pro Angular 16
2024 · PDF
Essential TypeScript 5, Third Edition
2023 · EPUB