Breaking Changes und neue Features: Was hat sich geändert?

AngularDart 4.0 veröffentlicht
Kommentare

AngularDart 4.0 ist da. Updates müssen aufgrund einer Namensänderung manuell vorgenommen werden. Außerdem endet der Support für Dart 1.24.0 in AngularDart nach diesem Release. Was gibt’s also Neues?

Nur vier Monate sind seit dem Release von AngularDart 3.0 vergangen und schon steht ein neues Major Release bereit. Zu den wichtigsten Neuigkeiten gehört wohl der Paketname: aus package:angular2 wurde package:angular, ganz im Sinne der allgemeinen Namensgebung von Angular. Das führt jedoch dazu, dass Updates manuell ausgeführt werden müssen:

dependencies:
  angular: ^4.0.0

Außerdem unterstütze die vorherige Version von AngularDart noch Dart 1.23.0; AngularDart 4.0 setzt nun Dart 1.24.0 voraus. Dies soll jedoch die letzte Version des Frameworks sein, das mit diesem SDK-Release arbeitet. Man wolle, so sagt das Change Log, eng an der Entwicklung von Dart 2.0 bleiben und in AngularDart 5 bereits ausschließlich die Dart SDK 2.0 unterstützen.

Breaking Changes & Performance

Das ist aufgrund der signifikanten Veränderungen an Dart selbst ein wichtiger Hinweis für alle Entwickler, zumal die kurzen Release-Zyklen von AngularDart für eine schnelle Implementierung der neuen SDK nach deren Veröffentlichung sprechen. Auch Dart 1.24.0 wurde erste im Juni dieses Jahres fertiggestellt. Zur Vorbereitung des eigenen Code kann der Strong Mode des kommenden 2.0-Releases, der mit einem veränderten Typensystem einhergeht, bereits jetzt im Rahmen der Alpha-Releases von v2.0 sowie optional in den 1.x-Versionen aktiviert werden.

Zu den Neuerungen in AngularDart Version 4.0 gehören außerdem zahlreiche Breaking Changes, die das Change Log zusammenfasst. Dazu gehört der Wegfall von PLATFORM_{PIPES|DIRECTIVES|PROVIDERS}, da die Funktion aus AngularDart 4.0 entfernt wurde. Stattdessen wird nun mit Annotationen in @Directive und @Component gearbeitet. Auch die Arbeit mit Bootstrap in AngularDart 4.0 hat sich verändert. Das Update zählt insgesamt deutlich mehr als 20 Breaking Changes, die Entwickler während der Migration beachten müssen.

Neue Features in AngularDart 4.0

Während die Performance von Version 3.0 einen zentralen Aspekt des Updates darstellte, gibt es in dieser Hinsicht nun nur kleinere Fortschritte zu benennen. So wurde die Größe des generierten Codes reduziert; zur Beschleunigung von Developer-Runtimes wurden außerdem redundante Calls von dbg(...) im Dev-Mode entfernt.

Zu den neuen Features von AngularDart 4.0 gehören unter anderem Functional Directives; für Directives insgesamt wurde außerdem ein Visibility-Parameter hinzugefügt, mit dem unnötige Code-Generierung im Compiler vermieden werden kann. Das sind nur einige Beispiele für die Neuerungen in AngularDart 4.0.

Inheritance von Metadaten aus Components

Neu ist außerdem die Vererbung von Metadaten aus Komponenten. Diese Metadaten müssen somit nicht mehr für jede Komponente neu spezifiziert werden, sondern können inputs,
outputs, host bindings, host listeners, queries und view queries vererbt werden. Als Supertypes stehen extends, implements und with zur Verfügung; so können gemeinsame Funktionalitäten in Directives und Components per Inheritance weitergegeben werden, wie Leon Senft erklärt.

Folgende Annotationen können vererbt werden:
@ContentChild / @ContentChildren
@HostBinding
@HostListener
@Input
@Output
@ViewChild / @ViewChildren

Templates, Styles und andere Parameter von Directives können jedoch nicht vererbt werden. Als Grund dafür verweist Leon Senft, der die neue Funktion bereits getestet hat, darauf, dass für andere Arten von Metadaten noch kein Mechanismus zum Überschreiben von Accessors und Methoden existiert, der die ursprüngliche Implementierung via Super Type referenziert.

Bug Fixes und mehr

Außerdem gibt der Compiler nun eine Warnung aus, wenn Annotationen zu privaten Klassen und Funktionen hinzugefügt werden oder injections in nicht existierende Felder vorgenommen werden sollen. Alle weiteren Bugfixes und Änderungen finden sich im Change Log auf GitHub.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -