Von Christoph Höller
Bonus-Kapitel als kostenfreies E-Book:
Storybook erlaubt es Ihnen, Angular-Komponenten unabhängig von einer aktuell laufenden Anwendung zu entwickeln, zu
testen und ganz nebenbei auch noch zu dokumentieren. Insbesondere bei steigender Anwendungskomplexität oder bei
der Entwicklung von wiederverwendbaren Bibliotheken kann das Ihre Entwicklung ungemein beschleunigen!
Lernen Sie Storybook und Angular gemeinsam zu nutzen und Ihren Entwicklungs-Workflow zu optimieren!
Autor
Christoph Höller unterstützt als Trainer und Berater seit über 14 Jahren Kunden bei der Implementierung hochverfügbarer Unternehmensapplikationen sowie bei der Entwicklung von Webanwendungen auf Basis von Angular.
Christoph Höller ist Geschäftsfuhrer der beyond interfaces in Köln. Seine Schwerpunkte liegen in der Arbeit mit Java-Enterprise-Technologien und deren Integration in die schöne neue Web-Welt. In seiner Freizeit finden Sie ihn wahrscheinlich auf einem Mountainbike im Wald oder mit seinem Bulli irgendwo in Europa.
Freuen Sie sich auf Ihre erste Angular-Applikation. Am Beispiel einer Blogging-Plattform werden Sie die wichtigsten Angular-Konzepte kennenlernen und erste Kontakte mit einer Menge neuer und spannender Technologien knüpfen.
In diesem Kapitel lernen Sie unter anderem:
Quellcode zum Kapitel: https://github.com/angularbuch/kickstart
Eine der größten Stärken des JavaScript-Ökosystems ist gleichzeitig auch eine seiner größten Schwächen: Die Masse an verfügbaren Tools und Möglichkeiten ist schier unendlich. Das Angular-CLI sagt dieser Unübersichtlichkeit den Kampf an.
In diesem Kapitel werden Sie lernen, wie Sie das CLI verwenden können, um damit Folgendes zu tun:
»Everything is a component« – ganz so einfach ist die Angular-Welt zwar nicht, aber Komponenten sind ohne Zweifel eines der wichtigsten Konzepte des Frameworks.
In diesem Kapitel werden Sie lernen
Quellcode zum Kapitel: https://github.com/angularbuch/sprachkern
Komponenten ohne Template? Das mag zunächst etwas unnötig klingen. Aber insbesondere dann, wenn Sie Bestandteile Ihrer Anwendung lediglich um Verhalten erweitern möchten, können Direktiven Ihnen das Leben deutlich erleichern!
So werden Sie unter anderem lernen,
Quellcode zum Kapitel: https://github.com/angularbuch/sprachkern
Nachdem Sie nun die Grundlagen der Angular-Entwicklung kennen, geht es in diesem Kapitel in die Tiefe. Das Framework wartet mit einer Reihe interessanter Innovationen auf, die Ihnen bei der Entwicklung von professionellen Webanwendungen behilflich sein werden.
In diesem Kapitel werden Sie unter anderem lernen:
Quellcode zum Kapitel: https://github.com/angularbuch/sprachkern
In diesem Kapitel möchte ich Ihnen die mit Angular mitgelieferten Standarddirektiven vorstellen. Sie werden lernen, in welchen Szenarien bestimmte Direktiven hilfreich sind und welche Optionen zur Konfiguration und Verwendung von den jeweiligen Direktiven bereitgestellt werden. Der zweite Teil des Kapitels wird sich anschließend mit Pipes beschäftigen. Pipes bieten Ihnen die Möglichkeit, Daten on the fly für die Darstellung im UI zu transformieren. Mit dem Abschluss dieses Kapitels werden Sie wissen,
Quellcode zum Kapitel: https://github.com/angularbuch/standard-direktiven
Während Dependency-Injection in anderen Programmiersprachen schon lange zu den verbreiteten Standardkonzepten gehört, ist das Thema in der JavaScript-Welt immer noch recht neu. Angular nimmt hier erneut eine Vorreiterrolle ein.
So werden Sie mit Abschluss dieses Kapitels wissen,
Quellcode zum Kapitel: https://github.com/angularbuch/dependency-injection
Formulare bilden die wichtigste Schnittstelle zwischen Ihren Nutzern und der Applikation . In diesem Kapitel werden Sie lernen, wie Sie mithilfe der Angular-Forms-API auch komplexe Eingabeszenarien sehr intuitiv umsetzen können.
So werden Sie in diesem Kapitel lernen,
NgModel
sowohl One-Way- als auch Two-Way-Data-Binding-Szenarien umsetzen.FormGroup
und FormControl
zusammenarbeiten.Quellcode zum Kapitel: https://github.com/angularbuch/formular
Nachdem Sie sich im vorigen Kapitel mit dem HTML-zentrierten Ansatz der Template-driven Forms befasst haben, werden Sie in diesem Kapitel den TypeScript-getriebenen reaktiven Ansatz verwenden.
In diesem Kapitel werden Sie lernen
TypeScript
-Code erzeugen.TypeScript
erzeugten Formular hergestellen.Quellcode zum Kapitel: https://github.com/angularbuch/formular
Eine der Kernfunktionalitäten einer Webapplikation ist das Routing, also die Abbildung des aktuellen Zustands der Applikation auf eine adressierbare URL. In diesem Kapitel werden Sie lernen, welche Funktionalitäten Angular bereitstellt, um Sie bei der Umsetzung von komplexen Routing-Anforderungen zur unterstützen. Außer mit der eigentlichen Routenkonfiguration werden Sie dabei mit einer Vielzahl an interessanten Techniken in Kontakt kommen. So werden Sie im Laufe des Kapitels unter anderem lernen,
Quellcode zum Kapitel: github.com/angularbuch/project-manager-routing
Die Anbindung von externen Services erfolgt im Webumfeld fast immer per HTTP. Neben dem Ausführen von Requests und der Verarbeitung von Responses bedeutet dies auch, dass Ihre Anwendung nun mit asynchronen Daten zurechtkommen muss: Das AngularHTTP-Framework macht dies zu einem Kinderspiel!
So werden Sie mit Abschluss dieses Kapitels wissen:
Quellcode zum Kapitel: github.com/angularbuch/project-manager-http
Nachdem Sie in den vorangegangenen Kapiteln schon in verschiedenen Bereichen
Kontakte mit der Bibliothek RxJS und der Observable-Klasse geknüpft haben, geht es
in diesem Kapitel reaktiv ans Eingemachte. So haben Sie beispielsweise in Kapitel 11,
»HTTP: Anbindung von Angular-Applikationen an einen Webserver«, Techniken
kennengelernt, mit denen Sie asynchron geladene Daten sehr elegant auf Ihrer Oberfläche darstellen können (Stichwort AsyncPipe
)
Der konsequente Einsatz von reaktiven Technologien bietet Ihnen in diesem Zusammenhang die Möglichkeit, Ihre Anwendung sowohl deutlich flexibler als auch performanter zu gestalten.
So werden Sie in diesem Kapitel unter anderem lernen:
Observables
und Observer
in einer reaktiven Anwendung spielen.Observable
-Streams kombinieren können.Quellcode zum Kapitel: github.com/angularbuch/project-manager-reactive
Tests zu schreiben ist für viele Entwickler immer noch eine lästige Pflichtaufgabe. Auf Basis des Angular-Testing-Frameworks kann es aber sogar Spaß machen. Und Ihre Nutzer werden Ihnen die verbesserte Stabilität mit Sicherheit danken!
Im Laufe des Kapitels werden Sie unter anderem lernen:
Mocks
und Spies
sind und wie diese Ihnen bei der Entwicklung von aussagekräftigen Tests helfen können.Quellcode zum Kapitel: github.com/angularbuch/project-manager-reactive
ntegrationstests helfen Ihnen sicherzustellen, dass Ihre Anwendung als Ganzes funktioniert. Denn was hilft es schon, wenn Sie super getestete Komponenten haben, Ihre Applikation aber gar nicht erst hochfährt? Cypress macht solche Tests zu einem Kinderspiel!
So werden Sie Im Laufe dieses Kapitels lernen:
Quellcode zum Kapitel: github.com/angularbuch/project-manager-reactive
Ihre Anwendung wächst und wächst. Nun gilt es, nicht die Kontrolle
zu verlieren. Mit NgModule
und Lazy-Loading gibt Angular Ihnen zwei
Werkzeuge an die Hand, mit denen die Modularisierung Ihrer
Anwendung ein Leichtes ist!
Im Rahmen dieses Kapitels werden Sie unteranderem lernen, was ein Feature-Modul ist und wie Sie diese Technik nutzen können, um Ihre Anwendung zu modularisieren. wieso Sie gemeinsam genutzte Funktionalität in Shared-Module auslagern sollten. wann es sinnvoll ist, pro Komponente ein eigenes Modul zu definieren. welche Besonderheiten es beim Umgang mit Services zu beachten gilt. wie Sie Lazy-Loading einsetzen können, um Code erst dann zu laden, wenn er wirklich benötigt wird.
Quellcode zum Kapitel: github.com/angularbuch/project-manager-modular
Während Sie in anderen Webframeworks bei der Entwicklung von mehrsprachigen Applikationen bis heute auf den Einsatz von Drittbibliotheken angewiesen sind, hat sich das Angular-Team dafür entschieden, das Thema direkt in den Anwendungskern zu integrieren. Dabei hat die bereitgestellte Lösung deutlich mehr als die einfache Übersetzung von Strings zu bieten.
Im Laufe dieses Kapitels werden Sie lernen:
i18n
-Moduls konfigurieren.i18n
-Moduls übersetzen können.$localize
-Service ist und wie Sie diesen dazu verwenden können, Texte
aus Ihren TypeScript-Klassen heraus zu übersetzen.ng-xi18n
Sie bei der
Generierung von Messaging-Files unterstützt.wie die Themen Pluralisierung und geschlechtsspezifische Texte in Angular unterstützt werden.
Animationen wurden in der Vergangenheit oft als »Beiwerk« zur eigentlichen Anwendung betrachtet. Angular geht hier einen neuen Weg: Durch eine geschickte Verbindung zwischen Komponenten-Zustand und Animationsausführung lassen Animationen sich nun nahtlos in Ihre Applikationslogik integrieren.
group
und sequence
für parallel bzw.
sequenziell ablaufende Animationen bieten.query
-Funktion komplexe Komponenten animieren können.Quellcode zum Kapitel: https://github.com/angularbuch/animationen
Die Designsprache »Material Design« ist die gestalterische Grundlage von »Angular Material«, des offiziellen UI-Baukastens für Angular. Sie hilft Ihnen, formschöne und interaktive Anwendungen in Rekordzeit zu implementieren.
Nach Abschluss dieses Kapitels werden Sie unter anderem wissen:
Quellcode zum Kapitel: https://github.com/angularbuch/babywatch
Die Möglichkeit, Funktionalität in Bibliotheken auszulagern, hilft Ihnen zum einen bei der Strukturierung Ihrer Anwendung. Zum anderen können Sie auf diese Weise Ihre Komponente der ganzen Welt zur Verfügung stellen. In diesem Kapitel lernen Sie, wie Angular Sie hierbei unterstützt!
So werden Sie im Laufe dieses Kapitels lernen:
Quellcode zum Kapitel: https://github.com/angularbuch/button-chooser-lib
Custom Elements sind eines der interessantesten und mächtigsten Konzepte aus dem WebComponents-Standard. Mit Angular Elements haben Sie nun die Möglichkeit, Ihre Angular-Komponenten als Standard-WebComponents zu exportieren!
So werden Sie in denkommenden Abschnitten lernen:
Quellcode zum Kapitel: https://github.com/angularbuch/button-chooser-lib
Die Container-Plattform Docker ist aus professionellen IT-Infrastrukturen nicht mehr wegzudenken, und auch für das Deployment von Webapplikationen bietet diese Technik viele Vorteile. Freuen Sie sich darauf, Ihre Angular-Anwendung Enterprise-ready zu machen!
So werden Sie in den folgenden Abschnitt lernen:
APP_INITIALIZER
-Mechanismus funktioniert.Quellcode zum Kapitel: https://github.com/angularbuch/project-manager-modular
Server-Side Rendering spielt insbesondere bei der Entwicklung von »öffentlichen« Anwendungen eine immer wichtigere Rolle. In diesem Kapitel werden Sie lernen, welche Vorteile, aber auch welche Besonderheiten die Entwicklung von Angular-Anwendungen mit sich bringt, die auf dem Server gerendert werden.
Um dieses Problem zu lösen, werden Sie im Laufe dieses Kapitels lernen:
Quellcode zum Kapitel: https://github.com/angularbuch/project-manager-ssr