© mutus/Shutterstock.com
JavaScript Kompendium
Ivy, Differential Loading und andere Neuerungen in Angular 8

Alles bleibt besser

Die neue Major-Version des JavaScript-Frameworks Angular 8 ist jetzt verfügbar und bringt eine Vorabversion von Ivy, Unterstützung für Service Worker, Differential Loading und weitere kleine Abrundungen. Der Artikel bietet einen Überblick über die neuen Features und erklärt, was sich für Entwickler ändert.

Manfred Steyer


Ende Mai 2019 erschien Angular 8. Wie geplant, gab es auch hier keine Überraschungen: Das Update des Frameworks und des CLI erfolgt geradlinig mit ng update, und die neuen Features sind eine willkommene Ergänzung, ganz nach dem Motto: „Evolution anstatt Revolution“. In diesem Artikel gehe ich auf die wichtigsten Neuerungen von Angular 8 und dem dazugehörigen Angular CLI 8 ein. Die im Artikel verwendeten Beispiele finden sich auf GitHub [1].Vorgeschmack auf IvyDie große Neuerung, auf die die Angular-Welt wartet, ist Ivy. Dabei handelt es sich um einen neuen Angular-Compiler und eine neue Rendering-Pipeline. Ivy hat das Potenzial, deutlich kleinere Bundles zu generieren, macht inkrementelles Kompilieren einfacher und ist die Grundlage für künftige Innovationen im Angular-Umfeld.Da hier im Unterbau von Angular einiges ausgetauscht wird, legt das Angular-Team ein besonderes Augenmerk auf Kompatibilität mit vorherigen Angular-Versionen: Bestehende Anwendungen sollen nach dem Umstellen auf Ivy genau so funktionieren wie zuvor, und im besten Fall mit merkbar kleineren Bundles auskommen. Das ist nicht ganz uneigennützig, zumal bei Google offiziell über 600 Anwendungen auf Angular basieren – die „Dunkelziffer“, so wird gemunkelt, sei deutlich höher.Mit Angular 8 steht nun Ivy in einer Vorabversion zum Testen zur Verfügung. Das Ziel dieser Version ist es, frühes Feedback einzuholen. Deswegen empfiehlt das Angular-Team auch, für produktive Anwendungen noch nicht auf Ivy, sondern auf die klassische View Engine zu setzen (Abb. 1).Dank Differential Loading (siehe unten) lassen sich die Bundlegrößen damit bereits augenblicklich optimieren.Wie von Brad Green, dem technischen Direktor des Angular-Teams bei Google, auf der ngconf 2019 erwähnt, wird Ivy im Kompatibilitätsmodus gemeinsam mit Differential Loading eine deutliche Verbesserung der Bundlegrößen ermöglichen. Wer den Nervenkitzel sucht, kann demnach auch schon heute das künftige API von Ivy ausprobieren. Gerade dieser Modus birgt ein beträchtliches Optimierungspotenzial. Dieses API ist jedoch derzeit noch als „private“ eingestuft, was man daran erkennt, dass deren Klassen und Funktionen mit dem Sonderzeichen ɵ beginnen.Wer heute schon mal Ivy ausprobieren möchte, kann ein neues Projekt mit dem Schalter --enable-ivy erzeugen:ng new ivy-project --enable-ivy"angularCompilerOptions": { "enableIvy": true }Zum Ausführen der Anwendung im Debug Mode empfiehlt es sich, auf AOT zu setzen:ng serve --aotWeb WorkerJavaScript...

JavaScript Kompendium
Ivy, Differential Loading und andere Neuerungen in Angular 8

Alles bleibt besser

Die neue Major-Version des JavaScript-Frameworks Angular 8 ist jetzt verfügbar und bringt eine Vorabversion von Ivy, Unterstützung für Service Worker, Differential Loading und weitere kleine Abrundungen. Der Artikel bietet einen Überblick über die neuen Features und erklärt, was sich für Entwickler ändert.

Manfred Steyer


Ende Mai 2019 erschien Angular 8. Wie geplant, gab es auch hier keine Überraschungen: Das Update des Frameworks und des CLI erfolgt geradlinig mit ng update, und die neuen Features sind eine willkommene Ergänzung, ganz nach dem Motto: „Evolution anstatt Revolution“. In diesem Artikel gehe ich auf die wichtigsten Neuerungen von Angular 8 und dem dazugehörigen Angular CLI 8 ein. Die im Artikel verwendeten Beispiele finden sich auf GitHub [1].Vorgeschmack auf IvyDie große Neuerung, auf die die Angular-Welt wartet, ist Ivy. Dabei handelt es sich um einen neuen Angular-Compiler und eine neue Rendering-Pipeline. Ivy hat das Potenzial, deutlich kleinere Bundles zu generieren, macht inkrementelles Kompilieren einfacher und ist die Grundlage für künftige Innovationen im Angular-Umfeld.Da hier im Unterbau von Angular einiges ausgetauscht wird, legt das Angular-Team ein besonderes Augenmerk auf Kompatibilität mit vorherigen Angular-Versionen: Bestehende Anwendungen sollen nach dem Umstellen auf Ivy genau so funktionieren wie zuvor, und im besten Fall mit merkbar kleineren Bundles auskommen. Das ist nicht ganz uneigennützig, zumal bei Google offiziell über 600 Anwendungen auf Angular basieren – die „Dunkelziffer“, so wird gemunkelt, sei deutlich höher.Mit Angular 8 steht nun Ivy in einer Vorabversion zum Testen zur Verfügung. Das Ziel dieser Version ist es, frühes Feedback einzuholen. Deswegen empfiehlt das Angular-Team auch, für produktive Anwendungen noch nicht auf Ivy, sondern auf die klassische View Engine zu setzen (Abb. 1).Dank Differential Loading (siehe unten) lassen sich die Bundlegrößen damit bereits augenblicklich optimieren.Wie von Brad Green, dem technischen Direktor des Angular-Teams bei Google, auf der ngconf 2019 erwähnt, wird Ivy im Kompatibilitätsmodus gemeinsam mit Differential Loading eine deutliche Verbesserung der Bundlegrößen ermöglichen. Wer den Nervenkitzel sucht, kann demnach auch schon heute das künftige API von Ivy ausprobieren. Gerade dieser Modus birgt ein beträchtliches Optimierungspotenzial. Dieses API ist jedoch derzeit noch als „private“ eingestuft, was man daran erkennt, dass deren Klassen und Funktionen mit dem Sonderzeichen ɵ beginnen.Wer heute schon mal Ivy ausprobieren möchte, kann ein neues Projekt mit dem Schalter --enable-ivy erzeugen:ng new ivy-project --enable-ivy"angularCompilerOptions": { "enableIvy": true }Zum Ausführen der Anwendung im Debug Mode empfiehlt es sich, auf AOT zu setzen:ng serve --aotWeb WorkerJavaScript...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang