Book description
Angular ist ein äußerst populäres Open-Source-Framework von Google, das Webentwickler wirkungsvoll dabei unterstützt, die Komplexität moderner JavaScript- und Single-Page-Anwendungen (SPA) im Griff zu behalten.Das Buch wurde in der zweiten Auflage durchgehend überarbeitet und aktualisiert. Es ist auf die Neuentwicklung von Angular ab der Version 2 abgestimmt. Anhand eines umfassenden Beispielprojekts werden zunächst die Grundlagen des komponentenorientierten Frameworks vermittelt. Anschließend gehen die Autoren auf weiterführende Themen wie Build-Automatisierung, Security, Internationalisierung oder Performance-Tuning ein.
Table of contents
- Cover
- Titel
- Impressum
- Inhaltsverzeichnis
- Vorwort
-
1 Projekt-Setup
- Angular CLI
- Die CLI installieren
- Ein Projekt mit der CLI generieren
- Den Port des Entwicklungsservers festlegen
- Build mit CLI
- Projektstruktur von CLI-Projekten
- Bootstrap installieren
- Alternativen zur CLI
- Eject
- Seed-Projekte
- Werkzeuge
- Überlegungen zur Entwicklungsumgebung
- Browser
- Das Caching verhindern
- Zusammenfassung
-
2 Erste Schritte mit TypeScript
- Motivation
- Erste Schritte mit TypeScript
- Hallo Welt!
- Variablen deklarieren
- Ausgewählte Datentypen in TypeScript
- Ein erstes Objekt samt Modul
- Klassen
- Funktionen und Lambda-Ausdrücke
- Interfaces und Vererbung
- Interfaces
- Klassenvererbung
- Type Assertion („Type Casting“)
- Abstrakte Klassen
- Zugriff auf eine Basis-Klasse
- Ausgewählte Sprachmerkmale
- Getter und Setter
- Generics
- Exceptions
- Strikte Null-Prüfungen
- Asynchrone Operationen
- XmlHttpRequest
- Callbacks
- Promises
- Ausblick auf Observables
- Zusammenfassung
- 3 Erste Schritte mit Angular
-
4 Komponenten und Datenbindung
- Datenbindung in Angular
- Rückblick auf AngularJS 1.x
- Property-Binding
- Event-Bindings
- Das Zusammenspiel von Property- und Event-Bindings
- Bindings im Template
- Two-Way-Bindings
- Eigene Komponenten mit Datenbindung
- Eine Komponente mit Property-Binding
- Komponenten mit Event-Bindings
- Komponenten mit Two-Way-Bindings
- Life-Cycle-Hooks
- Ausgewählte Hooks
- Experiment mit Life-Cycle-Hooks
- DateControl mit Life-Cycle-Hooks
- Zusammenfassung
- 5 Pipes
- 6 Services und Dependency Injection
- 7 Module
-
8 Routing
- Überblick
- Routing und Platzhalter
- Routen einsetzen
- Erste Schritte mit dem Router
- Routing-Konfiguration einrichten
- Root-Komponente einrichten
- AppModule anpassen
- Strukturierung mit Modulen
- Hierarchisches Routing mit Child-Routes
- Überblick zu Child-Routes
- Child-Routes implementieren
- Parametrisierte Routen
- Parameter an Routen übergeben
- QueryString und Hash-Fragment
- Lazy Loading von Routen
- Routen für das Lazy Loading einrichten
- Lazy Loading und Webpack
- Lazy Loading im Browser nachvollziehen
- Lazy Loading und Shared Modules
- Preloading
- Aux-Routes
- Guards
- Das Aktivieren von Routen verhindern
- Das Aktivieren von untergeordneten Routen verhindern
- Das Laden von Modulen verhindern
- Das Deaktivieren einer Komponente verhindern
- Events
- Resolver
- Zusammenfassung
-
9 Formulare und Validierung
- Template-getriebene Formulare
- FormsModule einbinden
- Eingaben validieren
- Zugriff auf den Zustand des Formulars
- Bedingte Formatierung von Eingabefeldern
- Eigene Validierungsdirektiven
- Parametrisierbare Validierungsregeln
- Asynchrone Validatoren
- Die Komponente zum Präsentieren von Validierungsfehlern
- Die Standardsteuerelemente von HTML nutzen
- Geschachtelte Formulare
- Multi-Field-Validatoren
- Reaktive Formulare
- Modul einbinden
- Das Formular mit einem Objektgraphen beschreiben
- Einen Objektgraphen an ein Formular binden
- Validatoren
- Wiederholgruppen mit FormArray
- Wiederholgruppen validieren
- Dynamische Formulare
- In die Datenbindung mit Value-Accessoren eingreifen
- Ausgaben formatieren und Eingaben parsen
- Eigene Formular-Steuerelemente
- Zusammenfassung
-
10 Internationalisierung
- Übersetzungen mit Angular
- ng-xi18n ohne die Angular CLI einrichten
- Texte markieren
- Dynamische Übersetzungen
- Integration in die Applikation
- Die Alternative ngx-translate
- Die Library einrichten
- Datenquelle bestimmen
- Internationalisierung mit Direktiven und Pipes
- Dynamische Übersetzungen mit Angular-Pipes
- Sprachwechsel mit TranslateService
- Zusammenfassung
-
11 RxJS und Angular
- Reactive Extensions für JavaScript
- Observables mit Angular
- Observable erstellen und mit einem Observer arbeiten
- Die Async-Pipe
- Ein Observable über unsubscribe entsorgen
- Cold vs. Hot Observables
- Type-Ahead-Suche mit Subject
- Subject zur Event-Steuerung nutzen
- Marble-Diagramme verstehen
- Zusammenfassung
- 12 Performanceoptimierung mit OnPush, Immutables und Observables
-
13 Details zu Komponenten und Direktiven
- Weiterführende Aspekte von Komponenten
- Content Projection
- Parent-Komponenten referenzieren
- Handles
- View vs. Content
- Kommunikation über Services
- View-Provider
- Komponentenvererbung
- Attribut-Direktiven
- Direktiven definieren
- Auf Ereignisse mit HostListener reagieren
- Strukturelle Direktiven
- Templates und Container
- Microsyntax
- Templates zur Laufzeit auswählen
- Templates referenzieren
- Dynamisch Komponenten erzeugen
- Zusammenfassung
-
14 Animationen
- Grundlagen
- Konfiguration der Polyfills
- Animationen mit Trigger, State und Transition
- trigger und state nutzen
- Zustandswechsel mit Transition
- Einfache Effekte definieren
- Vorbereitung
- Berechnete CSS-Werte und Easing
- Animationen mit ngIf
- Komplexe Animationen abbilden
- Erweiterte Effekte mit Keyframes
- Gleichzeitige Animationen mit Group
- Animation-Callbacks
- Touch-Gestensteuerung mit HammerJS
- Zusammenfassung
-
15 Authentifizierung und Autorisierung
- OAuth 2 und OpenID Connect
- OAuth 2
- Benutzer mit OpenID Connect authentifizieren
- JSON Web Token
- OAuth 2- und OIDC-Flows
- Angular konfigurieren
- OAuth2-Bibliothek einrichten und konfigurieren
- Login mit Implicit Flow
- Login mit Resource Owner Password Credentials Flow
- Zugriff auf die Web-API mit Access Token
- Zusammenfassung
- 16 Redux mit @ngrx/store
-
17 Testing
- Testbausteine
- Jasmine
- Anatomie eines Jasmine-Tests
- Test-Runner
- Unit-Tests mit Karma
- Installation und Konfiguration
- Ein erster Unit-Test
- Debugging über Source Maps
- Komponenten testen
- Komplexe Komponenten vorbereiten
- Attribut-Direktiven
- Asynchrone Tests und der Http-Service
- Pipes
- Code-Coverage-Report
- End-2-End-Tests mit Protractor
- Asynchrone Befehle und der WebDriver-ControlFlow
- Installation und Konfiguration
- E2E-Tests mit Jasmine
- Jasmine-Reporter
- Zusammenfassung
-
18 Tools und erweiterter Projektaufbau
- Projektaufbau allgemein
- Style Guide
- Projekte mit Webpack
- Einstiegspunkt festlegen
- Loader definieren
- Externe Libraries und Dateien einbinden
- Workflow mit Webpack
- Konfiguration über Umgebungsvariablen steuern
- Produktivkonfigurationen mit webpack-merge auslagern
- Entwicklermodus mit Webpack-Dev-Server
- Ahead-of-Time-Kompilierung
- Phase 1: Den Angular-Compiler über ngc einrichten
- Phase 2: Mit Webpack ein Bundle generieren
- Sauberer Code mit TSLint
- Installation und Konfiguration
- Erweitertes Regelwerk durch Codelyzer
- Debugging mit Augury
- Zusammenfassung
- 19 Serverseitiges Rendering
- Index
- Über die Autoren
- Fußnoten
Product information
- Title: Angular , 2nd Edition
- Author(s):
- Release date: September 2017
- Publisher(s): dpunkt
- ISBN: 9783960090267
You might also like
book
Angular, 2nd Edition
Lernen Sie die Grundlagen von Angular mit diesem Praxisbuch! Die Autoren führen Sie mit einem anspruchsvollen …
book
Angular, 3rd Edition
Manfred Steyer, bekannter Trainer und Berater mit Schwerpunkt Angular, berücksichtigt in seinem Praxisbuch alle aktuellen Entwicklungen …
book
Angular, 3rd Edition
Dieses sehr erfolgreiche Buch zeigt Schritt für Schritt, wie man Single-Page-Anwendungen mit dem aktuellen Angular 10 …
book
Angular
Dieses Buch vermittelt einen Schnelleinstieg in Angular ab Version 4 und führt Sie anhand eines anspruchsvollen …