Ein Jahr JavaScript-Konkurrent Dart

Seite 4: Fazit

Inhaltsverzeichnis

Neben der Sprache und ihrer Bibliotheken gehören weitere Werkzeuge zu einer Entwicklungsumgebung. Das wichtigste Tool ist der sich in Eclipse integrierende Editor. Er bietet eine Projektverwaltung inklusive der Generierung eines Gerüsts und auf Wunsch für den Package Manager pub. Der Editor bietet Syntax-Highlighting für die Sprache selbst sowie für HTML und CSS. Daneben beherrscht er Code Completion und unterstützt die schnelle Navigation in den Quellen durch eine Suche von Referenzen, Aufrufern oder der Definition. Für die Übersetzung bietet der Editor zudem einen Build Hook. Das ist ein während des Kompiliervorgangs ausgeführtes Dart-Skript, mit dem sich weitere Ressourcen generieren, manipulieren oder die vom Editor unterstützten SCSS-Dateien in CSS-Dateien übersetzen lassen. Aus dem Code lässt sich für eine Nutzung im Browser, wie oben angedeutet, JavaScript generieren. Alternativ steht die Ausführung direkt in der Dart VM zur Verfügung. Auch eine Code-Dokumentation in HTML lässt sich aus dem Editor heraus oder auf der Kommandozeile mit dartdoc erzeugen. Daneben ist ein Debugger im Editor enthalten. Er hilft beim Nachvollziehen des Programmablaufs und der Analyse des derzeitigen Zustands.

Für spätere Erweiterungen und die Softwarewartung verfügt der Editor zudem über ein Refactoring. Hiermit lässt sich im Rahmen der Säuberung der Code nach auswählbaren Kriterien analysieren und umstellen, ebenso sind Anpassungen am Code-Stil möglich, die jedoch noch nicht an gofmt von Googles Go herankommen. Besonders am Clean-up ist auch die automatische Umstellung bisher gültigen Codes auf aktuelle Standards. Individuell sind weitere Umstellungen wie Umbenennungen, Umwandlungen in Getter, Inlining und dem Extrakt von Funktionen oder lokalen Variablen machbar.

Mit dem Editor, der in eingeschränktem Umfang auch als Plug-in für Eclipse verfügbar ist, kommt der Dart Package Manager pub. Er erlaubt die Bündelung von Ressourcen und die Definition von Abhängigkeiten zu externen Packages. Diese lassen sich installieren und aktualisieren, sowohl auf der Kommandozeile als auch vom Editor aus. Über ein definiertes Namensschema werden die externen Packages in den Code importiert.

Mit Dartium hat das Dart-Team noch einen Chromium-Browser mit einer integrierten Dart VM beigelegt. Er vereinfacht das Testen von Client-Anwendungen und entspricht sicherlich dem, was sich die Entwickler für Dart von der Browser-Welt wünschen: den nativen Einsatz von Dart. Das letzte wichtige Tool wird nicht lokal installiert, es befindet sich auf dem Server. Denn inzwischen ist die API gut dokumentiert.

Seit der Vorstellung hat sich Dart deutlich weiterentwickelt. Der Milestone 1 ist sicherlich noch nicht produktionsreif, das ist auch allen Beteiligten bewusst. Aber sowohl die Sprache als auch die gut in den Editor integrierten Werkzeuge zeigen die Marschrichtung und erleichtern so den Einstieg. Das ermöglicht so auch den Vorlauf, der notwendig ist, um Dart später in eigene Entwicklungen zu integrieren. Insbesondere die Entwicklung von Client-Anwendungen im Browser kann stark von Dart profitieren.

Die Sprache selbst hat sich zunehmend vom Ahnen JavaScript emanzipiert, weitere Schritte sind absehbar. So werden aktuell beispielsweise Mixins diskutiert. Einige kleinere Inkonsistenzen und Umständlichkeiten müssten nicht sein, was letztlich jedoch Geschmacksache ist. Andere Konzepte sind hingegen erfrischend aus Sprachen wie Smalltalk übernommen worden.

Für den an Dart interessierten Entwickler stehen neben der Projektseite inzwischen weitere Ressourcen zur Verfügung. So gibt es eine News-Seite, die zudem auf Google+ gespiegelt ist. Hier und bei Twitter hat sich zudem inzwischen das Hashtag #dartlang etabliert, und die im Web lesbare Mailing-Liste erleichtert umfangreichere Diskussionen.

Schloss der erste Test seinerzeit noch mit dem Hinweis, dass Dart noch einige Zeit bis zur Reife benötige, so ist dieser Zeitpunkt der Reife auch jetzt noch nicht, aber schon bald erreicht. Daher sei es jedem an der Entwicklung von Webanwendungen Interessierten für einen tieferen Blick ans Herz gelegt.

Frank Müller
arbeitet als Software Engineer bei Canonical.

  1. Frank Müller; Volltreffer; Dart – Googles zweite Programmiersprache; iX 1/2012, S. 126