Menü
Developer

Dart 1.0: Googles JavaScript-Konkurrent erreicht wichtigen Meilenstein

vorlesen Drucken Kommentare lesen 15 Beiträge

Google hat seine Skriptsprache Dart für reif genug erklärt, dass sie sich nun mit der Versionsnummer 1.0 schmücken darf. Die Programmiersprache hatte der Internet-Konzern vor etwas mehr als zwei Jahren als JavaScript-Alternative ins Rennen geschickt. Im Gegensatz zu Microsofts etwas jüngerem TypeScript oder CoffeeScript ist Googles Programmiersprache als tatsächliche Konkurrenz anzusehen, in die sich Entwickler neu einarbeiten müssen, während die anderen beiden als JavaScript-Aufsätze zu verstehen sind, die die Skriptsprache um grundsätzliche Eigenschaften erweitern.

Dart setzt auf klassische Objektorientierung. JavaScripts prototyporientierte Objekttechnik ersetzt der Newcomer durch Methoden und Konstanten, zusammenfassende Interfaces sowie Klassen, die diese Interfaces implementieren. Als Lösungsansatz zur Unterstützung von Nebenläufigkeit wurden die sogenannten Isolates gewählt. Sie funktionieren in sich abgeschlossen und haben keinen gemeinsamen Speicher. Keine zwei Isolates arbeiten also gleichzeitig im gleichen Thread. Eine der Schwächen von JavaScript bei größeren Projekten ist die fehlende Modularität. Ein wichtiger Bestandteil bei Dart ist deshalb die Möglichkeit, Bibliotheken zu entwickeln.

Dart-Programme lassen sich in der Dart VM ausführen, entweder allein oder integriert im mitgelieferten und von Chromium abgeleiteten Browser Dartium. Allerdings haben sich die Entwickler gegen Bytecode als Zwischenschritt entschieden. Für den Einsatz in gängigen Browsern wie Chrome, Safari (ab Version 5) und Firefox (ab Version 4) lässt sich Dart-Code mit dem Compiler dart2js nach JavaScript übersetzen. Das funktioniert auch mit in HTML eingebettetem Code, wo die Übersetzung in HTML mit eingebettetem JavaScript erfolgt.

Das wichtigste Tool innerhalb des mit der Version 1.0 freigegebenen SDKs ist der auf Eclipse basierende Dart Editor. Er bietet eine Projektverwaltung inklusive der Generierung eines Gerüsts und der Aufbereitung für den Package Manager. Der Editor selbst bietet Syntax-Highlighting für Dart, HTML und CSS. Daneben enthält er Code Completion und unterstützt die schnelle Navigation in den Quellen durch eine Suche von Referenzen, Aufrufern oder der Definition.

Die Sprache selbst zehrt vom Erfahrungsschatz von Gilad Bracha und Lars Bak. So hat Bracha am vom Smalltalk und Self beeinflussten Newsspeak, der Smalltalk-Variante Strongtalk mit optionaler statischer Typisierung, und der Java Language Specification mitgewirkt. Bak arbeitete an Strongtalk und Self sowie der Java HotSpot VM und Googles eigener JavaScript-Engine V8 mit.

Als erste Schritte nach der Veröffentlichung von Dart 1.0 stehen eine weitere Überarbeitung von Dartium und eine bessere Performance der Dart VM an. Damit verbundene Änderungen sollen aber abwärtskompatibel erfolgen. Ob und wann Google in Chrome integriert, ist weiterhin offen.

Siehe dazu auch:

  • Frank Müller: Dem Ziel entgegen – ein Jahr JavaScript-Konkurrent Dart; Artikel auf heise Developer
  • Dart im heise Software-Verzeichnis

(ane)