Angular Das Praxisbuch zu Grundlagen und Best Practices
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 au...
Otros Autores: | , |
---|---|
Formato: | Libro electrónico |
Idioma: | Alemán |
Publicado: |
Heidelberg, [Germany] :
O'Reilly
2017.
|
Edición: | 2. Auflage |
Colección: | Animals
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009631550806719 |
Tabla de Contenidos:
- Intro
- Angular - Das Praxisbuch zu Grundlagen und Best Practices
- Impressum
- Inhalt
- Vorwort
- Zielgruppe
- Zielsetzung des Buchs
- Quellcodebeispiele, Online-Services und Errata
- Konventionen in diesem Buch
- Aufbau des Buchs
- Schulungen und Beratung
- Danksagungen
- Kapitel 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
- Visual Studio Code
- WebStorm und IntelliJ
- Browser
- Das Caching verhindern
- Zusammenfassung
- Kapitel 2 - Erste Schritte mit TypeScript
- Motivation
- Erste Schritte mit TypeScript
- Hallo Welt!
- Variablen deklarieren
- Ausgewählte Datentypen in TypeScript
- number
- string
- boolean
- Arrays
- any
- Function
- Klassen und Interfaces
- 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
- Kapitel 3 - Erste Schritte mit Angular
- Eine erste Angular-Komponente
- Dateien für die Komponente anlegen
- Eine Klasse für die Komponente
- Auf das Backend zugreifen
- Templates und die Datenbindung
- Two-Way-Binding
- Property-Binding (One-Way-Binding)
- Direktiven
- Pipes
- Event-Bindings
- Das gesamte Template
- Alternative Schreibweisen für Bindings
- Templates kompilieren
- Ein erstes Modul
- Bootstrapping.
- Anwendung ausführen
- Zusammenfassung
- Kapitel 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
- Implementierung der Komponente mit Property-Bindings
- Komponente registrieren und aufrufen
- Komponenten mit Event-Bindings
- Implementierung der Komponente mit Event-Binding
- Komponente aufrufen
- Komponenten mit Two-Way-Bindings
- Life-Cycle-Hooks
- Ausgewählte Hooks
- Experiment mit Life-Cycle-Hooks
- DateControl mit Life-Cycle-Hooks
- Zusammenfassung
- Kapitel 5 - Pipes
- Überblick
- Built-in Pipes
- Eigene Pipes
- Pure Pipes
- Implementierung einer einfachen Pipe
- Pipes registrieren und nutzen
- Zusammenfassung
- Kapitel 6 - Services und Dependency Injection
- Austauschbarkeit dank Dependency Injection
- Services implementieren und nutzen
- Ein erster Service
- Einen Service global registrieren
- Einen Service nutzen
- Einen Service lokal registrieren
- Arten von Providern
- Token
- useClass
- useValue
- useFactory
- useExisting
- multi
- Konstanten als Token
- Zusammenfassung
- Kapitel 7 - Module
- Motivation
- Eine Angular-typische Modulstruktur
- Shared Modules
- Feature-Modules
- Root-Modules
- Module reexportieren
- Zusammenfassung
- Kapitel 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
- Den AuthService implementieren und nutzen
- Korrekte Nutzung von SharedModules beim Einsatz von Lazy Loading
- Preloading
- Preloading aktivieren
- Preloading mit einem Experiment nachvollziehen
- Selektives Preloading mit eigener Preloading-Strategie
- 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
- Kapitel 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
- Checkboxes
- Radio-Buttons
- Dropdown-Felder
- 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
- Kapitel 10 - Internationalisierung
- Übersetzungen mit Angular
- ng-xi18n ohne die Angular CLI einrichten
- Texte markieren
- Dynamische Übersetzungen
- Integration in die Applikation
- Integration ohne Angular CLI
- Ergebnis.
- Die Alternative ngx-translate
- Die Library einrichten
- Datenquelle bestimmen
- Internationalisierung mit Direktiven und Pipes
- Dynamische Übersetzungen mit Angular-Pipes
- Sprachwechsel mit TranslateService
- Zusammenfassung
- Kapitel 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
- Kapitel 12 - Performanceoptimierung mit OnPush, Immutables und Observables
- Performanceoptimierung mit Immutables
- Arbeiten mit Immutables
- Sprachkonstrukte für Immutables in TypeScript
- Immutables und Datenbindung
- Performanceoptimierung mit Observables
- Observables und Datenbindung
- Datenbindung mit Observables
- Zusammenfassung
- Kapitel 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
- Kapitel 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
- Kapitel 15 - Authentifizierung und Autorisierung
- OAuth 2 und OpenID Connect
- OAuth 2
- Benutzer mit OpenID Connect authentifizieren
- JSON Web Token
- OAuth 2- und OIDC-Flows
- Implicit Flow
- Resource Owner Password Credentials Flow
- 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
- Kapitel 16 - Redux mit @ngrx/store
- Motivation
- Redux
- Überblick über @ngrx/store
- Fallbeispiel
- Single Immutable State Tree
- Reducer
- Bootstrapping
- Komponente
- Template
- Undo/Redo
- Zeitreisende Debugger
- Zusammenfassung
- Kapitel 17 - Testing
- Testbausteine
- Jasmine
- Anatomie eines Jasmine-Tests
- Test-Runner
- Unit-Tests mit Karma
- Installation und Konfiguration
- Ein Test-Bundle nutzen
- Ein erster Unit-Test
- Isolated Unit Test
- Angular Testing Utilities
- Debugging über Source Maps
- Komponenten testen
- Komplexe Komponenten vorbereiten
- Attribut-Direktiven
- Asynchrone Tests und der Http-Service
- Den Http-Service vorbereiten
- Asynchron testen
- Pipes
- Code-Coverage-Report
- Konfiguration ohne Angular CLI
- End-2-End-Tests mit Protractor
- Asynchrone Befehle und der WebDriver-ControlFlow
- Installation und Konfiguration
- Protractor-Konfigurationsdatei
- E2E-Tests mit Jasmine
- Spezifikation und Resultat eines E2E-Tests mit Jasmine
- Elemente mit dem Hilfsobjekt by finden
- Eigene Locators nutzen
- Interaktion mit Elementen
- Jasmine-Reporter
- Zusammenfassung
- Kapitel 18 - Tools und erweiterter Projektaufbau
- Projektaufbau allgemein
- Style Guide
- Projekte mit Webpack
- Einstiegspunkt festlegen
- Loader definieren.
- Externe Libraries und Dateien einbinden.