Menü
Developer

AngularDart 4 befreit sich von altem Ballast

Das Release der vierten Hauptversion der Angular-Portierung für Googles Dart geht mit einer ganzen Reihe nicht rückwärtskompatibler Änderungen einher. Ein Blick in das Changelog lohnt also.

vorlesen Drucken Kommentare lesen
AngularDart 4 krempelt vieles um

Googles Portierung des hauseigenen Single-Page-Application-Frameworks Angular mit seiner Programmiersprache Dart kann das vierte Major Release feiern. Die neue Version ermöglicht beispielsweise den Einsatz funktionaler Direktiven für einmalige Transformationen und stattet Directive mit einer Eigenschaft visibility aus. Ergänzt wurde zudem die ComponentLoader-Schnittstelle zum Generieren von Komponenten zur Laufzeit und eine Anweisung exports: [...] in @Component hilft Entwicklern dabei, bestimmte Methoden und Felder in Vorlagen einzusetzen, ohne in einer Klasse einen Alias Getter zu fabrizieren.

Eine der wichtigsten Neuerungen sollte Entwicklern allerdings schon beim Versuch der Aktualisierung auffallen: AngularDart steht nicht mehr als package:angular2, sondern als package:angular zur Verfügung, weshalb Abhängigkeiten händisch zu aktualisieren sind und ein pub upgrade von angular2 3.x nach angular2 4.x so nicht möglich ist. Aber auch darüber hinaus sind im aktuellen Release eine ganze Menge nicht rückwärtskompatibler Änderungen zu finden, angefangen bei den vielen ausrangierten Befehlen und Verzeichnissen, die im Changelog nachzulesen sind.

Mit @Pipe ausgezeichnete Klassen lassen sich nach dem Update nicht mehr in einem ReflectiveInjector verwenden. Ist das dennoch gewünscht, ist die Klasse mit der @Injectable()-Annotation auszuzeichnen. Umbenennungen gab es beim DynamicComponentLoader, dessen neuer Bezeichner SlowComponentLoader ihn weniger gefragt machen und Nutzer zum Umschwenken auf ComponentLoader bewegen soll, und FORM_DIRECTIVES, was nun unter formDirectives läuft. Aus SlowComponentLoader wurden zudem die Argumente projectableNodes: und onDestroy:-Callbacks entfernt, da sie wenig genutzt wurden und mangels Dokumentation eher verwirrten. Strukturelle Änderungen hat es derweil bei der Forms API und dem Router gegeben, die nun jeweils in einem eigenen Paket unterkommen.

AngularDart wird seit 2016 unabhängig von Angular und Dart entwickelt, ist aber bereits seit 2013 in Arbeit und findet unternehmensintern wohl etwa bei AdWords und AdSense Verwendung. Dart ist mittlerweile seit etwa vier Jahren präsent, und war von Google als JavaScript-Alternative angelegt worden. (jul)