Die Angular-Toolchain besteht aus einer Reihe von Tools und Technologien, die zur Entwicklung, zum Testen, zum Bauen und zur Bereitstellung von Angular-Anwendungen verwendet werden. Hier sind die wichtigsten Elemente dieser aktuellen Toolchain.
Node.js und npm/pnpm/Yarn: Angular ist ein JavaScript-Framework und daher ist Node.js die Plattform der Wahl für die Ausführung von JavaScript auf dem Server. npm (Node Package Manager), pnpm oder Yarn werden als Paketverwaltungssysteme verwendet, um Angular und andere benötigte Bibliotheken und Tools zu installieren. Angular 19 unterstützt offiziell alle drei Paketmanager.
Angular CLI: Dieses Command-Line-Interface ist weiterhin ein wesentlicher Teil der Angular-Toolchain. Es bietet Befehle zum Erstellen, Generieren, Testen und Bereitstellen von Angular-Anwendungen. In Angular 19 wurde die CLI erheblich verbessert mit schnelleren Build-Zeiten und besserer Developer Experience. Die CLI unterstützt jetzt vollständig Standalone-Komponenten als Standard und bietet verbesserte Optionen für die Migration von älteren Angular-Projekten.
TypeScript: Angular 19 verwendet TypeScript 5.4+, die neueste Version der streng getypten Superset von JavaScript. TypeScript bietet moderne Funktionen wie Klassen, Module, Schnittstellen und verbesserte Typsicherheit. Angular 19 nutzt die neuesten TypeScript-Features für bessere Performance und Entwicklererfahrung.
Build-System (esbuild statt Webpack): Seit
Angular 16 basiert der Build-Prozess der Angular CLI intern auf
esbuild, was in Angular 19 weiter verbessert wurde. Webpack
wird dabei schrittweise verdrängt, ist aber weiterhin Bestandteil
bestimmter Buildpfade. Vite ist kein offizieller
Bestandteil von Angular und wird von der CLI nicht nativ
unterstützt.
RxJS: RxJS (Reactive Extensions for JavaScript) bleibt eine Kernbibliothek für reaktive Programmierung, die zum Verwalten von asynchronen Datenströmen in Angular-Anwendungen verwendet wird. Angular 19 nutzt RxJS 7.x mit verbesserter Performance und reduzierten Bundle-Größen.
Jest und Jasmine: Angular 19 unterstützt sowohl Jest als auch Jasmine für das Unit-Testing. Jest wird aufgrund seiner Geschwindigkeit und einfacheren Konfiguration zunehmend empfohlen, während Jasmine weiterhin unterstützt wird. Mit der Angular CLI können Entwickler leicht zwischen beiden Testing-Frameworks wechseln.
Cypress/Playwright: Diese modernen End-to-End-Test-Frameworks haben Protractor als bevorzugte Lösung für E2E-Tests ersetzt. Angular 19 bietet integrierte Unterstützung für Cypress und Playwright, die schnellere, zuverlässigere Tests ermöglichen und besser mit modernen Web-Features kompatibel sind.
ESLint: ESLint bleibt das empfohlene Linting-Tool für Angular 19 mit verbesserten Regelsätzen und TypeScript-Integration. Die Angular-spezifischen ESLint-Regeln wurden erweitert, um moderne Best Practices zu fördern und häufige Fehler zu vermeiden.
Angular Signals: Angular 19 hat das reaktive Programmiermodell mit Signals weiter ausgebaut. Dies ist jetzt ein zentraler Bestandteil der Angular-Architektur und ermöglicht effizientere Change Detection und reaktive Programmierung mit weniger Boilerplate-Code.
Angular DevTools: Dieses Browser-Erweiterungstool wurde erheblich verbessert, um Entwicklern bessere Einblicke in ihre Angular-Anwendungen zu geben. Es unterstützt jetzt Debugging von Signals, Performance-Profiling und erweiterte Komponenten-Inspektion.
Nx (optional): Für Monorepo-Management und skalierbare Angular-Projekte wird Nx häufig als Ergänzung zur Angular-Toolchain verwendet. Angular 19 arbeitet nahtlos mit Nx zusammen für verbesserte Build-Caching und Projekt-Management in großen Codebases.
Angular Hydration und SSR: Angular 19 bietet verbesserte Server-Side Rendering (SSR) und Client-Hydration-Funktionen, die durch spezielle Build-Tools und CLI-Befehle unterstützt werden.
Diese Tools bilden zusammen die moderne Angular 19-Toolchain und bieten alles, was für die Entwicklung, das Testen und die Bereitstellung von leistungsstarken und wartbaren Angular-Anwendungen benötigt wird. Die Toolchain wurde mit Fokus auf Performance, Developer Experience und moderne Web-Standards optimiert. Es ist wichtig zu beachten, dass Angular flexibel genug ist, um auch mit anderen Tools und Technologien zu arbeiten, je nach den spezifischen Anforderungen des Projekts.