<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Dart_%28Programmiersprache%29</id>
	<title>Dart (Programmiersprache) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Dart_%28Programmiersprache%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Dart_(Programmiersprache)&amp;action=history"/>
	<updated>2026-06-03T20:20:45Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Dart_(Programmiersprache)&amp;diff=2434286&amp;oldid=prev</id>
		<title>imported&gt;Trustable: tiefere Kategorie: Kategorie:Google-Software</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Dart_(Programmiersprache)&amp;diff=2434286&amp;oldid=prev"/>
		<updated>2026-01-18T00:52:52Z</updated>

		<summary type="html">&lt;p&gt;tiefere Kategorie: &lt;a href=&quot;/index.php?title=Kategorie:Google-Software&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Kategorie:Google-Software (Seite nicht vorhanden)&quot;&gt;Kategorie:Google-Software&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox Programmiersprache&lt;br /&gt;
| Name                         =&lt;br /&gt;
| Logo                         = [[Datei:Dart programming language logo.svg|250px]]&lt;br /&gt;
| Beschreibung                 = &amp;lt;!-- Beschreibung des Logos --&amp;gt;&lt;br /&gt;
| Paradigma                    = [[Objektorientierte Programmierung]]&lt;br /&gt;
| Erscheinungsjahr             = 2013 (Vorabversion 2011)&lt;br /&gt;
| Entwickler                   = [[Lars Bak (Informatiker)|Lars Bak]], [[Gilad Bracha]], [[Kasper Verdich Lund]], The Dart Team&lt;br /&gt;
| AktuelleVersion              = &amp;lt;!-- https://www.wikidata.org/wiki/Q406009 --&amp;gt;&lt;br /&gt;
| AktuelleVersionFreigabeDatum = &amp;lt;!-- https://www.wikidata.org/wiki/Q406009 --&amp;gt;&lt;br /&gt;
| Typisierung                  = [[Optionale Typisierung]], [[Dynamische Typisierung]]&lt;br /&gt;
| Implementierung              = &lt;br /&gt;
| Dialekte                     = &lt;br /&gt;
| Standardisierungen           = ECMA-408, 1.11 Sprachspezifikation &amp;lt;small&amp;gt;(19. August 2015&amp;lt;ref&amp;gt;[http://ecma-international.org/publications/files/ECMA-ST/ECMA-408.pdf &amp;#039;&amp;#039;Standard ECMA-408&amp;#039;&amp;#039; – Dart Programming Language Specification 4th Edition]&amp;lt;/ref&amp;gt;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| Beeinflusst_von              = [[C-Sharp|C#]], [[Erlang (Programmiersprache)|Erlang]], [[JavaScript]], [[Scala (Programmiersprache)|Scala]],&amp;lt;ref&amp;gt;{{Internetquelle | url=http://www.theregister.co.uk/2011/10/10/google_previews_dart/ | sprache=en | titel=Google shoots Dart at JavaScript | titelerg=It&amp;#039;s really not a JavaScript killer, insists author | datum=10. Oktober 2011 | zugriff=2011-10-15}}&amp;lt;/ref&amp;gt; [[Smalltalk (Programmiersprache)|Smalltalk]], [[Strongtalk]]&lt;br /&gt;
| Beeinflusste                 = &lt;br /&gt;
| Betriebssystem               = &lt;br /&gt;
| Lizenz                       = Modifizierte [[BSD-Lizenz]]&lt;br /&gt;
| Website                      = [https://dart.dev/ dart.dev]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dart&amp;#039;&amp;#039;&amp;#039; ist eine [[Ecma International|ECMA]]-standardisierte&amp;lt;ref name=&amp;quot;ecma&amp;quot;&amp;gt;{{Webarchiv | url=http://www.ecma-international.org/news/index.html | wayback=20140701194334 | text=ECMA Latest News 25. Juni 2014}}&amp;lt;/ref&amp;gt; [[Programmiersprache]], die hauptsächlich vom Unternehmen [[Google Inc.|Google]] entwickelt wird. Die Sprache wurde als generelle Vielzweck-Programmiersprache entworfen,&amp;lt;ref&amp;gt;Frederic Lardinois in techcrunch.com am 29. Juni 2014: &amp;#039;&amp;#039;[http://techcrunch.com/2014/06/29/googles-dart-programming-language-is-coming-to-the-server/ Google’s Dart Programming Language Is Coming To The Server]&amp;#039;&amp;#039;&amp;lt;/ref&amp;gt; die insbesondere eine moderne Alternative zu [[JavaScript]] zur Verwendung in Webbrowsern darstellen soll.&amp;lt;ref&amp;gt;{{Internetquelle | url=http://news.cnet.com/8301-30685_3-20117924-264/google-debuts-dart-a-javascript-alternative/ | titel=Google debuts Dart, a JavaScript alternative | autor=Stephen Shankland | hrsg=CNET | datum=10. Oktober 2011 | zugriff=2011-10-15 | sprache=en | zitat=&amp;quot;It&amp;#039;s not going to replace JavaScript&amp;quot; }}&amp;lt;/ref&amp;gt; Dabei soll Dart einige grundsätzliche Probleme von JavaScript überwinden,&amp;lt;ref&amp;gt;{{Internetquelle|url=https://t3n.de/news/dart-10-punkte-denen-javascript-358345/ |titel=10 Punkte, in denen Dart JavaScript übertrifft|autor=Christian Grobmeier|datum=2012-01-13|abruf=2016-05-18}}&amp;lt;/ref&amp;gt; die sich nach Ansicht der Entwickler von Dart nicht durch eine Weiterentwicklung von JavaScript beheben ließen.&lt;br /&gt;
&lt;br /&gt;
== Geschichte ==&lt;br /&gt;
Die Entwicklung von Dart begann im Jahr 2010 in einem kleinen Team rund um [[Lars Bak (Informatiker)|Lars Bak]], [[Gilad Bracha]] und [[Kasper Verdich Lund]] in [[Aarhus]]. Dart wurde erstmals auf der GOTO-Konferenz am 10. Oktober 2011 in Aarhus vorgestellt.&amp;lt;ref&amp;gt;{{Internetquelle | url=http://gotocon.com/aarhus-2011/presentation/Opening%20Keynote:%20Dart,%20a%20new%20programming%20language%20for%20structured%20web%20programming | titel=Opening Keynote: Dart, a new programming language for structured web programming | autor=Gilad Bracha, Lars Bak | hrsg=goto Aarhus 2011 International Software Developer Conference | datum=2011-10-10 | zugriff=2011-10-15 | sprache=en}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Veröffentlichung der ersten stabilen Version 1.0 erfolgte am 14. November 2013.&amp;lt;ref&amp;gt;golem.de am 14. November 2013: &amp;#039;&amp;#039;[http://www.golem.de/news/javascript-alternative-googles-dart-1-0-veroeffentlicht-1311-102745.html Googles Dart 1.0 veröffentlicht]&amp;#039;&amp;#039;&amp;lt;/ref&amp;gt; Am 25. Juni 2014 beschloss die Generalversammlung der [[Ecma International|ECMA]] mit Dokument „ECMA-408“ die Standardisierung der Sprachspezifikation.&amp;lt;ref name=&amp;quot;ecma&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Laufzeitumgebung ==&lt;br /&gt;
Dart-Programme können im Browser, aber auch auf dem Server ausgeführt werden. Für Browser ist der [[Transcompiler]] Dart2js vorgesehen, der Dartcode nach JavaScript übersetzt. Die „js Library“ ermöglicht die direkte Verwendung von JavaScript-Code in Dart.&amp;lt;ref&amp;gt;{{Internetquelle|url=http://www.dartlang.org/articles/js-dart-interop/|titel=Using JavaScript from Dart: The js Library|abruf=2012-12-28|datum=September 2012}}&amp;lt;/ref&amp;gt; Seit der Dart-Version M4 ist der maschinengeschriebene JavaScript-Code im DeltaBlue-[[Benchmark]] ebenso schnell wie von der [[V8 (JavaScript-Engine)|V8]]-JavaScript-Engine ausgeführter, handoptimierter JavaScript-Code. Direkt in der DartVM ausgeführter Dart-Code ist deutlich schneller als vergleichbarer JavaScript-Code.&amp;lt;ref&amp;gt;{{Webarchiv | url=http://www.dartlang.org/performance/ | wayback=20170103041945 | text=Dart Performance}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;dart2js&amp;quot;&amp;gt;[https://www.dartlang.org/tools/dart2js/ dart2js: The Dart-to-JavaScript Compiler]&amp;lt;/ref&amp;gt; Bemerkenswert daran ist, dass der dafür verwendete Dart-nach-JavaScript-Compiler selbst in Dart geschrieben ist, und der JavaScript-Output beliebigen gültigen Dartcode in optimiertes JavaScript übersetzt. Ein Beispiel für diesen Compiler findet sich auf der Seite try.dartlang.org, die damit auch [[offline]] in allen modernen Browsern funktioniert.&amp;lt;ref&amp;gt;[http://try.dartlang.org/ TRY DART!]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://news.dartlang.org/2013/05/try-dart-in-your-browser.html dart2js: The Dart-to-JavaScript Compiler]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dart-Anwendungen werden mit einem eigenen Mimetype ausgeliefert, nämlich „application/vnd.dart“.&amp;lt;ref&amp;gt;{{Internetquelle | url=http://www.iana.org/assignments/media-types/application/vnd-dart | titel=IANA Dart Media Type | autor=IANA | datum=2011-12-14 | zugriff=2019-07-14 | archiv-url=https://web.archive.org/web/20141001061456/http://www.iana.org/assignments/media-types/application/vnd-dart | archiv-datum=2014-10-01 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Dart-SDK legt derzeit den Schwerpunkt auf clientseitige Entwicklung. Serverseitige Entwicklung wird beispielsweise mit Bibliotheken wie dart:io unterstützt.&amp;lt;ref&amp;gt;[https://www.dartlang.org/docs/serverguide.html Command-Line Apps]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine Dart-VM im Browser ist weder in Chrome noch in irgendeinem anderen Browser vorgesehen. Eine eigenständige Dart-VM wird für [[Mobile App]]s, serverseitige Programme und als Tool zur Unterstützung der Programmierer weiterentwickelt. Der Fokus der Weiterentwicklung wird auf eine möglichst hohe Produktivität für Programmierer gelegt.&amp;lt;ref&amp;gt;Lars Bak, Kasper Lund: [http://news.dartlang.org/2015/03/dart-for-entire-web.html Dart for the Entire Web] 25. März 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsziele ==&lt;br /&gt;
Die Entwicklung von Dart wird von folgenden Zielen geleitet:&amp;lt;ref name=&amp;quot;Design Goals&amp;quot;&amp;gt;{{Internetquelle |url=http://www.dartlang.org/slides/2011/10/rivieradev/dart-a-new-programming-language-for-structured-web-programming-presentation.pdf&amp;amp;sa=U |datum=2011-10-19 |titel=Dart An Introduction |zugriff=2011-10-15 |sprache=en |offline=ja}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Entwicklung einer strukturierten, aber auch flexiblen Programmiersprache für das Web.&lt;br /&gt;
* Entwicklung einer leicht erlernbaren, da auf für Programmierer vertrauten Syntax und Techniken beruhenden, Programmiersprache.&lt;br /&gt;
* Sicherstellung, dass alle Sprachkonstrukte eine hohe [[Rechenleistung|Leistung]] und einen schnellen Programmstart ermöglichen&lt;br /&gt;
* Dart sollte vor allem für Geräte geeignet sein, die mit dem Web kommunizieren, wie Telefone, Tablets, Laptops und auch Server.&lt;br /&gt;
* Unterstützung durch Tools, mit deren Hilfe Dart auf allen gängigen Webbrowsern lauffähig ist.&lt;br /&gt;
&lt;br /&gt;
== Dart Plattformen ==&lt;br /&gt;
Die flexible Kompilierungstechnologie von Dart gibt Entwicklern die Möglichkeit, Dart Code je nach Verwendungszweck auf verschiedene Art und Weisen zu kompilieren.&lt;br /&gt;
&lt;br /&gt;
=== Dart Native ===&lt;br /&gt;
Dart Native verwendet sowohl [[Just-in-time-Kompilierung|JIT]] (Just-in-time-Kompilierung) als auch [[Ahead-of-time-Compiler|AOT]] (Ahead-of-time-Kompilierung), um Maschinencode für Zielgeräte wie Smartphones, Desktops oder Server zu entwickeln und auf diesen bereitzustellen.&lt;br /&gt;
&lt;br /&gt;
=== Dart Web ===&lt;br /&gt;
Bei Dart Web kann ein jeweils eigener Compiler während der Entwicklung (dartdevc) und für die schlussendliche Website (dart2js) verwendet werden. Wie der Name bereits vermuten lässt, ist Dart Web für die Entwicklung von Web-Applikationen vorgesehen.&amp;lt;ref&amp;gt;{{Internetquelle | url=https://dart.dev/platforms | titel=Dart Plattoformen (englisch) | zugriff=2019-08-07 | archiv-url=https://web.archive.org/web/20190726222945/https://dart.dev/platforms | archiv-datum=2019-07-26 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Typisierung ==&lt;br /&gt;
Dart ist [[Optionale Typisierung|optional typisiert]]. Das bedeutet, dass Dart zwei Runtime-Modi kennt:&lt;br /&gt;
* Im &amp;#039;&amp;#039;Produktionsmodus&amp;#039;&amp;#039; sucht sich der Compiler selbständig die jeweils beste Variante und ignoriert sowohl Typisierungsanweisungen als auch Typisierungsfehler. Dieser Modus ist für möglichst effiziente Programmausführung optimiert.&lt;br /&gt;
* Im &amp;#039;&amp;#039;Checked-Modus&amp;#039;&amp;#039; werden die Typanweisungen strikt beachtet und bei Typisierungsfehlern werden [[Ausnahmebehandlung|Exceptions]] geworfen. Zudem folgt eine Prüfung auf [[Assertion (Informatik)|Assertions]]. Die aufwendige Codeanalyse macht diesen Modus langsamer als den &amp;#039;&amp;#039;Produktionsmodus&amp;#039;&amp;#039;.&lt;br /&gt;
Die Vorteile der Typisierungs-[[Annotation (Programmierung)|Annotationen]] liegen in der besseren Lesbarkeit für den Menschen und in der deutlich besseren Unterstützung der Programmierer durch [[integrierte Entwicklungsumgebung]]en oder [[Editor (Software)|Editoren]] wie beispielsweise Codevervollständigung, Navigation und frühzeitige Fehlererkennung. Programmierer, die keinerlei Typisierung einsetzen wollen, können ohne Nachteile für den Produktionsmodus darauf verzichten. Nur der JavaScript-Output ist gelegentlich nicht so gut optimierbar wie dies mit Typisierungsanweisungen möglich wäre.&amp;lt;ref&amp;gt;[https://www.dartlang.org/articles/optional-types/ Optional Types in Dart] von Gilad Bracha, im Oktober 2011 (aktualisiert im September 2012)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Werkzeuge ==&lt;br /&gt;
&lt;br /&gt;
Dart wird zusammen mit einer Reihe von Werkzeugen ausgeliefert. Die Basis bildet das &amp;#039;&amp;#039;Dart [[Software Development Kit|SDK]]&amp;#039;&amp;#039;. Dieses enthält die Standalone-VM DartVM&amp;lt;ref&amp;gt;[https://www.dartlang.org/tools/dart-vm/ dart: The Standalone VM]&amp;lt;/ref&amp;gt; und einen Dart nach JavaScript-[[Transcompiler]] namens &amp;#039;&amp;#039;dart2js&amp;#039;&amp;#039;.&amp;lt;ref name=&amp;quot;dart2js&amp;quot; /&amp;gt; Für die [[Quellcode]]analyse und Quellcodeformatierung sind die [[Befehlszeile]]werkzeuge &amp;#039;&amp;#039;dartanalyzer&amp;#039;&amp;#039; und &amp;#039;&amp;#039;dartfmt&amp;#039;&amp;#039; enthalten. Ab der Version 1.2 des SDK ist mit &amp;#039;&amp;#039;docgen&amp;#039;&amp;#039; ein [[Software-Dokumentationswerkzeug]] enthalten. Dartanwendungen basieren auf Packages und stellen selbst Packages dar, sobald mindestens eine [[Programmbibliothek]] verwendet wird. Zur Verwaltung der Dart-Anwendungen wird das [[Paketverwaltung]]ssystem &amp;#039;&amp;#039;Pub&amp;#039;&amp;#039; mitgeliefert.&amp;lt;ref&amp;gt;[https://www.dartlang.org/tools/pub/ Pub Package and Asset Manager]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ab der Version 1.4 wird auch das Analysewerkzeug &amp;#039;&amp;#039;Observatory&amp;#039;&amp;#039; für die Einsicht in die Abläufe innerhalb der DartVM bereitgestellt.&amp;lt;ref&amp;gt;[https://www.heise.de/newsticker/meldung/Googles-JavaScript-Herausforderer-Tiefe-Einblicke-in-den-Anwendungscode-mit-Dart-1-4-2195371.html Googles JavaScript-Herausforderer: Tiefe Einblicke in den Anwendungscode mit Dart 1.4]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Hallo Wikipedia ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;dart&amp;quot;&amp;gt;&lt;br /&gt;
main() {&lt;br /&gt;
    // Ausgabe einer Textzeile&lt;br /&gt;
    print(&amp;#039;Hallo, Wikipedia!&amp;#039;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Objektorientierte Programmierung ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;dart&amp;quot;&amp;gt;&lt;br /&gt;
// Mathematik-Bibliothek für die Wurzel-Funktion einbinden&lt;br /&gt;
import &amp;#039;dart:math&amp;#039; as math;&lt;br /&gt;
&lt;br /&gt;
// eine Klasse definieren&lt;br /&gt;
class Point {&lt;br /&gt;
    // einen Konstruktor über eine syntaktische Besonderheit definieren&lt;br /&gt;
    Point(num this.x, num this.y);&lt;br /&gt;
&lt;br /&gt;
    // eine Methode&lt;br /&gt;
    double distanceTo(Point other) {&lt;br /&gt;
        methodCalls++;&lt;br /&gt;
        num dx = x - other.x;&lt;br /&gt;
        num dy = y - other.y;&lt;br /&gt;
        return math.sqrt(dx * dx + dy * dy);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Member-Variablen&lt;br /&gt;
    num x, y;&lt;br /&gt;
&lt;br /&gt;
    // statische Variable&lt;br /&gt;
    static int methodCalls = 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// eine Unterklasse definieren, die von &amp;quot;Point&amp;quot; erbt&lt;br /&gt;
class ColorPoint extends Point {&lt;br /&gt;
    ColorPoint(x, y, this.color): super(x, y);&lt;br /&gt;
    var color;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
main() {&lt;br /&gt;
    Point p = Point(2, 3);&lt;br /&gt;
    Point q = ColorPoint(3, 4, &amp;#039;rot&amp;#039;);&lt;br /&gt;
    print(&amp;#039;Abstand von p nach q = ${p.distanceTo(q)}&amp;#039;);&lt;br /&gt;
    print(&amp;#039;Methoden-Aufrufe = ${Point.methodCalls}&amp;#039;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Ausgabe: Abstand von p nach q = 1.41421356237; Methoden-Aufrufe = 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Kathy Walrath, Seth Ladd: &amp;#039;&amp;#039;Dart: Up and Running&amp;#039;&amp;#039; O’Reilly, 2012, ISBN 978-1-4493-3089-7&lt;br /&gt;
* Martin Piskernig, Programmieren mit Dart, 2014&lt;br /&gt;
* Dieter Meiller, Moderne App-Entwicklung mit Dart und Flutter: Eine umfassende Einführung, 2020, ISBN 978-3-11-069064-4&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://dart.dev/ Offizielle Website]&lt;br /&gt;
* [https://www.heise.de/developer/artikel/Dart-Googles-neue-Programmiersprache-1358408.html Googles neue Programmiersprache] bei Heise Developer (10. Oktober 2011)&lt;br /&gt;
* [https://www.heise.de/developer/artikel/Ein-Jahr-JavaScript-Konkurrent-Dart-1727116.html Ein Jahr JavaScript-Konkurrent Dart] bei Heise Developer (12. Oktober 2012)&lt;br /&gt;
* Eine deutschsprachige Einführung in Dart [http://de.slideshare.net/i21aneka/dart-teil-i Teil I] und [http://de.slideshare.net/i21aneka/tour-dedartpart-ii Teil II]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Navigationsleiste Google-Programmiersprachen}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmiersprache]]&lt;br /&gt;
[[Kategorie:Google-Software]]&lt;br /&gt;
[[Kategorie:Web-Entwicklung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Trustable</name></author>
	</entry>
</feed>