2. Quellcode
Quellcode ist das, was du schreibst: Dart-Dateien, Flutter-Widgets, Klassen,
Funktionen und Konfigurationen wie pubspec.yaml.
lib/
main.dart
pubspec.yaml
Lektion 18 - Kompilierung
Kompilierung bedeutet: Quellcode wird geprueft, analysiert und in eine Form uebersetzt, die ausgefuehrt werden kann. Bei Dart und Flutter ist das besonders spannend, weil Entwicklung und fertige App unterschiedlich gebaut werden.
Du schreibst menschenlesbaren Code. Tools machen daraus maschinennaehere oder plattformspezifische Ausgabe. Dazwischen werden Fehler gesucht, Typen geprueft und Optimierungen vorbereitet.
Quellcode
-> Analyse
-> Abhaengigkeiten laden
-> Uebersetzung
-> Optimierung
-> ausfuehrbares Programm oder App-Bundle
Quellcode ist das, was du schreibst: Dart-Dateien, Flutter-Widgets, Klassen,
Funktionen und Konfigurationen wie pubspec.yaml.
lib/
main.dart
pubspec.yaml
Analyse bedeutet: Das Tool prueft deinen Code, bevor ein Build entsteht. Dabei werden Typfehler, ungenutzte Variablen, falsche Imports und viele Stilprobleme gefunden.
dart analyze
flutter analyze
Dart kann je nach Einsatz verschieden arbeiten. Genau deshalb begegnen dir Begriffe wie JIT, AOT, Debug und Release.
JIT bedeutet: Code wird zur Laufzeit beziehungsweise sehr nah an der Laufzeit uebersetzt. Das ist fuer Entwicklung praktisch, weil Aenderungen schnell ausprobiert werden koennen.
flutter run
-> Debug-Modus
-> Hot Reload moeglich
-> schneller Entwicklungsfluss
JIT ist gut fuer Lernen, Testen und schnelles Veraendern.
AOT bedeutet: Code wird vor der Auslieferung kompiliert. Dadurch startet die App schneller und laeuft optimierter. Das nutzt du fuer fertige Apps.
flutter build apk
flutter build appbundle
flutter build web
AOT ist gut fuer Nutzerinnen und Nutzer, weil die App nicht im Debug-Modus laufen soll.
debugEntwicklung, Hot Reload, viele Diagnose-HilfenprofilePerformance messen mit weniger Debug-OverheadreleaseFertige App, optimiert, ohne Debug-Hilfenflutter run
flutter run --profile
flutter run --release
Wenn eine Aenderung nicht sichtbar wird, obwohl der Code stimmt, probiere Hot Restart.
Bei reinen Dart-Programmen kannst du Konsolencode ausfuehren oder zu einer ausfuehrbaren Datei kompilieren.
dart run bin/main.dart
dart compile exe bin/main.dart
dart run ist praktisch beim Entwickeln. dart compile exe erstellt
eine eigenstaendig ausfuehrbare Datei fuer dein System.
flutter build apkAndroid APK-Dateiflutter build appbundleAndroid App Bundle fuer Play Storeflutter build webWeb-Dateien in build/webflutter build windowsWindows-Desktop-App, wenn eingerichtetflutter build iosiOS-Build auf macOS mit Xcode
Nach einem Build landet die fertige Ausgabe meistens im Ordner build/.
Dort liegen Dateien, die nicht direkt dein Quellcode sind, sondern Ergebnis des
Build-Prozesses.
build/
app/
outputs/
flutter-apk/
app-release.apk
web/
index.html
main.dart.js
assets/
Build-Ordner sind Ergebnisdateien. Du bearbeitest normalerweise weiter in lib/,
nicht direkt in build/.
pubspec.yaml falsch oder Pakete fehlenpubspec.yaml falsch eingetragenEin guter Ablauf verhindert, dass du erst ganz am Ende merkst, dass etwas kaputt ist.
flutter pub get
flutter analyze
flutter test
flutter run
flutter build web
flutter build apk
Nicht jedes Projekt hat Tests. Wenn Tests vorhanden sind, sollten sie vor Release-Builds laufen.
Plane einen Build-Prozess fuer ein Flutter-Projekt als klare technische Checkliste.
Starte Build-Prozess
Fuehre flutter pub get aus
Wenn Abhaengigkeiten fehlschlagen:
Zeige Dependency-Fehler
Stoppe Prozess
Fuehre flutter analyze aus
Wenn Analyse Fehler findet:
Zeige Analysefehler
Stoppe Prozess
Wenn Tests vorhanden sind:
Fuehre Tests aus
Wenn Tests fehlschlagen:
Zeige Testfehler
Stoppe Prozess
Wenn Ziel Plattform Web ist:
Fuehre flutter build web aus
Wenn Ziel Plattform Android ist:
Fuehre flutter build apk aus
Zeige Pfad zur Build-Ausgabe
flutter run und flutter build web.