Kurz: Dart (Google, 2011) ist eine moderne, objektorientierte Sprache mit C-ähnlicher Syntax, statischer Typisierung und Null-Sicherheit.
Teil des Kurses Dart
Was ist Dart?
Dart (Google, 2011) ist eine moderne, objektorientierte Sprache mit C-ähnlicher Syntax, statischer Typisierung und Null-Sicherheit. Sie ist die Sprache hinter Flutter, dem Framework, mit dem man aus einer Codebasis Apps für Android, iOS, Web, Windows, macOS und Linux baut. Dart kompiliert zu schnellem nativem Code (AOT) und zu JavaScript, bietet im Entwicklungsmodus aber Hot Reload: Änderungen erscheinen in der laufenden App in Sekundenbruchteilen.
Außerdem schreibt man in Dart Kommandozeilenprogramme und Server (shelf, dart_frog).
Installation und Ausführen
Installiere das Dart SDK (dart.dev) oder Flutter (enthält Dart). Online probierst du Code im DartPad (dartpad.dev).
dart main.dart # Datei ausführen
dart create meine_app # Projekt anlegen
dart run # Projekt starten
dart test # Tests
dart format . # Code formatieren
dart analyze # statische Analyse
dart pub add http # Paket hinzufügen
dart compile exe main.dart # native ausführbare DateiDas erste Programm
main.dart
void main() {
print('Hallo Dart!');
var name = 'Mia';
print('Hallo, $name!');
print('2 + 3 = ${2 + 3}');
print('Länge: ${name.length}');
print("Doppelte Anführungszeichen gehen auch");
}Ausgabe:
Hallo Dart!
Hallo, Mia!
2 + 3 = 5
Länge: 3
Doppelte Anführungszeichen gehen auchmain()ist der Einstiegspunkt- Anweisungen enden mit
; $variableund${ausdruck}setzen Werte in Strings ein- Strings stehen in
'...'oder"..." - Kommentare:
// ...,/* ... */, Dokumentation/// ...
Variablen
void main() {
var zahl = 42; // Typ int wird erschlossen
int alter = 17; // Typ ausdrücklich
double groesse = 1.68;
String name = 'Mia';
bool aktiv = true;
final heute = 'Montag'; // einmal zuweisen, zur Laufzeit
const pi = 3.14159; // Konstante zur Übersetzungszeit
dynamic beliebig = 5; // Typ kann wechseln (vermeiden)
beliebig = 'jetzt Text';
print('$zahl $alter $groesse $name $aktiv $heute $pi $beliebig');
print('${zahl.runtimeType} ${groesse.runtimeType} ${name.runtimeType} ${aktiv.runtimeType}');
int? vielleicht; // nullable: darf null sein
print(vielleicht);
vielleicht = 5;
print(vielleicht + 1);
var a = 1, b = 2;
(a, b) = (b, a); // Tausch mit Records (Dart 3)
print('$a $b');
}Ausgabe:
42 17 1.68 Mia true Montag 3.14159 jetzt Text
int double String bool
null
6
2 1Merke
- Dart ist die Sprache von Flutter: eine Codebasis für Mobil, Web und Desktop
main()als Einstieg,print, String-Interpolation$x/${...}var,final,const; typisiert und null-sicher (int?)- Werkzeuge:
dart run,dart analyze,dart format,dart pub add
Übungsaufgabe
Gib Name, Alter und das Geburtsjahr aus.
Quiz zur Selbstkontrolle
Wofür wird Dart vor allem genutzt?
- Für Flutter-Apps (richtig)
- Für Betriebssysteme
- Für Datenbanken
- Für Statistik
Was ist der Unterschied zwischen final und const?
- const steht zur Übersetzungszeit fest, final wird einmal zur Laufzeit gesetzt (richtig)
- Es gibt keinen
- final ist veränderlich
- const ist für Funktionen
Wie macht man eine Variable nullable?
- Mit ? hinter dem Typ (int?) (richtig)
- Mit ! hinter dem Typ
- Mit nullable
- Mit dynamic
Weiter im Kurs
Weiter: Typen, Strings, Null-Sicherheit und Kontrollfluss
Alle Kapitel: Dart im Überblick