This is a collection of ressources, that helped me to learn appdevelopment with Flutter and Dart.
- 0.1 FVM installation
- 0.2 XCodes installieren
Für den Start ist es hilfreich sich ersteinmal mit den Grundlagen der Programmiersprache Dart vertraut zu machen und anschließend ein grobes Gefühl für den Workflow bei der App Entwicklung zu bekommen.
- 1.1 Einführung in die Programmiersprache Dart: Dart Tour (en)
- 1.2 Was macht Flutter besonders Flutter in 10 Minuten (de)
- 1.3 (Wichtig) Dart Konzepte & Hintergründe Dart Playlist (en)
- 1.4 Workflow verstehen Anfänger Tutorial (de)
- 1.5 Kennenlernen der Widgets Widget of the Week (en)
Freezed ist ein Werkzeug, welches simplen aber umfangreichen Code automatisch generieren kann. Es ist sinnvoll sich zunächst mit freezed vertraut zu machen, da die Nutzung einger der nachfolgenden Pakete mit freezed erleichtert wird.
Bloclib ist ein Framework um Zustände (wie z.B. dargestellte Inhalte) losgelöst von der eigentlichen Dartstellung zu implementieren.
-
Installation, Nutzen und Konzepte
-
Um den Nutzen zu verstehen, die Sektion Why Bloc durchlesen
-
Die Sektion Architecture gibt bereits einen Einblick in welche Schichten professionelle Anwendungen aufgetrennt werden. (Mehr dazu kommt im Kurs Flutter TDD Clean Architecture )
-
Übungen Es empfielt sich die folgenden Flutter Tutorials in gegebener Reihenfolge nacheinander durchzuführen. Diese fangen sehr leicht an und nehmen immer weitere Konzepte mit auf. (Bitte nicht alle auf einmal!)
Um dem Anwender eine bestmögliches Nutzererlebnis zu gewährleisten, versuchen wir Exceptions während der Laufzeit zu vermeiden. Ursache von Exceptions sind meist Situationen, in denen eine Funktion oder Methode Daten abweichend von der gewünschten Form zurück gibt. Beispielsweise weil aufgrund mangelnder Internetverbindung gerade keine Daten aus dem Web abgerufen werden können. fpdart ermöglicht es ein Ergebnis zurück zu geben, welches entweder die gewonnen Daten kapselt oder auch keine und optional den Grund / Fehler dazu und somit die Notwendigkeit einer Exception elliminiert.
Um ein einheitliches System um Daten lokal auf dem Endgerät zu persistieren, bietet sich die Isar Datenbak an.
Riverpod ist ein Tool um States (Andwendungszustände) einheitlich bei Bedarf bereitzustellen. Dabei können bereits bestehdende Bloc Klassen verwendet werden. Da die Dokumentation etwas knapp bemessen ist, lohnt es sich den Quellcode der Beispielanwendungen anzusehen.
Mit AutoRoute kann die Navigation einer Flutter Anwendung einfacher realisiert werden. Daneben ist es möglich Parameter zu übergeben.
Dieses Template sollte als Grundlage für die Flutter-Entwicklung genutzt werden. Die Architektur wird unter der Sektion 3. Flutter Architecture erklärt.
Flutter TDD Clean Architecture | Skript (en) Flutter TDD Clean Architecture | Videokurs (en)
- GitGame: learn git branching
- Naming Guidelines