Zum Inhalt

Einführung in Flutter und Dart

Begleitmaterial zur Veranstaltung “Human Computer Interaction” (Modulnummer 30.7328).

Die folgenden Inhalte dienen als Richtlinie für die Umsetzung der Semesterprojekt-App. Jedes der aufgeführten Themen sollte sich in einer Funktion innerhalb der App wiederfinden.

Inhalte

  1. Introduction to Flutter
  2. Foundations about the programming language “Dart”
  3. How to build a basic Flutter app
  4. Widgets
  5. Interactivity and Behaviour
  6. Layout
  7. Navigational Elements
  8. Navigation between Screens
  9. Exchanging Data between Screens
  10. State Management (Storage and Recovery of State Data across the App)
  11. Collections
  12. Persisting Data (Local Storage and Serialization)
  13. Fetch Data from the Internet
  14. Processing JSON Data
  15. Asychronity in Dart and Flutter
  16. Recommended .gitignore-settings
  17. How to use the Snackbar
  18. Example #1

Diese Elemente sollten in die App

Diese Sprachelemente sollten sich in der App wiederfinden

  • App bestehend aus mehreren Screens
  • Navigation zwischen Screens
  • Anzeigen von Grafiken
  • Nutzung der ListView oder ListTile
  • Datenabruf von einer externen Quelle
  • Speicherung des App-Zustands
  • Globales Zustandsmodell für Widget-übergreifende Daten
  • (optional) Zugriff auf das Kameramodul
  • Asynchronität (bspw. asynchroner Datenabruf)
  • Verarbeitung von JSON (bspw. als Resultat eines API-Aufrufs)
  • Zurücksetzen der Einstellungen bzw. globalen App-Daten
  • Unmittelbare Rückmeldung bei Benutzungseingaben
  • ein Fehler-vermeidendes Design der UI
  • Zustand der App zu jeder Zeit sichtbar
  • Speicherung von Daten lokal (bspw. mittels SharedPreferences oder als serialisiertes File)

Diese Elemente brauchen Sie nicht zu implementieren

Diese Elemente müssen Sie nicht implementieren

  • Benutzendenverwaltung
  • Backend
  • Full-fledged Datenbank
  • Alle im User Research erarbeiteten Begeisterungsfaktoren (diese können Sie mocken); zumindest einer sollte jedoch in der App enthalten sein
  • Bei mehreren Rollen: die volle Funktionalität für jede Rolle; konzentrieren Sie sich auf eine Rolle; wenn Sie mehr machen (wollen) ist das natürlich vorteilhaft und fließt in die Bewertung mit ein.
  • Kein Update von Web Resourcen
  • Kein Senden oder Löschen von Daten an einem Endpoint