Dart-Befehle – Schnellreferenz für Flutter-Entwicklung
Dart ist die Programmiersprache von Google hinter dem UI-Framework Flutter. Dart-Code läuft nativ auf Mobilgeräten, Desktop und im Web (via JavaScript/Wasm). Die Syntax ist bewusst an Java und JavaScript angelehnt – wer eine davon kann, steigt schnell ein.
Grundgerüst und Ausgabe
void main() {
print('Hallo Welt');
}
Jedes Dart-Programm startet in main(). print() gibt Text aus, Strings lassen sich mit $variable oder ${ausdruck} interpolieren.
Variablen und Typen
var name = 'Lübeck'– Typ wird automatisch erkannt.final– Wert wird einmal gesetzt (zur Laufzeit), danach unveränderlich.const– Wert ist schon zur Kompilierzeit konstant.- Basistypen:
int,double,String,bool,List,Map,Set.
Null-Safety (wichtigster Unterschied zu vielen Sprachen)
Dart unterscheidet strikt zwischen String (darf nie null sein) und String? (darf null sein). Operatoren: ? (nullable), ! („ich weiß, es ist nicht null"), ?? (Fallback: a ?? b = a, falls nicht null, sonst b), ??= (setze nur, wenn aktuell null), late (wird später initialisiert). Das verhindert eine ganze Klasse von Laufzeitfehlern – die Analyse läuft schon beim Kompilieren.
Kontrollfluss und Funktionen
for (var i = 0; i < 5; i++) { }
for (final item in liste) { }
if (x > 0) { } else { }
int addieren(int a, int b) => a + b; // Kurzform mit Arrow
void gruss({required String name, int alter = 0}) {
print('Hallo $name');
}
Benannte Parameter stehen in geschweiften Klammern, required erzwingt sie, optionale haben Defaults.
Async/Await und Collections
Future<String> ladeDaten() async {
await Future.delayed(Duration(seconds: 1));
return 'fertig';
}
var zahlen = [1, 2, 3];
var verdoppelt = zahlen.map((n) => n * 2).toList();
Future ist ein Wert, der später kommt, Stream eine Folge von Werten. Mit async/await liest sich asynchroner Code wie synchroner – vergleichbar mit JavaScript-Promises.
Flutter-Grundgerüst
class MeineApp extends StatelessWidget {
Widget build(BuildContext context) {
return MaterialApp(home: Scaffold(body: Text('Hallo')));
}
}
StatelessWidget für statische, StatefulWidget für zustandsbehaftete Oberflächen. Alles in Flutter ist ein Widget: Layout, Text, Buttons, Abstände.
Weiterführend: Python-Befehle, JavaScript-Befehle und HTML & CSS.