Kostenlose Tools und offizieller Release Googles Web-Programmiersprache Dart
Google hat die erste offizielle Version seiner Programmiersprache Dart veröffentlicht.
Welche Entwickler-Tools mittlerweile zur Verfügung stehen und wie ihr DART bereits jetzt schon in echten Web-Projekten nutzen könnt, erfahrt ihr im folgenden.
Entwicklungsstand
Wie ich bereits schon mal in meiner ersten Dart-Vorstellung schrieb, ist Dart eine neue objektorientierte Programmiersprache für Webentwickler, die Google als Alternative für Javascript entwickelt.
Der Bedarf bei Webentwicklern nach einer umfangreicheren Sprache als Javascript ist ja allseitsbekannt und wird bereits auch von vielen Richtungen beackert, aber die meisten Ideen drehen sich doch mehr um die Erweiterung von Javascript (wie z.B. Typescript von Microsoft). Google geht mit Dart einen anderen Weg und entwickelt stattdessen eine komplett neue Sprache, die syntaktisch an Java und C# erinnert.
Und mit dem Erreichen der jetzigen stabilen Version, hat Google auch den ersten großen Meilenstein in der Entwicklung von Dart erreicht. Absofort geht es nun erstmal um das Finetuning.
Entwickler-Tools
Wer mit Dart entwickeln möchte, der kann dies entweder mit dem Codeeditor seiner Wahl tun oder aber Googles Dart-Editor nutzen.
Der Dart-Editor unterstützt alle gängigen Features moderner Code-Editoren wie Code-Vervollständigung, Refactoring, Inline-Warnings und mehr.
Neu ist zudem, dass nun auch externe Javascript-Libraries in ein Dart-Projekt eingebunden werden können. Javascript-APIs wie Google-Maps können so einfach in einem Dart-Projekt genutzt werden, ohne den Code zunächst in Dart zu importieren.
Weiter gibt es einen neuen Paketmanager, der die Abhängigkeiten eines Projektes mit diesen externen Libraries verwaltet. Der Entwickler Bob Nystrom hat diesen auf den Namen Pub getauft, laut eigenen Aussagen deshalb, weil man ja schießlich Dart auch in einem Pub spielt 😉
Dart in Projekten nutzen
Kommen wir nun zur vielleicht wichtigsten Frage: Wie kann man Dart bereits in echten Projekten nutzen? Schließlich wird es doch kaum einen Browser geben, der Dart unterstützt?
Hierfür gibt es zwei Möglichkeiten:
Die erste sieht so aus, dass ihr den Code in einer neuen, extra für diesen Zwecke entwickelten virtuellen Maschine laufen lasst. Die sogenannte Dart-VM läuft unter anderem im neuen Browser Dartium, einer angepassten Version des Open Source Browsers Chromium, auf dem auch ebenfalls Googles Chrome aufsetzt.
Da aber wohl die wenigsten diesen Browser im Einsatz haben, gibt es noch eine zweite Möglichkeit. Google hat den Trans-Compiler Dart2JS entwickelt, der den Dart-Code in allgemeingültiges Javascript konvertiert, welches natürlich jeder moderne Browser verarbeiten kann.
Dadurch könnt ihr zwar in Dart entwickeln, diesen aber in jeder gewöhnlichen Web-App oder Website einsetzen.
Google hat dies noch einmal in einem Video zusammengefasst, wo die interessanten Entwickler-Features noch einmal gezeigt werden.
Downloads
Alle Tools wie auch kostenlose Tutorials, Code-Beispiel und andere Infos findet ihr auf der Website http://www.dartlang.org/
Ich verfolge schon länger die Entwicklung von Dart und mir gefällt es, dass Google hier trotz Unkenrufe weiter am Ball bleibt. Jetzt muss sich Dart bei den Webentwicklern auch etablieren, dann wird das auch was. Javascript ist nun wirklich nicht der Knaller.
Ist Dart denn nicht um einiges mächtiger als JS? Aber was bleibt dann davon übrig, wenn man ein Dart-Projekt in JS konvertiert? Da geht doch dann einiges verloren, oder hab ich das falsch interpretiert?
@Andi: Auf jeden Fall ist Dart mächtiger, da hast Du absolut recht.
Bei der Konvertierung von Dart nach JS werden Features, die JS nicht unterstützt, dementsprechend anders abgebildet, damit diese funktional genauso arbeiten.
JS kennt ja normalerweise keine Klassen. Trotzdem kann man kann über etliche Klimmzüge mit verschiedenen Elementen (z.B. der prototype-Eigenschaft) JS so verbiegen, dass man Klassen mit Vererbung in JS abbilden kann.
Da dies aber im Gegensatz zu einer echten OOP-Sprache recht aufwendig ist, gibt es eben jetzt soetwas wie Dart oder Typescript.