Angular w akcji - ebook
Angular w akcji - ebook
Framework Angular od wielu lat jest jednym z najważniejszych narzędzi do rozwijania średnich i dużych aplikacji internetowych. Co istotne, aplikacje te bez problemu działają w każdej nowoczesnej przeglądarce, a także na platformach mobilnych. Obecnie Angular jest dojrzałą, stabilną i wciąż ewoluującą technologią, a w kolejnych wydaniach frameworka pojawiają się nowe, ułatwiające pracę funkcje. Aplikacje napisane w Angularze opierają się na hierarchicznym systemie komunikujących się komponentów i na dobrze zbudowanych interfejsach API. Przejrzystość i zrozumiałe zasady rządzące tym systemem sprawiają, że nauka posługiwania się Angularem przychodzi szybko i jest bardzo satysfakcjonująca.
Ta książka jest przeznaczona dla programistów, którzy chcą możliwie szybko zacząć budować poprawne aplikacje w Angularze i bezproblemowo uruchamiać je w środowisku produkcyjnym. Podręcznik został napisany w sposób, który pozwala na natychmiastowe rozpoczęcie kodowania i zrozumienie - niemal mimochodem - tak zaawansowanych technik jak testowanie, wstrzykiwanie zależności czy regulowanie wydajności. W książce położono nacisk na korzystanie z TypeScriptu i ES2015 oraz na tworzenie poprawnego kodu zgodnie z najlepszymi praktykami. Nie zabrakło licznych wskazówek i opisu nieoczywistych, ale bardzo pomocnych technik pracy. Dzięki temu szybko wykorzystasz potencjał Angulara do pisania wydajnych, odpornych i bezpiecznych aplikacji!
Najważniejsze zagadnienia:
- Przegląd architektury Angulara i jego funkcji
- Zasady tworzenia aplikacji w Angularze
- Komponenty i interakcje między nimi
- Usługi, wstrzykiwanie zależności i wzorce nawigacyjne
- Testowanie, debugowanie i wdrażanie aplikacji
Oto Angular: ambitne narzędzie dla profesjonalistów!
Spis treści
Przedmowa 11
Podziękowania 13
O książce 15
O autorze 19
Rozdział 1. Angular - nowoczesna platforma internetowa 21
- 1.1. Dlaczego warto wybrać Angular? 22
- 1.2. Czego się nauczysz z tej książki 23
- 1.3. Podróż od AngularJS do Angulara 24
- 1.4. Angular - platforma, a nie framework 26
- 1.4.1. CLI Angulara 26
- 1.4.2. Renderowanie serwerowe i kompilator 27
- 1.4.3. Możliwości mobilne i desktopowe 29
- 1.4.4. Biblioteki interfejsu użytkownika 30
- 1.5. Architektura komponentowa 32
- 1.5.1. Najważniejsze cechy komponentów 34
- 1.5.2. Shadow DOM 36
- 1.5.3. Szablony 37
- 1.5.4. Moduły JavaScriptu 39
- 1.6. Nowoczesny JavaScript i Angular 40
- 1.6.1. Strumienie obserwowalne 43
- 1.7. TypeScript i Angular 44
- Podsumowanie 46
Rozdział 2. Twoja pierwsza aplikacja Angular 47
- 2.1. Przegląd projektu z tego rozdziału 48
- 2.2. Konfigurowanie projektu 50
- 2.3. Rusztowanie bazowej aplikacji 51
- 2.4. Jak Angular renderuje aplikację bazową 53
- 2.4.1. Komponent App 53
- 2.4.2. Moduł App 54
- 2.4.3. Początkowe ładowanie aplikacji 55
- 2.5. Budowanie usług 57
- 2.6. Tworzenie pierwszego komponentu 60
- 2.7. Komponenty wykorzystujące komponenty i usługi 66
- 2.8. Komponenty z formularzami i ze zdarzeniami 69
- 2.9. Routing aplikacji 73
- Podsumowanie 75
Rozdział 3. Najważniejsze elementy aplikacji 77
- 3.1. Encje w Angularze 79
- 3.1.1. Moduły 79
- 3.1.2. Komponenty 81
- 3.1.3. Dyrektywy 82
- 3.1.4. Potoki 85
- 3.1.5. Usługi 86
- 3.2. Jak Angular zaczyna renderować aplikację 87
- 3.3. Rodzaje kompilatorów 89
- 3.4. Wstrzykiwanie zależności 89
- 3.5. Wykrywanie zmian 90
- 3.6. Wyrażenia szablonów i wiązania 91
- 3.6.1. Interpolacja 93
- 3.6.2. Wiązania właściwości 94
- 3.6.3. Specjalne wiązania właściwości 95
- 3.6.4. Wiązanie atrybutów 96
- 3.6.5. Wiązanie zdarzeń 97
- Podsumowanie 98
Rozdział 4. Podstawy komponentów 101
- 4.1. Konfigurowanie przykładu 102
- 4.1.1. Przygotowanie kodu 103
- 4.2. Kompozycja i cykl życia komponentu 104
- 4.2.1. Cykl życia komponentu 106
- 4.2.2. Zaczepy cyklu życia 107
- 4.2.3. Zagnieżdżanie komponentów 109
- 4.3. Rodzaje komponentów 110
- 4.4. Tworzenie komponentu Data 113
- 4.5. Używanie wejść z komponentami 116
- 4.5.1. Podstawy wejść 117
- 4.5.2. Przechwytywanie wejść 120
- 4.6. Rzutowanie zawartości 122
- Podsumowanie 128
Rozdział 5. Zaawansowane aspekty komponentów 129
- 5.1. Wykrywanie zmian i optymalizacje 130
- 5.2. Komunikacja między komponentami 134
- 5.2.1. Zdarzenia wyjściowe i zmienne szablonów 135
- 5.2.2. Odwoływanie się do komponentów za pomocą ViewChild 137
- 5.3. Stylizacja komponentów i tryby hermetyzacji 138
- 5.3.1. Dodawanie stylów do komponentu 139
- 5.3.2. Tryby hermetyzacji 141
- 5.4. Dynamiczne renderowanie komponentów 145
- 5.4.1. Używanie okna modalnego ng-bootstrap dla komponentów dynamicznych 145
- 5.4.2. Dynamiczne tworzenie komponentu i jego renderowanie 149
- Podsumowanie 153
Rozdział 6. Usługi 155
- 6.1. Konfigurowanie przykładu 156
- 6.1.1. Pobieranie kodu 158
- 6.1.2. Przykładowe dane 158
- 6.2. Tworzenie usług Angulara 159
- 6.3. Wstrzykiwanie zależności i drzewa wstrzykiwaczy 164
- 6.4. Usługi bez wstrzykiwania zależności 168
- 6.5. Korzystanie z usługi HttpClient 169
- 6.5.1. Interfejs HttpInterceptor 173
- 6.6. Usługi pomocnicze 176
- 6.7. Usługi udostępniania 180
- 6.8. Usługi dodatkowe 184
- Podsumowanie 186
Rozdział 7. Routing 187
- 7.1. Konfigurowanie przykładu 188
- 7.2. Definiowanie tras i konfiguracja routera 190
- 7.3. Moduły funkcyjne i routing 193
- 7.4. Parametry trasy 194
- 7.4.1. Tworzenie linków w szablonach za pomocą dyrektywy routerLink 195
- 7.4.2. Uzyskiwanie dostępu do parametrów trasy w komponencie 196
- 7.5. Trasy podrzędne 198
- 7.6. Trasy drugorzędne 201
- 7.6.1. Definiowanie trasy drugorzędnej 202
- 7.6.2. Nawigacja między trasami drugorzędnymi 204
- 7.6.3. Zamykanie trasy drugorzędnej i routing programowy 205
- 7.7. Zabezpieczanie tras w celu ograniczenia dostępu 205
- 7.8. Leniwe ładowanie 211
- 7.9. Najlepsze praktyki dotyczące routingu 214
- Podsumowanie 215
Rozdział 8. Budowanie niestandardowych dyrektyw i potoków 217
- 8.1. Konfigurowanie przykładu 219
- 8.2. Tworzenie niestandardowych dyrektyw 219
- 8.2.1. Tworzenie dyrektywy atrybutów 221
- 8.2.2. Modyfikowanie komponentu za pomocą dyrektywy ze zdarzeniami 223
- 8.2.3. Tworzenie dyrektywy strukturalnej 226
- 8.3. Tworzenie niestandardowych potoków 229
- 8.3.1. Tworzenie czystego potoku 230
- 8.3.2. Tworzenie nieczystego potoku 232
- Podsumowanie 236
Rozdział 9. Formularze 237
- 9.1. Konfigurowanie przykładu 238
- 9.1.1. Wstępny przegląd aplikacji 240
- 9.2. Formularze oparte na szablonach 241
- 9.2.1. Wiązanie danych modelu z wejściami za pomocą dyrektywy NgModel 241
- 9.2.2. Walidacja kontrolek formularza za pomocą dyrektywy NgModel 243
- 9.2.3. Niestandardowa walidacja za pomocą dyrektyw 246
- 9.2.4. Obsługa zdarzeń przesyłania lub zdarzeń anulowania 249
- 9.3. Formularze reaktywne 251
- 9.3.1. Definiowanie formularza 252
- 9.3.2. Implementowanie szablonu 254
- 9.3.3. Obserwowanie zmian 255
- 9.3.4. Niestandardowe walidatory z formularzami reaktywnymi 256
- 9.3.5. Obsługa zdarzeń przesyłania lub zdarzeń anulowania 260
- 9.3.6. Które podejście do formularzy jest lepsze? 264
- 9.4. Niestandardowe kontrolki formularzy 265
- Podsumowanie 271
Rozdział 10. Testowanie aplikacji 273
- 10.1. Narzędzia testowe i konfiguracja przykładu 274
- 10.1.1. Narzędzia do testowania 275
- 10.2. Testy jednostkowe 276
- 10.2.1. Anatomia testów jednostkowych 276
- 10.2.2. Testowanie potoków 277
- 10.2.3. Testowanie usług, stuby i symulowanie żądań HTTP 279
- 10.2.4. Testowanie komponentów i korzystanie z modułów testujących 285
- 10.2.5. Testowanie dyrektyw 293
- 10.3. Testy e2e 297
- 10.4. Dodatkowe strategie testowania 302
- 10.4.1. Ile testów wystarczy? 303
- 10.4.2. Kiedy mam pisać testy? 304
- 10.4.3. Co mam napisać, e2e czy testy jednostkowe? 304
- 10.4.4. A co, jeśli nie mam czasu na pisanie testów? 305
- 10.4.5. A co z innymi rodzajami testów? 305
- Podsumowanie 306
Rozdział 11. Angular w środowisku produkcyjnym 309
- 11.1. Kompilowanie Angulara dla środowiska produkcyjnego 310
- 11.1.1. Kompilacja produkcyjna 310
- 11.1.2. Optymalizacja dla przeglądarek docelowych 311
- 11.1.3. Progresywne aplikacje internetowe 312
- 11.1.4. Internacjonalizacja (i18n) 312
- 11.1.5. Używanie alternatywnych narzędzi kompilacji 313
- 11.1.6. Renderowanie po stronie serwera lub renderowanie wstępne 314
- 11.1.7. Potoki kompilacji 314
- 11.2. Wybór architektury Angulara 315
- 11.2.1. Leniwe ładowanie tras 315
- 11.2.2. Ograniczanie zewnętrznych zależności 316
- 11.2.3. Bycie na bieżąco 319
- 11.3. Wdrożenie 319
- Podsumowanie 321
Dodatek A. Aktualizacja z AngularJS do Angulara 323
Dodatek B. Komunikacja między komponentami Angular 329
Skorowidz 331
Kategoria: | Webmaster |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-4799-1 |
Rozmiar pliku: | 5,9 MB |