Pro­gram­mier­spra­chen gibt es fast wie Sand am Meer. Unter den zahl­rei­chen Ver­tre­tern findet sich auch die ziemlich neue Pro­gram­mier­spra­che Dart. Wenn man ver­schie­de­ne Internet-Pro­gram­mier­spra­chen ver­gleicht, sind grund­le­gen­de Pro­gram­mier­pa­ra­dig­men meist sehr ähnlich. Erst in der Tiefe und in den Details er­schlie­ßen sich Un­ter­schie­de.

Aktuell ent­wi­ckel­te Pro­gram­mier­spra­chen widmen sich oft der Rea­li­sie­rung von mobilen An­wen­dun­gen für Smart­phones oder Tablets. Dabei soll die genutzte Sprache mit möglichst wenig Syntax eine gute Nut­zer­er­fah­rung (UX) er­mög­li­chen und zugleich sparsam mit dem ver­füg­ba­ren Speicher der Endgeräte umgehen. Wo Googles Pro­gram­mier­spra­che Dart dabei ein­zu­ord­nen ist und was sie so draufhat, erfahren Sie im Folgenden.

Was ist die Pro­gram­mier­spra­che Dart?

Dart ist eine Pro­gram­mier­spra­che, die haupt­säch­lich von Google ent­wi­ckelt wurde und wird. Sie ist ECMA-stan­dar­di­siert (die ECMA ist eine in­ter­na­tio­na­le Or­ga­ni­sa­ti­on zur Normung von In­for­ma­ti­ons- und Kom­mu­ni­ka­ti­ons­sys­te­men und Un­ter­hal­tungs­elek­tro­nik). Pro­gram­mie­rung in Dart soll eine at­trak­ti­ve Al­ter­na­ti­ve zu Ja­va­Script in modernen Web­brow­sern sein. Nach Auf­fas­sung der Dart-Ent­wick­ler lassen sich die Schwächen von Ja­va­Script nicht mehr durch Wei­ter­ent­wick­lung beheben.

Die Dart-Sprache wurde ab 2010 ent­wi­ckelt und im Jahr darauf erstmals vor­ge­stellt. Da Browser nicht nativ damit umgehen konnten und können und Ja­va­Script in allen modernen Browsern aus­ge­führt werden kann, gibt es den Compiler Dart2js, also „Dart zu Ja­va­Script“. Die Sprache Dart ähnelt eta­blier­ten ob­jekt­ori­en­tier­ten Pro­gram­mier­spra­chen, zu denen Swift, C# oder Java gehören, die sich be­stimm­ten Pro­gram­mier­pa­ra­dig­men un­ter­ord­nen. Die Regeln zur Kom­bi­na­ti­on von fest­ge­leg­ten Zeichen – die Syntax – ähneln der Pro­gram­mier­spra­che C. Diese „Ver­wandt­schaft“ macht den Zugang recht einfach, so dass man ein­stei­gen kann, ohne große Sprach­bar­rie­ren über­win­den zu müssen.

Wie ist Dart aufgebaut?

Die Pro­gram­mier­spra­che Dart verfügt über Variablen, Ope­ra­to­ren, bedingte An­wei­sun­gen, Schleifen, Funk­tio­nen, Klassen, Objekte und Auf­zäh­lun­gen. Sie bietet Vererbung und ge­ne­ri­sche Pro­gram­mie­rung als wichtige Konzepte einer ob­jekt­ori­en­tier­ten Sprache an – vieles kommt einem er­fah­re­nen Pro­gram­mie­rer bekannt vor. Zum ersten Aus­pro­bie­ren steht die kos­ten­lo­se Open­So­ur­ce-Plattform DartPad zur Verfügung, auf der man sich an die Pro­gram­mie­rung mit der Dart-Sprache her­an­tas­ten kann und auch gleich ein paar Beispiele als Drop-down-Menü vorfindet.

Jedes in Dart ge­schrie­be­ne Programm beginnt mit dem Aufruf der „Main“-Funktion.

void main() {
}

Als Beispiel eine Fest­le­gung einer Variable und die Aus­füh­rung einer Be­din­gungs­ab­fra­ge:

void main() {
    var tier = 'Pferd';
    if (tier == 'Katze' || tier == 'Hund') {
        print('Das Tier ist ein Haustier.');
        } else if (tier == 'Elefant') {
        print('Das ist eine riesiges Tier.');    
     } else {
        print('Das Tier ist kein Haustier.');
     }
}

Das erzeugt mittels Dart-Pad die Ausgabe auf dieser Konsole:

Ersetzen Sie in der Variable „tier“ (var tier) das „Pferd“ einmal durch „Katze“, „Hund“ oder „Elefant“ und be­ob­ach­ten Sie die Ver­än­de­run­gen in der Ausgabe auf der Konsole rechts. Aus­führ­li­cher stellen wir die Dart-Pro­gram­mie­rung in unserem Dart-Tutorial vor.

Wofür wird Dart ein­ge­setzt?

Ent­wick­lun­gen mit der Sprache Dart dienen zu­al­ler­erst Geräten, die mit dem Internet kom­mu­ni­zie­ren, also Smart­phones, Tablets und Laptops, aber auch Server. Vor allem für Pro­gram­mier­an­fän­ger war es bisher wenig rea­lis­tisch, mobile oder web­ba­sier­te Ap­pli­ka­tio­nen selbst zu ent­wi­ckeln. Der Ansatz der Pro­gram­mier­spra­che Dart zielt darauf ab, das Pro­gram­mie­ren solcher Apps einfacher zu gestalten. Googles eigenes Software De­ve­lo­p­ment Kit (SDK) Flutter ist mit Dart pro­gram­miert, ebenso wie das bekannte Werbetool Google Ads. Weitere Beispiele sind die Webseiten der New York Times oder von GROUPON. Mit dem bereits genannten DartPad steht eine kom­for­ta­ble Mög­lich­keit zur Verfügung, sich einer Pro­gram­mier­spra­che mit der Methode „Try and Error“ zu nähern und sich so grund­le­gen­de Kennt­nis­se an­zu­eig­nen.

Was sind die Stärken und Schwächen von Dart?

Dart bringt eine Reihe von Vorteilen, doch auch ein paar Nachteile mit sich:

Vorteile

Die Dart-Sprache ist Open Source und somit für jedermann kostenlos zu­gäng­lich. Hinter Dart steht Google, ein großes Un­ter­neh­men – das bietet eine lang­fris­ti­ge Per­spek­ti­ve für die Wei­ter­ent­wick­lung der Sprache. Dart ist für Pro­gram­mie­rer aufgrund ihrer Syntax leicht erlernbar. Die Ent­wick­ler haben viele um­ständ­li­che Be­griffs­wel­ten anderer Sprachen ver­ein­facht und in­tel­li­gent zu­sam­men­ge­fasst. Wer schon einmal Be­kannt­schaft mit C# gemacht hat, wird sehr schnell mit Dart zu­recht­kom­men. Die Pro­gram­mier­spra­che ist für das Web ent­wi­ckelt worden. Durch direkte (und sehr schnelle) Über­set­zung in Ja­va­Script funk­tio­niert Dart auf allen modernen mobilen und Desktop-Browsern. Zur Ent­wick­lungs­ar­beit-Arbeit genügt ein einfacher Text­edi­tor. Dazu sind jedoch tie­fer­ge­hen­de Kennt­nis­se der Pro­gram­mier­spra­che nötig. Besser arbeitet es sich mit spe­zi­el­len Editoren wie Android Studio (Google) oder Visual Studio Code (Microsoft).

Nachteile

Die Dart-Pro­gram­mier­spra­che ist relativ neu, was zur Folge hat, dass die sich un­ter­ein­an­der helfende Community noch nicht so groß ist und Lern­ma­te­ria­li­en nicht in dem Umfang wie für Ja­va­Script zur Verfügung stehen. Es darf aber an­ge­nom­men werden, dass sich das recht zügig ver­bes­sern wird. Die Erst­in­stal­la­ti­on eines Editors und des da­zu­ge­hö­ri­gen tech­ni­schen Hin­ter­grunds auf einem Rechner ist zwar gut do­ku­men­tiert, aber mit Tücken behaftet. Kritiker bemängeln zudem, dass schon wieder eine neue Sprache auf den Markt gebracht wurde, anstatt be­stehen­de zu per­fek­tio­nie­ren.

Wie un­ter­schei­det sich Dart von anderen Pro­gram­mier­spra­chen?

Ein we­sent­li­cher Un­ter­schied zu anderen Pro­gram­mier­spra­chen besteht darin, dass Googles Dart einfacher lesbar ist, da die Syntax nahe an der mensch­li­chen Sprache gehalten wurde. Es gibt weniger Befehle, jedoch mehr Mög­lich­kei­ten. Be­zeich­nun­gen für Variablen kann man frei wählen und somit den selbst ge­schrie­be­nen Code ver­ständ­lich halten. Das spart auch viele zu­sätz­li­che Kom­men­ta­re. Die Ver­wen­dung von Leer­zei­chen, Tabs und Zei­len­um­brü­chen ist beliebig gestattet. Damit können Sie als Pro­gram­mie­rer den Code gut struk­tu­rie­ren, was letztlich vom Compiler ignoriert wird. Ausnahmen sind Schlüs­sel­wör­ter, Variablen- oder Funk­ti­ons­na­men – also alle fest­ste­hen­den Be­griff­lich­kei­ten innerhalb der Dart-Sprache. Dazu gehören z. B. „if“, „else“, „string“, „void“ und weitere. Letztlich wird auch zwischen Groß- und Klein­schrei­bung un­ter­schie­den, was den Spielraum für Be­nen­nun­gen deutlich erweitert.

Die Ent­wick­ler­platt­form Stack Overflow hat 2019 in einer Analyse über die be­lieb­tes­ten Pro­gram­mier­spra­chen fest­ge­stellt, dass Dart mit 66,3 Prozent kurz hinter Ja­va­Script (66,8 Prozent) lag.

Zum Hauptmenü