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¶
- Introduction to Flutter
- Foundations about the programming language “Dart”
- How to build a basic Flutter app
- Widgets
- Interactivity and Behaviour
- Layout
- Navigational Elements
- Navigation between Screens
- Exchanging Data between Screens
- State Management (Storage and Recovery of State Data across the App)
- Collections
- Persisting Data (Local Storage and Serialization)
- Fetch Data from the Internet
- Processing JSON Data
- Asychronity in Dart and Flutter
- Recommended .gitignore-settings
- How to use the Snackbar
- 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
oderListTile
- 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