O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Angular

Book Description

Dieses Buch vermittelt einen Schnelleinstieg in Angular ab Version 4 und führt Sie anhand eines anspruchsvollen Beispielprojekts schrittweise an die Entwicklung mit Googles clientseitigem Webframework heran.Lernen Sie dabei Konzepte, Techniken, und Best Practices kennen, mit denen Sie strukturierte und modularisierte Single-Page-Anwendungen entwickeln.

Table of Contents

  1. Cover
  2. Titel
  3. Impressum
  4. Vorwort
  5. Inhaltsverzeichnis
  6. I Einführung
    1. 1 Haben Sie alles, was Sie benötigen?
    2. 1.1 Visual Studio Code
    3. 1.2 Google Chrome mit Augury
    4. 1.3 Paketverwaltung mit Node.js und NPM
    5. 1.4 Codebeispiele in diesem Buch
    6. 2 Schnellstart
    7. 2.1 Die erste Angular-Anwendung aufsetzen
    8. 2.2 HTML-Grundgerüst erstellen
    9. 2.3 Den Modul-Loader konfigurieren
    10. 2.4 Die Startdatei für das Bootstrapping anlegen
    11. 2.5 Das zentrale Angular-Modul anlegen
    12. 2.6 Eine erste Komponente anlegen
    13. 2.7 Den Webserver starten
    14. 2.8 Retrospektive
    15. 3 Angular CLI: Der Codegenerator für unser Projekt
    16. 3.1 Vorstellung
    17. 3.2 Installation
    18. 3.3 Die wichtigsten Befehle
  7. II TypeScript
    1. 4 Einführung in TypeScript
    2. 4.1 Was ist TypeScript und wie setzen wir es ein?
    3. 4.2 Variablen: const, let und var
    4. 4.3 Getter und Setter
    5. 4.4 Die wichtigsten Basistypen
    6. 4.5 Klassen
    7. 4.6 Interfaces
    8. 4.7 Operatoren und Funktionen
    9. 4.8 Dekoratoren
  8. III BookMonkey 2: Schritt für Schritt zur App
    1. 5 Projekt- und Prozessvorstellung
    2. 5.1 Unser Projekt: Der BookMonkey 2
    3. 5.2 Projekt mit Angular CLI initialisieren
    4. 5.3 Style-Framework Semantic UI einbinden
    5. 6 Komponenten & Template-Syntax: Iteration I
    6. 6.1 Komponenten: Die Grundbausteine der Anwendung
    7. 6.1.1 Komponenten
    8. 6.1.2 Komponenten in der Anwendung verwenden
    9. 6.1.3 Template-Syntax
    10. 6.1.4 Den BookMonkey erstellen
    11. 6.2 Property Bindings: Mit Komponenten kommunizieren
    12. 6.2.1 Komponenten verschachteln
    13. 6.2.2 Eingehender Datenfluss mit Property Bindings
    14. 6.2.3 Andere Arten von Property Bindings
    15. 6.2.4 DOM-Propertys in Komponenten auslesen
    16. 6.2.5 Den BookMonkey erweitern
    17. 6.3 Event Bindings: Auf Ereignisse in Komponenten reagieren
    18. 6.3.1 Native DOM-Events
    19. 6.3.2 Eigene Events definieren
    20. 6.3.3 Den BookMonkey erweitern
    21. 7 Powertipp: Styleguide
    22. 8 Services & Routing: Iteration II
    23. 8.1 Dependency Injection: Code in Services auslagern
    24. 8.1.1 Abhängigkeiten anfordern
    25. 8.1.2 Eingebaute Abhängigkeiten
    26. 8.1.3 Abhängigkeiten bereitstellen
    27. 8.1.4 Den BookMonkey erweitern
    28. 8.2 Routing: Durch die Anwendung navigieren
    29. 8.2.1 Routen konfigurieren
    30. 8.2.2 Routing-Modul einbauen
    31. 8.2.3 Komponenten anzeigen
    32. 8.2.4 Root-Route
    33. 8.2.5 Routen verlinken
    34. 8.2.6 Routenparameter
    35. 8.2.7 Verschachtelung von Routen
    36. 8.2.8 Routenweiterleitung
    37. 8.2.9 Aktive Links stylen
    38. 8.2.10 Route programmatisch wechseln
    39. 8.2.11 Den BookMonkey erweitern
    40. 9 Powertipp: Chrome Developer Tools
    41. 10 HTTP & reaktive Programmierung: Iteration III
    42. 10.1 HTTP: Ein Server-Backend anbinden
    43. 10.1.1 Das HTTP-Modul einbinden
    44. 10.1.2 Einfache Requests mit der Http-Klasse
    45. 10.1.3 Benutzerdefinierte Anfragen mit der Request-Klasse
    46. 10.1.4 Request erweitern: Zusätzliche Header
    47. 10.1.5 Den BookMonkey erweitern
    48. 10.2 RxJS: Reaktive Programmierung
    49. 10.2.1 Observables
    50. 10.2.2 Operatoren
    51. 10.2.3 Den BookMonkey erweitern
    52. 11 Powertipp: Augury
    53. 12 Formularverarbeitung & Validierung: Iteration IV
    54. 12.1 Angulars Ansätze für Formulare
    55. 12.2 Template Driven Forms
    56. 12.2.1 Template Driven Forms verwenden
    57. 12.2.2 NgModel und NgModelGroup
    58. 12.2.3 Eingaben validieren
    59. 12.2.4 Den BookMonkey erweitern
    60. 12.3 Reactive Forms
    61. 12.3.1 Reactive Forms verwenden
    62. 12.3.2 Den FormBuilder verwenden
    63. 12.3.3 Vorhandene Validatoren nutzen
    64. 12.3.4 Den BookMonkey erweitern
    65. 12.4 Custom Validators
    66. 12.4.1 Validatoren für einzelne Formularfelder
    67. 12.4.2 Validatoren für Formulargruppen und -Arrays
    68. 12.4.3 Asynchrone Validatoren
    69. 12.4.4 Den BookMonkey erweitern
    70. 13 Pipes & Direktiven: Iteration V
    71. 13.1 Pipes: Daten im Template formatieren
    72. 13.1.1 Pipes verwenden
    73. 13.1.2 Die Sprache einstellen
    74. 13.1.3 Integrierte Pipes für den sofortigen Einsatz
    75. 13.1.4 Eigene Pipes entwickeln (Custom Pipes)
    76. 13.1.5 Pipes in Komponenten nutzen
    77. 13.1.6 Den BookMonkey erweitern
    78. 13.2 Direktiven: Das Vokabular von HTML erweitern
    79. 13.2.1 Was sind Direktiven?
    80. 13.2.2 Eine erste eigene Direktive schreiben
    81. 13.2.3 Attributdirektiven
    82. 13.2.4 Strukturdirektiven
    83. 13.2.5 Den BookMonkey erweitern
    84. 14 Module & fortgeschrittenes Routing: Iteration VI
    85. 14.1 Die Anwendung modularisieren: Das Modulkonzept von Angular
    86. 14.1.1 Module in Angular
    87. 14.1.2 Grundaufbau eines Moduls
    88. 14.1.3 Bestandteile eines Moduls deklarieren
    89. 14.1.4 Anwendung in Feature-Module aufteilen
    90. 14.1.5 Aus Modulen exportieren: Shared Module
    91. 14.1.6 Den BookMonkey erweitern
    92. 14.2 Lazy Loading: Angular-Module asynchron laden
    93. 14.2.1 Warum Module asynchron laden?
    94. 14.2.2 Lazy Loading verwenden
    95. 14.2.3 Module asynchron vorladen: Preloading
    96. 14.2.4 Den BookMonkey erweitern
    97. 14.3 Guards: Routen absichern
    98. 14.3.1 Grundlagen zu Guards
    99. 14.3.2 Guards implementieren
    100. 14.3.3 Guards verwenden
    101. 14.3.4 Den BookMonkey erweitern
    102. 14.4 Resolver: Asynchrone Daten vorladen
    103. 14.4.1 Warum Resolver verwenden?
    104. 14.4.2 Resolver aufsetzen
    105. 14.4.3 Resolver in Routen verwenden
    106. 14.4.4 Daten in einer Komponente abrufen
    107. 14.4.5 Den BookMonkey erweitern
    108. 14.5 Routing: Wie geht’s weiter?
    109. 14.5.1 Routenparameter asynchron laden
    110. 14.5.2 Mehrere RouterOutlets verwenden
    111. 14.5.3 Darstellung der URLs ändern: LocationStrategies
    112. 15 Internationalisierung: Iteration VII
    113. 15.1 i18n: Mehrere Sprachen und Kulturen anbieten
    114. 15.1.1 Was bedeutet Internationalisierung?
    115. 15.1.2 Nachrichten mit dem i18n-Attribut markieren
    116. 15.1.3 Nachrichten extrahieren und übersetzen
    117. 15.1.4 Feste IDs vergeben
    118. 15.1.5 JIT: Die App mit Übersetzungsdatei laden
    119. 15.1.6 AOT: Die App statisch mit Übersetzungsdatei bauen
    120. 15.1.7 Den BookMonkey erweitern
    121. 16 Powertipp: POEditor
    122. 17 Qualität fördern mit Softwaretests
    123. 17.1 Softwaretests
    124. 17.1.1 Arten von Tests
    125. 17.1.2 Test-Framework Jasmine
    126. 17.1.3 Test-Runner Karma
    127. 17.1.4 E2E-Test-Runner Protractor
    128. 17.2 Tests mit Karma
    129. 17.2.1 Die Testbibliothek von Angular
    130. 17.2.2 Isolierte Unit-Tests (Services und Pipes testen)
    131. 17.2.3 Shallow Unit-Tests: Einzelne Komponenten testen
    132. 17.2.4 Integrationstests: Mehrere Komponenten testen
    133. 17.2.5 Abhängigkeiten durch Stubs ersetzen
    134. 17.2.6 Abhängigkeiten durch Mocks ersetzen
    135. 17.2.7 HTTP-Requests testen
    136. 17.2.8 Komponenten mit Routen testen
    137. 17.2.9 Asynchronen Code testen
    138. 17.2.10 Fazit
    139. 17.3 Tests mit Protractor
    140. 17.3.1 Auf die Balance kommt es an
    141. 17.3.2 Protractor verwenden
    142. 17.3.3 Elemente selektieren: Locators
    143. 17.3.4 Aktionen durchführen
    144. 17.3.5 Asynchron mit Warteschlange
    145. 17.3.6 Redundanz durch Page Objects vermeiden
    146. 17.3.7 Eine Angular-Anwendung testen
    147. 17.3.8 Fazit
  9. IV Das Projekt ausliefern: Deployment
    1. 18 Das Projekt ausliefern: Deployment
    2. 18.1 Umgebungen konfigurieren
    3. 18.1.1 Umgebungen am Beispiel: BookMonkey
    4. 18.2 Produktivmodus aktivieren
    5. 18.3 Build erzeugen
    6. 18.4 Die Templates kompilieren
    7. 18.4.1 Just-In-Time-Kompilierung (JIT)
    8. 18.4.2 Ahead-Of-Time-Kompilierung (AOT)
    9. 18.5 Webserver konfigurieren und die App ausliefern
    10. 18.6 Ausblick: Automatisches Deployment
  10. V Weiterführende Themen
    1. 19 NativeScript: Mobile Anwendungen entwickeln
    2. 19.1 Mobile Apps entwickeln
    3. 19.2 Was ist NativeScript?
    4. 19.3 Warum NativeScript?
    5. 19.4 Hinter den Kulissen
    6. 19.5 Plattformspezifischer Code
    7. 19.6 Widgets und Layouts
    8. 19.7 Styling
    9. 19.8 NativeScript und Angular
    10. 19.9 Angular als Native App
    11. 19.10 Den BookMonkey mit NativeScript umsetzen
    12. 19.10.1 NativeScript installieren
    13. 19.10.2 Ein neues Projekt generieren und startena
    14. 19.10.3 Bisherigen Code übernehmen
    15. 19.10.4 Das Bootstrapping anpassen
    16. 19.10.5 Das Root-Modul und Routing anpassen
    17. 19.10.6 Die Hauptkomponente migrieren
    18. 19.10.7 Die Startseite migrieren
    19. 19.10.8 Die Buchliste migrieren
    20. 19.10.9 Die Detailansicht migrieren
    21. 20 Powertipp: Android-Emulator Genymotion
    22. 21 Redux: Den Application State verwalten
    23. 21.1 Was ist Redux?
    24. 21.2 Was sind Reducer?
    25. 21.3 Reducer verwalten den Anwendungsstatus
    26. 21.4 Actions
    27. 21.5 Angular-Services und Actions
    28. 21.6 Redux im Projekt einbinden
    29. 21.7 Components mit Redux verwenden
    30. 21.8 Container und Presentational Components
    31. 21.9 Weiterführendes
    32. 21.10 Den BookMonkey mit Redux umsetzen
    33. 21.10.1 Vorstellung der Projektstruktur
    34. 21.10.2 Erläuterungen zu IAppState
    35. 21.10.3 Das Buch-Dashboard
    36. 21.10.4 Der Warenkorb
    37. 21.10.5 Bücher aus dem Dashboard zum Warenkorb hinzufügen
    38. 22 Powertipp: Redux DevTools
    39. 23 Wissenswertes
    40. 23.1 Plattformen und Renderer
    41. 23.2 Lifecycle-Hooks
    42. 23.3 Change Detection
    43. 23.4 Transklusion: Inhalt des Host-Elements verwenden
    44. 23.5 Eigenes Two-Way Binding
    45. 23.6 Else-Block für die ngIf-Direktive
    46. 23.7 Upgrade von Angular 1.x
    47. 24 Nachwort
  11. VI Anhang
    1. A Befehle der Angular CLI
    2. B Matcher von Karma
    3. C Abkürzungsverzeichnis
    4. D Linkliste
  12. Fußnoten
  13. Index
  14. Literaturverzeichnis