Dart (Programmiersprache)
| Dart | |
|---|---|
| Paradigmen: | Objektorientierte Programmierung |
| Erscheinungsjahr: | 2011 |
| Entwickler: | The Dart Team |
| Aktuelle Vorabversion: | 0.40: M4[1] (22. April 2013) |
| Typisierung: | Dynamische Typisierung |
| Beeinflusst von: | JavaScript, Scala[2], Strongtalk |
| Lizenz: | Modifizierte BSD-Lizenz |
| www.dartlang.org | |
Dart ist eine hauptsächlich von Google entwickelte Web-Programmiersprache. Sie wurde erstmals auf der GOTO-Konferenz am 10. Oktober 2011 in Aarhus vorgestellt.[3]
Inhaltsverzeichnis |
Hintergrund [Bearbeiten]
Dart wurde mit dem Ziel entworfen, eine neue, offene und moderne Alternative zu JavaScript als hauptsächlich verwendete Skriptsprache in Webbrowsern zu etablieren.[4] Dabei soll Dart einige grundsätzliche Probleme von JavaScript überwinden[5], die sich nach Ansicht der Entwickler von Dart nicht durch eine Weiterentwicklung von JavaScript beheben ließen. Weitere Ziele, die mit der Implementierung verfolgt werden, sind eine höhere Ausführungsgeschwindigkeit, bessere Verwendbarkeit für große Projekte und bessere Sicherheitsmerkmale. Dabei sollen die als positiv eingeschätzten Aspekte von JavaScript beibehalten werden.
Laufzeitumgebung [Bearbeiten]
Dart-Programme können im Browser, aber auch auf dem Server ausgeführt werden. Für Browser ohne eigene Dart-VM ist der Dart2js Transcompiler vorgesehen, der Dartcode nach JavaScript übersetzt. Seit der Dart-Version M4 ist der maschinengeschriebene JavaScript-Code im DeltaBlue-Benchmark ebenso schnell wie von der V8-JavaScript-Engine ausgeführter, handoptimierter JavaScript-Code. Direkt in der DartVM ausgeführter Dart-Code ist deutlich schneller als vergleichbarer JavaScript-Code.[6].
Derzeit wird an Dartium gearbeitet, einer Chromium-Version, die Dart nativ mit der DartVM unterstützt.[7] Es ist noch kein Termin bekannt, zu dem Chrome oder ein anderer Browser Dart nativ unterstützen soll.
Dart-Anwendungen werden mit einem eigenen Mimetype ausgeliefert, nämlich "application/vnd.dart".[8]
Das Dart-SDK zur serverseitigen Entwicklung kann bereits bezogen oder selbst kompiliert werden. Allerdings ist auch hier noch kein offizieller Erscheinungstermin einer stabilen Version bekannt.
Die „js Library“ ermöglicht die direkte Verwendung von JavaScript-Code in Dart.[9]
Entwicklungsziele [Bearbeiten]
Die Entwicklung von Dart wird von folgenden Zielen geleitet:[10]
- Entwicklung einer strukturierten, aber auch flexiblen Programmiersprache für das Web.
- Entwicklung einer leicht erlernbaren, da auf für Programmierer vertrauten Syntax und Techniken beruhenden, Programmiersprache.
- Sicherstellung, dass alle Sprachkonstrukte eine hohe Leistung und einen schnellen Programmstart ermöglichen
- Dart sollte vor allem für Geräte geeignet sein, die mit dem Web kommunizieren, wie Telefone, Tablets, Laptops und auch Server.
- Unterstützung durch Tools, mit deren Hilfe Dart auf allen gängigen Webbrowsern lauffähig ist.
Beispiele [Bearbeiten]
Hello World [Bearbeiten]
main() { // Ausgabe der Textzeile "Hallo, Wikipedia!" print('Hallo, Wikipedia!'); }
Objektorientierte Programmierung [Bearbeiten]
// defining a class class Point { Point(num this.x, num this.y); // a constructor with syntactic sugar distanceTo(Point other) { // a method methodCalls++; num dx = x - other.x; num dy = y - other.y; return Math.sqrt(dx * dx + dy * dy); } num x, y; // member variables static int methodCalls = 0; // a class-wide variable } // defining a subclass class ColorPoint extends Point { ColorPoint(x, y, color) { this.x = x; this.y = y; this.color = color; } var color; } main() { Point p = new Point(2, 3); Point q = new ColorPoint (3, 4, 'red'); print('distance from p to q = ${p.distanceTo(q)}'); print('method calls = ' + Point.methodCalls); }
Weblinks [Bearbeiten]
- Offizielle Website
- Google Dart - Mitten ins Schwarze. Eine Einführung in Dart im PHP Magazin von Christian Grobmeier
- Googles neue Programmiersprache bei Heise Developer (10. Oktober 2011)
- Ein Jahr JavaScript-Konkurrent Dart bei Heise Developer (12. Oktober 2012)
- Google Dart Artikel aus dem Java Magazin
Quellen [Bearbeiten]
- ↑ The Dart Team: Dart Programming Language Specification. www.dartlang.org, 22. April 2013, abgerufen am 27. April 2013 (PDF; 575 kB, englisch).
- ↑ Google shoots Dart at JavaScript. It's really not a JavaScript killer, insists author. 10. Oktober 2011, abgerufen am 15. Oktober 2011 (englisch).
- ↑ Gilad Bracha, Lars Bak: Opening Keynote: Dart, a new programming language for structured web programming. goto Aarhus 2011 International Software Developer Conference, 10. Oktober 2011, abgerufen am 15. Oktober 2011 (englisch).
- ↑ Stephen Shankland: Google debuts Dart, a JavaScript alternative. CNET, 10. Oktober 2011, abgerufen am 15. Oktober 2011 (englisch): „"It's not going to replace JavaScript"“
- ↑ Christian Grobmeier: 10 Punkte, in denen Dart JavaScript übertrifft. 12. Januar 2012, abgerufen am 12. Januar 2012 (deutsch).
- ↑ Dart Performance
- ↑ Google Dart Team: Building Dartium. 12. Januar 2012, abgerufen am 12. Januar 2012 (deutsch).
- ↑ IANA: IANA Dart Media Type. 12. Januar 2012, abgerufen am 12. Januar 2012 (deutsch).
- ↑ Using JavaScript from Dart: The js Library. September 2012, abgerufen am 28. Dezember 2012.
- ↑ Dart Design Goals. Abgerufen am 15. Oktober 2011 (englisch).