Hinweis: Dieser Blogbeitrag stammt aus der Zeit vor dem Zusammenschluss und wurde von ARS realisiert – heute Teil von ATVANTAGE. Unsere Erfahrung bleibt – nur unser Name hat sich geändert. Hier finden Sie weitere Informationen rund um die Fusion.

Lesezeit: 3 Minuten

Angular 18: Das nächste Kapitel


Angular wird nächste Woche sein neues Release, Angular 18, veröffentlichen. Diese neue Version bringt eine Fülle von Verbesserungen, neuen Features und Leistungssteigerungen mit sich, die Entwicklern helfen, noch leistungsfähigere und benutzerfreundlichere Webanwendungen zu erstellen. Folgende Features hat das Angular-Team entwickelt, um das Framework zu verbessern und auf die Wünsche der Community einzugehen:

Optimierte Leistung durch Zoneless Angular

Eine der herausragendsten Verbesserungen in Angular 18 ist die Optimierung der Leistung. Durch die Einführung von neuen Compiler-Optimierungen und einem verbesserten Change Detection-Algorithmus wurde die Gesamtleistung von Angular-Anwendungen deutlich gesteigert. Dies bedeutet schnellere Ladezeiten, reaktionsschnellere Benutzeroberflächen und eine insgesamt verbesserte Benutzererfahrung.

Zoneless Angular ist eine innovative Weiterentwicklung von Angular, die darauf abzielt, die Abhängigkeit von der Zone.js-Bibliothek zu minimieren oder sogar vollständig zu eliminieren. Normalerweise nutzt Angular die Zone.js-Bibliothek, um asynchrone Vorgänge und die Change Detection zu handhaben. Jedoch kann die Verwendung von Zone.js in bestimmten Fällen zu Leistungsproblemen führen, insbesondere in umfangreichen Anwendungen oder in Umgebungen, die eine besonders reaktionsschnelle Benutzeroberfläche erfordern.

Zoneless Angular zielt darauf ab, diese Leistungsprobleme zu lösen, indem es die Abhängigkeit von Zone.js minimiert oder gänzlich beseitigt. Dies wird durch die Neugestaltung von Angular erreicht, welche native JavaScript-Features wie die MutationObserver API und ECMAScript-Module nutzt, um asynchrone Aufgaben zu managen und die Change Detection durchzuführen. Dadurch wird die Verwendung von Zone.js in vielen Fällen überflüssig gemacht.

Hier sind einige wichtige Punkte und Verbesserungen, die mit Zoneless Angular einhergehen:

Verbesserte Leistung:
Durch die Verringerung oder gar Beseitigung von Zone.js können erhebliche Leistungssteigerungen erzielt werden, vor allem in Bezug auf die Initialisierungszeit und die Reaktionsfähigkeit der Benutzeroberfläche. Dies macht sich besonders in umfangreichen Anwendungen oder in Umgebungen bemerkbar, die eine schnelle Benutzeroberfläche benötigen.

Bessere Isolation:
Durch Zoneless Angular wird die Isolation von Angular-Komponenten und -Services verbessert, da sie nun nicht mehr von der globalen Zone.js-Instanz abhängig sind. Diese Entwicklung trägt dazu bei, potenzielle Konflikte mit anderen Bibliotheken oder Frameworks zu minimieren und die Wartbarkeit des Codes zu optimieren.

Vereinfachte Architektur:
Durch die Beseitigung der Zone.js-Abhängigkeit wird die Architektur von Angular vereinfacht, da weniger Code benötigt wird, um asynchrone Aufgaben zu handhaben und die Change Detection durchzuführen. Dies führt zu einem aufgeräumteren und leichter wartbaren Code.

Bessere Integration mit Webstandards:
Zoneless Angular nutzt native JavaScript-Features wie die MutationObserver API und ECMAScript-Module, um asynchrone Aufgaben zu verwalten. Dadurch wird Angular besser in die bestehenden Webstandards integriert und die Portabilität von Angular-Anwendungen verbessert.

Experimentell und optional:
Es ist zu beachten, dass Zoneless Angular sich noch in der experimentellen Phase befindet und möglicherweise nicht für alle Anwendungsfälle geeignet ist. Es besteht die Möglichkeit, Zoneless Angular experimentell in neuen Projekten zu testen, jedoch wird empfohlen, die Auswirkungen sorgfältig zu evaluieren, insbesondere in Bezug auf die Kompatibilität mit bestehendem Code und Bibliotheken.


Insgesamt verspricht Zoneless Angular eine vielversprechende Zukunft für Angular-Entwickler, indem es die Leistung verbessert, die Architektur vereinfacht und die Integration mit Webstandards verbessert. Es ist ein aufregender Schritt in Richtung eines modernen und reaktionsschnellen Webframeworks.

Verbesserte Bundling-Strategien & Performance Optimierung

Dank der Optimierungen des Ivy Compilers bietet Angular 18 verbesserte Bundling-Strategien, die dazu beitragen, die Größe der JavaScript-Bundles zu verringern. Durch die intelligente Verwaltung von Abhängigkeiten und das Entfernen von ungenutztem Code wird die Ladezeit der Anwendungen weiter optimiert.

Route redirect Erweiterung

redirectTo

Funktionen können jetzt neben String als Parameter  an Route.redirectTo übergeben werden. Diese Erweiterung bietet Entwicklern mehr Flexibilität.

 

Neue RedirectCommand Klasse

Vor der Einführung der RedirectCommand-Klasse war es zwar möglich, einen Redirect mithilfe von Resolvern und Guards durchzuführen, indem ein urlTree-Objekt verwendet wurde, um eine neue Route darzustellen. Allerdings war es nicht möglich, auf die NavigationsExtras zuzugreifen. Dies führt dazu, dass das Handling komplexer Navigation in Angular durch verbesserte Wartbarkeit und Flexibilität vereinfacht wird.

 

Folgendes Beispiel zeigt die Verwendung der neuen RedirectCommand-Klasse:

 

Erweiterungen für ng-template & ng-content

Standardinhalte sind jetzt innerhalb des ng-content Tags zulässig. Diese logische Erweiterung ermöglicht es Entwicklern, Standardinhalte direkt in das Tag selbst einzubinden:

 

Angular 18 führt möglicherweise Verbesserungen an der ng-template API ein, wodurch sie leistungsfähiger und flexibler wird.

Verbesserungen der Barrierefreiheit

Angular 18 setzt einen klaren Fokus auf die Barrierefreiheit und verbessert die Zugänglichkeit von Angular-Anwendungen für alle Nutzer. Durch die Integration von ARIA-Richtlinien (Accessible Rich Internet Applications) und die Umsetzung von Best Practices zur Barrierefreiheit wird sichergestellt, dass Anwendungen für Nutzer mit unterschiedlichen Einschränkungen besser zugänglich sind.

Neue Werkzeuge für Entwickler in den Angular Dev Tools

Neben den oben genannten Verbesserungen bringt Angular 18 auch eine Reihe neuer Entwicklerwerkzeuge mit sich. Von erweiterten Debugging-Funktionen  und Hydration Unterstützung bis hin zu verbesserten Entwickler-Tools bietet Angular 18 eine umfassende Suite von Werkzeugen, die Entwicklern dabei helfen, effizienter zu arbeiten und hochwertige Anwendungen zu erstellen.

Signal Components

Die Einführung von signalbasierten Komponenten wurde bereits im vorherigen Angular-Release vorgeschlagen und stellt einen weiteren Schritt in Richtung moderner Reaktivität dar. Ob sie Teil des neuen Releases sein werden, ist noch nicht endgültig bestätigt, jedoch würden sie zweifellos eine großartige Erweiterung darstellen. So würde eine signalbasierte Komponente aussehen:

 

Weitere Updates

Fazit:

Angular 18 stellt einen bedeutenden Meilenstein in der Weiterentwicklung des Frameworks dar und bringt eine Vielzahl von Verbesserungen und neuen Features mit sich, die die Entwicklung von Webanwendungen auf ein neues Level heben. Mit optimierter Leistung, verbesserten Bundling-Strategien, Barrierefreiheitsverbesserungen und neuen Entwicklerwerkzeugen ist Angular 18 eine aufregende Veröffentlichung, auf die Entwickler gespannt sein können. Wir empfehlen allen Angular-Entwicklern, das Upgrade auf Angular 18 durchzuführen, um von den neuesten Funktionen und Verbesserungen zu profitieren.

Blogautor

Dinko Hodžić
Softwareentwickler ARS Computer und Consulting GmbH

Ihr Erfolg ist unser Ziel

Stehen Sie vor komplexen IT-Projekten? Mit unserer Expertise bieten wir Ihnen maßgeschneiderte Lösungen. Erfahren Sie mehr.

Werde Teil unseres Teams

Wir suchen ständig nach neuen Talenten. Für dich haben wir genau die richtige Stelle. Schau dir unsere offenen Positionen an.

Noch Fragen? Wir helfen Ihnen gerne!

Blog 06.11.23

Hurra, hurra - Angular Version 17 ist da!

Erfahren Sie, welche aufregenden neuen Funktionen und Verbesserungen Angular Version 17 mit sich bringt. Von der neuen deklarativen Control Flow Syntax bis hin zum Deferred Loading uvm.

Blog 10.10.24

DevOps? Warum APIOps der nächste logische Schritt ist

APIOps erweitert DevOps-Praktiken auf APIs, um deren Entwicklung zu automatisieren und zu optimieren. Dieser Ansatz verbessert Qualität, Sicherheit und Geschwindigkeit im API-Management.

Blog 28.03.24

Grafana Loki: Die nächste Generation des Log-Managements

Grafana Loki: Erfahren Sie mehr über die innovative Log-Verwaltungslösung für Cloud-native Umgebungen und deren Vorteile im Vergleich zu anderen Tools wie ElasticStack und Splunk.

Blog 30.05.24

React Server Components und Next.js

Erfahren Sie mehr über React Server Components und Next.js für effizientes Server Side Rendering in Web-Applikationen. Eine detaillierte Analyse und Implementierungstipps.

Blog 26.04.24

Team Topology: Ein Wegweiser für effektive DevOps-Kultur

Erfahren Sie, wie Team Topology und effektive Kommunikationsmodi die DevOps-Kultur fördern und die Softwareentwicklung revolutionieren. Ein Wegweiser für erfolgreiches Teammanagement.

Blog 28.08.23

Demokratisierung von Softwaretests

Besser und schneller Software testen: Welche Testmethoden beziehen nicht-technische Abteilungen ein? Über Tools wie Cypress und Cucumber lesen Sie hier.

Blog 23.08.24

"DevOps, quo vadis?" – Team Topologien

Erfahren Sie, wie Team-Topologien in DevOps Silos aufbrechen und erfolgreiche Zusammenarbeit fördern. Entdecken Sie die vier fundamentalen Teamarten.

Blog 19.09.24

Die Zukunft datenbankzentrierter IT-Architekturen

Datenbankzentrierte IT-Architekturen prägen viele Unternehmen. Doch ist dieser Ansatz noch zukunftsfähig? Dieser Artikel beleuchtet die Herausforderungen und Alternativen.

Blog 05.09.24

Effiziente DevOps-Teams: Teamschnitte und Kommunikation

Durch gezielte Teamschnitte und optimale Kommunikationsmodi wird die kognitive Last in DevOps-Teams reduziert. Für effizientere Zusammenarbeit und kontinuierlichen Fortschritt.

Blog 18.07.24

Ticket-Schneiden: Best Practices und Agile Methoden

Erfahren Sie, wie Sie effektive Tickets für die Softwareentwicklung schreiben und schneiden, um Probleme zu vermeiden. Mehr über die Bedeutung von User Stories und deren korrekte Umsetzung.

Blog 13.11.24

Versteckte Barrieren durch Drittanbieter

Drittanbieter-Integrationen erleichtern die Webentwicklung, bergen aber Risiken für die Barrierefreiheit. Erfahren Sie, wie Sie Barrieren erkennen und vermeiden.

Blog 12.01.24

Infrastructure as Code (IaC)

Infrastructure as Code (IaC) und die neuesten Entwicklungen in der Cloud-Infrastrukturverwaltung mit Tools wie Terraform und Crossplane. Ein Blick auf die Zukunft des Infrastrukturmanagements.

Blog 02.02.24

So kommt Ordnung in den Infrastructure as Code-Werkzeugkaste

Ordnung im IaC-Dschungel: Welches Tool passt? Dieser Artikel gibt Überblick über die wichtigsten Werkzeuge für Infrastructure as Code.

Blog 13.06.24

Barrierefreiheit richtig umsetzen

Warum Barrierefreiheit im Web so wichtig ist und wie sie richtig umgesetzt werden kann. Entdecken Sie die Vorteile, Prinzipien und Best Practices für eine inklusive Online-Umgebung.

Blog 04.07.24

Warum Shift Left jetzt unverzichtbar ist

Erfahren Sie, warum Shift Left und Feedbackschleifen unverzichtbar für eine erfolgreiche Softwareentwicklung sind. Verbessern Sie Qualität, Sicherheit und Effizienz in Ihrem Unternehmen.

Blog 24.10.24

DevOps und APIOps in der Praxis: Best Practices

Wie lassen sich DevOps und APIOps erfolgreich kombinieren? In diesem Artikel erfahren Sie, welche Best Practices und Erfolgsfaktoren moderne Softwareentwicklung schneller und skalierbarer machen.

Blog

9 Tipps & Tricks für Angular

Angular ist unter Webentwicklern ein beliebtes Framework für das Programmieren von Web-, Desktop- und mobilen Anwendungen. Neun Tipps & Tricks für Angular-Einsteiger und Profis.

Blog 10.11.22

Architekturarbeit im Zeitalter Cloud-nativer Architekturen 2

Aufgaben von Softwarearchitekten im Cloud-native-Umfeld, benötigte Skills und ihr Arbeitsalltag zwischen Kundenanforderungen, Zieldefinition und Deadlines.

Blog 08.12.22

Teil 4: Eigenschaften einer Cloud-native Architektur

Beitrag zu Cloud-native Architekturen, ihre Möglichkeiten und Zielsetzungen sowie die Philosophie und Arbeitsweise, die daraus folgt.

Blog 05.01.23

Teil 6 - Die Architektenrolle in DevOps-Teams/Organisationen

Erfahren Sie in diesem Blogbeitrag mehr über die Rolle der Architekten in DevOps-Teams und wie sich die Architekturarbeit im cloud-native Umfeld verändert hat.