Angular : Das Praxisbuch zu Grundlagen und Best Practices /
Manfred Steyer und Daniel Schwab.
Bok Tysk 2017 · Electronic books.
Medvirkende | Schwab, Daniel, (author.)
|
---|---|
Omfang | 1 online resource (436 pages) : : illustrations (some color)
|
Utgave | 2. Auflage.
|
Opplysninger | Includes index.. - 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.. - 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.. - 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.. - 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.. - Externe Libraries und Dateien einbinden.. - 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.. - 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.
|
Emner | |
Sjanger | |
Dewey | |
ISBN | 1-4920-6499-8. - 3-96010-144-9
|