Das invisible makeover ist da – inklusive vieler Neuerungen

Angular 4
Kommentare

Gute Nachrichten für alle Freunde des Enterprise-fähigen JavaScripts: Angular 4 wurde final veröffentlicht. Es gibt viele Neuerungen und einen kleinen Ausblick auf Version 4.1.

Es ist vollbracht: nach langer, harter Arbeit und der überraschenden Neuigkeit, dass es kein Angular 3 geben würde, wurde der Community nun Angular 4 in seiner finalen Version übergeben. Mit an Bord sind zahlreiche Neuerungen. Außerdem bietet das Team bereits einen kleinen Ausblick auf die kommende Version 4.1.

Angular 4

Die gute Nachricht vorweg: für die meisten Angular-2.x-Applikationen dürfte das gerade veröffentlichte Angular 4 abwärtskompatibel sein. Das ist vor allem deshalb eine hervorragende Nachricht, weil sich das Team vorgenommen hat, künftige Updates auf neue Major Releases möglichst schmerzfrei und automatisiert anbieten zu wollen. So ist es auch kein Wunder, dass das Update auf Angular 4 ein Kinderspiel sein soll:

Updating to 4 is as easy as updating your Angular dependencies to the latest version, and double checking if you want animations. This will work for most use cases.

Sollte die eigene Applikation stark auf Animationen setzen, muss man lediglich das BrowserAnimationsModule importieren und seine Importe weg vom @angular/core auf @angular/animations umstellen.

Angular 4 unter der Haube

Eine der auffälligsten Neuerungen dürfte Angular an sich sein: Angular 4 ist deutlich schlanker und schneller als seine Vorgänger. Dennoch befinde man sich erst am Anfang des Möglichen; in Zukunft dürfe man sich, so das Team in der offiziellen Ankündigung, auf noch mehr Verbesserungen in diesen Bereichen freuen.

Erreicht wurde das beispielsweise durch die bereits angesprochenen Änderungen im Bereich der Animationen, die aus dem Core extrahiert und in ein eigenes Package ausgelagert wurden. Das ist vor allem für die Projekte sinnvoll, die ohnehin auf Animationen verzichten und somit deutlich weniger Ballast mit sich herumschleppen müssen.

Neu ist auch der Code, der durch die Ahead-of-Time-Kompilierung entsteht. Durch die Änderungen kann die Größe der meisten Komponenten um satte 60 Prozent reduziert werden; ein Versprechen, das sich in der RC-Phase wohl bewahrheitet hat: „During our release candidate period, we heard from many developers that migrating to 4 reduced their production bundles by hundreds of kilobytes.

Was ist neu in Angular 4?

Darüber hinaus gibt es natürlich noch zahlreiche weitere Neuerungen. So ist Angular 4 beispielsweise mit TypeScript 2.1 und 2.2 kompatibel, außerdem gibt es nun auch Source Maps für Templates.

Des Weiteren ist Angular Universal, ein Tool, mit dem Angular auch auf dem Server betrieben werden kann, wieder auf einem Stand mit dem aktuellen Release. Außerdem gab es Verbesserungen für *ngIf und *ngFor, die nun auch im Template-Binding verwendet werden können.

Änderungen im Packaging

Im Bereich des Packaging gibt es ebenfalls Neuerungen zu vermelden. So experimentiert das Team beispielsweise mit Closure-Annotationen und ES2015-Builds, die im FESM-Format (Flat ECMAScript Modules) ausgeliefert werden. Ersten Berichten zufolge sollen sich die Größen von Bundles so um bis zu sieben Prozent verkleinern lassen. Diese Neuerung ist jedoch experimentell und opt-in. Weitere Informationen dazu findet man in der offiziellen Ankündigung Angular 4.0.0 Now Available.

strictNullChecks – zu früh gefreut

Eine schlechte Neuigkeit gibt es dennoch: um harte Brüche mit der Abwärtskompatibilität zu vermeiden, hat sich das Team dazu entschieden, TypeScripts strictNullChecks-Setting mit dem aktuellen Release von Angular 4.0 inkompatibel zu machen.

Mit diesem Setting sollte es Entwicklern ermöglicht werden, noch mehr Einfluss auf Typen nehmen zu können. Leider – oder zum Glück – wurde während der außergewöhnlichen RC-Phase der vergangenen Wochen festgestellt, dass noch mehr Arbeit in dieses Feature investiert werden muss, um nicht zu riskieren, auf einmal zahlreiche nicht mehr funktionierende Applikationen zu haben.

Angular 4.1

Auf dem Plan steht neben dem Release von Patch-Updates bereits die Arbeit an Angular 4.1. Das Team möchte Angular vor allem noch schneller und schlanker machen; allerdings sollen auch @angular/http, @angular/language-service und @angular/service-worker aus dem experimentellen Status gehoben werden. Gerade letzteres dürfte für einen Großteil der Entwickler durchaus interessant werden.

Natürlich steht auch ein Stable-Release von Angular CLI noch aus, und an vernünftigen Packaging-Guides für Entwickler von Libraries wird ebenfalls noch gearbeitet.

Mit dem Release von Angular 4 hat das Team einen großen Schritt in die Zukunft gewagt. Von nun an kann man sich ganz dem neuen Release-Plan unterordnen – und dabei natürlich dem Abwärtskompatibilitäts-Versprechen treu bleiben.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -