JavaScript: Angular 12 läutet den Abschied von der View Engine ein

Nach dem Motto "Ivy Everywhere" baut das Angular-Team die Rendering-Architektur um, und die View Engine gilt ab sofort offiziell als veraltet.

In Pocket speichern vorlesen Druckansicht 54 Kommentare lesen
JavaScript: Angular 12 läutet den Abschied von der View Engine ein

(Bild: Andrey Suslov/Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Matthias Parbel

Das JavaScript-Framework Angular liegt in Version 12 vor. Mit dem Update setzt das Angular-Team den Umbau der Rendering-Architektur mit Fokus auf "Ivy Everywhere" konsequent fort. So ist die View Engine in Angular 12 offiziell als deprecated (veraltet) markiert – vollständig wegfallen soll sie aber erst in einem der nächsten Major Releases.

Die in Ivy vereinten Rendering-Engine- und Compiler-Pipelines setzen den künftigen Standard im JS-Framework. Auch der auf Ivy basierende Language Service, mit dem sich in Angular-Templates Funktionen wie Code Completions, Errors, Hints und Navigation bereitstellen lassen, gilt nicht länger als optional. Sämtliche Libraries, die View Engine verwenden, arbeiten in Verbindung mit dem Compiler ngcc aber auch weiterhin mit Ivy-Applikationen, Entwicklerinnen und Entwickler können auf etwaige Anpassungen verzichten. Wer allerdings bisher Libraries für View Engine gebaut hat, sollte sich auf den Wechsel zu Ivy vorbereiten. Ein separater Blogbeitrag fasst die wichtigsten Details zur Umstellung zusammen.

Ein weiteres Migrationsvorhaben betrifft die Message IDs im i18n-System. Einige der bisher genutzten Legacy-Formate erwiesen sich als problematisch im Hinblick auf Probleme, die in Verbindung mit Leerräumen (Whitespaces), den Formatierungs-Templates sowie ICU-Ausdrücken auftreten konnten. Daher hatte das Angular-Team bereits den Wechsel auf ein kanonisches Format eingeleitet, das als intuitiver und belastbarer gilt. Neu angelegte Projekte nutzen das Format bereits seit Angular 11 standardmäßig, mit dem Update des JS-Frameworks stehen nun aber auch Werkzeuge für die Migration ältere Projekte zur Verfügung.

Im Hinblick auf TypeScript hat das Angular-Team auf Version 4.2 aktualisiert. Der Nullish Coalescing Operator ??, den Entwicklerinnen und Entwickler schon länger für saubereren Code in TypeScript-Klassen nutzen können, steht in Angular 12 nun auch für Templates zur Verfügung. Komplexe Konditionale lassen sich damit deutlich vereinfachen, aus

{{age !== null && age !== undefined ? age : calculateAge() }}

wird

{{ age ?? calculateAge() }}

Der in Angular 11 eingeführte, aber noch als experimentell eingestufte Einsatz von Webpack 5 gilt im neuen Release als produktionsreif. Vom Internet Explorer 11 wird sich das JS-Framework zugunsten modernerer Browser verabschieden. Angular 12 gibt für den IE11 noch Warnmeldungen aus, ab dem nächsten Major Release fliegt der Microsoft-Browser aber komplett heraus.

Alle weiteren Informationen zum Release sowie nähere Details zu den Änderungen finden sich im Beitrag auf dem Angular-Blog.

(map)