Webframework AngularDart 2 verlässt die Betaphase

Auf dem Dart Summit in München hat Google die fertige Version des Webframeworks auf der JavaScript-Alternative vorgestellt. Seit Juli ist Angular auf Dart ein eigenständiges Projekt ohne Umweg über TypeScript.

In Pocket speichern vorlesen Druckansicht
AngularDart 2 verlässt die Betaphase
Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag

Nach zahlreichen Beta-Releases hat Google am heutigen Mittwoch AngularDart 2.0 veröffentlicht. Zu den Neuerungen des Webframeworks gehören die kompilierten Templates, die unter anderem für einen schnelleren Aufbau des DOM sorgen sollen. Der Compiler erzeugt Zielcode, der ebenso lesbar ist, als wäre er von menschlichen Programmierern geschrieben. Außerdem erstellt er für die Templates sowohl Runtime- als auch Debug-Code, sodass sich entsprechende Abfragen zur Laufzeit erübrigen.

Entwickler können ihre Breakpoints im übersetzten Code wie in jedem anderen setzen. Die Kompilierung verringert zudem Sicherheitslücken, da sie Evals überflüssig macht, die potenzielle Angriffsziele für Code Injections sind. Der Nachteil ist der zusätzliche Speicherbedarf. Von der ersten Implementierung bis zum jetzigen Release haben die Macher ihn laut eigenen Angaben immerhin um 40 Prozent reduziert.

Zu den Maßnahmen zur Optimierung des kompilierten Codes gehört unter anderem die Reduzierung dynamischer Aufrufe und das Entfernen überflüssiger Abstraktionsschichten. Außerdem können Entwickler die Komponenteneigenschaft preserveWhitespace auf false setzen, um Leerräume zu entfernen, was freilich zu Lasten der Lesbarkeit geht.

Eine Neuerung, die vor allem der Performance von Anwendungen mit zahlreichen Komponenten zugute kommt, ist das Vermeiden umfangreicher Dirty-Checking-Abläufe durch das Verwenden von CompontenState. Nach dem Aufruf der setState()-Methode führt Angular lediglich auf der betroffenen Komponente einen Dirty Check durch, statt auf allen. Ebenfalls neu ist die Integration von NgTestBed, das umfangreiche Tests der Komponenten ermöglicht.

Google hatte Dart 2001 als Alternative zu JavaScript vorgestellt. Als wesentliche Vorteile heben die Macher eine gute Skalierbarkeit und die Typisierung hervor, die Entwicklern entgegenkommt, die Sprachen wie Java oder C# gewohnt sind. Der optionale Strong Mode verhindert mögliche Typfehler zur Laufzeit bereits anhand statischer Analysen beziehungsweise beim Kompilieren. Im größeren Umfang finden sich Dart-Anwendungen vor allem in Googles eigenem Ökosystem. Unter anderem hatte der Suchmaschienanbieter Anfang 2016 das Frontend für AdWords mit Dart und Angular 2 erstellt.

Angular läuft bereits seit geraumer Zeit auf Dart. Die Version 2.0.0-beta.18 war jedoch die erste direkt in der Sprache geschriebene Variante. Zuvor wurde der Code aus TypeScript generiert. Damit existieren seit Juli zwei unabhängige Codebasen für Angular 2 – eine für TypeScript beziehungsweise JavaScript und eine für Dart. Dadurch sind auch Dart-spezifische Funktionen und Optimierungen möglich.

Eine Übersicht über die Neuerungen und Änderungen seit der Beta 18 finden sich im Changelog auf GitHub. Dort ist auch der Sourcecode zu finden. Weitere Versionen stehen auf der Dart-Download-Seite zum Herunterladen bereit. (rme)