Lars Bak und Kaspar Lund
Dart, entwickelt von Lars Bak und Kaspar Lund bei Google und erstmals 2011 veröffentlicht, ist eine objektorientierte Programmiersprache, die für die Entwicklung von Web- und mobilen Anwendungen konzipiert wurde. Dart wird häufig in Verbindung mit dem Framework Flutter verwendet, das es ermöglicht, plattformübergreifende mobile Anwendungen mit einer einzigen Codebasis zu erstellen.
Bekannte Beispiele für Anwendungen, die mit Dart und Flutter entwickelt wurden, sind die mobilen Apps Google Pay, Google Earth, Google Classroom und die App von Alibaba. Heutzutage ist Dart immer noch relevant, insbesondere in der mobilen App-Entwicklung, da Flutter eine wachsende Popularität genießt und eine effiziente und konsistente Entwicklungserfahrung über verschiedene Plattformen hinweg bietet.
Dart-Programme werden in Textdateien mit der Endung .dart
geschrieben. Diese Dateien werden anschließend von einem Compiler in ausführbare Dateien übersetzt, die auf deinem Computer direkt ausgeführt werden können.
Stelle zuerst sicher, dass du keinen Ordner geöffnet hast. Um sicherzugehen, drücke einfach den Shortcut für »Ordner schließen«: StrgK und dann F. Dein Workspace sollte jetzt ungefähr so aussehen:
Klicke auf »New File« und wähle als Dateityp »Text File«.
Schreibe nun den folgenden Code in die Datei:
1 2 3 |
void main() { print('Hello, World!'); } |
Da Visual Studio Code noch nicht weiß, dass es sich um Dart-Quelltext handelt, ist dein Programm momentan noch einfarbig, aber das wird sich gleich ändern. An dem weißen Punkt erkennst du, dass deine Änderungen noch nicht gespeichert sind.
Drücke nun StrgS, um die Datei zu speichern. Gib hello.dart
ein – der vollständige Pfad zu deiner Datei lautet dann /workspace/hello.dart
.
Sobald du die Datei gespeichert hast, wird sie automatisch als Dart-Datei erkannt und die Syntax wird hervorgehoben.
Um unser Programm auszuführen, müssen wir den Dart-Compiler aufrufen und ihm den Dateinamen unseres Programms übergeben.
Öffne dazu ein Terminal, indem du StrgJ drückst und gib folgenden Befehl ein:
dart run hello.dart
dart run he
und drücke Tab, um den Dateinamen automatisch zu hello.dart
vervollständigen zu lassen. Du kannst danach ganz normal weiterschreiben.
Das Programm sollte die Nachricht Hello, World!
im Terminal ausgeben:
Telemetrie ist eine Funktion von Dart, die Informationen über die Ausführung des Programms sammelt und an Google sendet. Diese Informationen helfen den Entwicklern von Dart, die Sprache zu verbessern. Um zu verhindern, dass Telemetrie-Daten gesendet werden, gib den folgenden Befehl wie angegeben ein:
dart --disable-analytics
Du solltest nun eine Bestätigung sehen, dass die Telemetrie deaktiviert wurde:
Wenn wir das Programm erneut ausführen, sollte es die Nachricht Hello, World!
ohne die Meldung zur Telemetrie ausgeben:
Wenn du einen Fehler im Code machst, wird Ruby eine Fehlermeldung ausgeben. Versuche zum Beispiel, statt print
das Wort prin
zu schreiben:
prin('Hello, World!');
Speichere die Datei und führe das Programm erneut aus:
dart run hello.dart
Dart sollte eine Fehlermeldung ausgeben, die dir hilft, den Fehler zu finden:
Es lohnt sich, die Fehlermeldungen genau zu lesen, um den Fehler zu finden und zu beheben. Achte auf die Zeilennummer (in diesem Beispiel 2) und den Text, der dir sagt, was falsch ist. Denke daran, den Fehler wieder zu beheben, bevor du das nächste Beispiel ausprobierst.
Im zweiten Beispiel wollen wir eine Zahl in ihre Primfaktoren zerlegen. An diesem Beispiel kannst du sehen, wie man in Dart Benutzereingaben verarbeitet und Schleifen verwendet. Erstelle eine neue Datei mit StrgAltN und schreibe den folgenden Code hinein:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import 'dart:io'; void main() { stdout.write('Enter a number: '); int number = int.parse(stdin.readLineSync()!); stdout.write('Prime factors of $number are: '); for (int i = 2; i <= number; i++) { while (number % i == 0) { stdout.write('$i '); number ~/= i; } } stdout.writeln(); } |
Speichere die Datei unter dem Namen factor.dart
und führe sie aus:
Das Programm hat die Zahl 123 in ihre Primfaktoren zerlegt und ausgegeben. Anders als andere Programmiersprachen kann Dart auch die Zahl 3000000000 in Sekundenbruchteilen zerlegen. Auch mit einer sehr großen Zahl wie 123456789123456789 kommt das Programm problemlos zurecht. Falls du auf eine Zahl stoßen solltest, die so groß ist, dass das Programm sehr lange braucht, kannst du das Programm mit StrgC abbrechen.
Im dritten Beispiel wollen wir eine Liste von 10 Zufallszahlen sortieren. Dafür verwenden wir den Bubblesort-Algorithmus, der zwar nicht besonders effizient ist, aber sehr einfach zu verstehen und zu implementieren. Der Bubblesort-Algorithmus funktioniert, indem er die Liste mehrmals durchläuft und benachbarte Elemente vertauscht, wenn sie in der falschen Reihenfolge sind.
An diesem Beispiel kannst du sehen, wie man in Dart Listen verwendet, Funktionen verwendet und Schleifen verschachtelt.
Erstelle eine neue Datei und schreibe den folgenden Code hinein:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
import 'dart:math'; void main() { List<int> numbers = generateRandomNumbers(10); print('Original array: $numbers'); bubbleSort(numbers); print('Sorted array: $numbers'); } List<int> generateRandomNumbers(int count) { Random random = Random(); List<int> numbers = []; for (int i = 0; i < count; i++) { numbers.add(random.nextInt(100)); } return numbers; } void bubbleSort(List<int> numbers) { int n = numbers.length; for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - i - 1; j++) { if (numbers[j] > numbers[j + 1]) { int temp = numbers[j]; numbers[j] = numbers[j + 1]; numbers[j + 1] = temp; } } } } |
Speichere das Skript unter dem Namen bubblesort.dart
und führe es aus:
Das Programm hat eine Liste von 10 Zufallszahlen sortiert. Versuche, den Quelltext so zu verändern, dass statt 10 Zahlen 100 oder mehr Zahlen sortiert werden.
In diesem Kapitel hast du an drei Beispielen gesehen, wie man ein einfaches Dart-Programm schreiben und ausführen kann. Das ist natürlich nur ein erster Eindruck. Um Dart wirklich zu beherrschen, musst du noch viel mehr lernen – am besten, indem du eigene Skripte schreibst und ausprobierst. Die Buchhandlungen, Bibliotheken und Youtube sind voll von Material für dich. Viel Spaß beim Programmieren!