/ Software-Entwicklung / JavaScript-Herausforder Dart 1.22 bringt kovariante Parameter

JavaScript-Herausforder Dart 1.22 bringt kovariante Parameter

dart-86d0a162b4082c9f.jpeg
Gerfried Steube on February 15, 2017 - 11:10 pm in Software-Entwicklung

Die von Google vorangetriebene Programmiersprache erlaubt außerdem Assertion Messages. Hinsichtlich der Toolchain finden Entwickler einige Optimierungen für einen schnelleren Start beim Kompilieren und Analysieren des Codes.

Die JavaScript-Alternative Dart führt in Version 1.22 einen Mechanismus ein, mit dem Unterklassen die Parameter von Methoden strenger handhaben können als die Basisklasse. Dazu dient das Schlüsselwort covariant in den Methoden der Elternklasse, wie folgendes Beispiel aus dem Dart-Blog zeigt:

class Widget { 
void addChild(covariant Widget widget) {...}
}
class RadioGroup extends Widget {
void addChild(RadioButton button) { // ... }
}

In der Klasse Widget akzeptiert die Methode addChild jedes beliebige andere Widget. Die Klasse RadioGroup erwartet dagegen dort einen RadioButton, der freilich von Widget abgeleitet sein muss. Die Kindklasse muss keine eigenen Deklaration hinzufügen. Das Schlüsselwort covariant legt fest, dass abgeleitete Klassen den Parameter mit einer strengeren Typdefinition einschränken können.

Aussagekräftige Assertions und performantere Toolchain

Eine weitere Neuerung betrifft Assertions, die zwar seit geraumer Zeit in Dart möglich sind, aber bisher keine zusätzlichen Informationen erlaubten. Nun lassen sich Nachrichten definieren, die den Fehler beschreiben und damit das Werfen von Exceptions ersetzen können. Damit soll der Code nicht nur übersichtlicher werden, sondern die Assertions fallen beim Erstellen des Produktionscode heraus und sparen so potenziell aufwendige Testfunktionen.

Außerdem haben die Dart-Macher die Toolchain optimiert, indem sie die bisherigen Script Snapshots durch Application Snapshots ersetzt haben. Dadurch soll der Start des Compilers und Analyzers deutlich schneller vonstatten gehen.

Weitere Details lassen sich dem Blogbeitrag entnehmen. Google stellte Dart erstmals 2011 als Alternative zu JavaScript vor und gestaltet es weitgehend mit. Der Suchmaschinenanbieter setzt es selbst ein und hat beispielsweise das Frontend für AdWords Anfang 2016 in Dart umgesetzt. Als Vorzüge gegenüber JavaScript preisen die Macher die bessere Lesbarkeit. Außerdem ermöglicht der Strong Mode eine restriktive Typenprüfung, um unerwartetes Verhalten zu vermeiden. Das aktuelle SDK steht auf GitHub. Vorkonfigurierte Pakete für Windows, Linux und Mac gibt es auf der Download-Seite. (rme)

Read more on: Source

Comments are disabled