Flutter
- Flutter ist ein Open Source-Framework, um native Android-, iOS-, Linux- und Windows- sowie Web-Anwendungen zu bauen.
- mit Fluxbuilder
Als Programmiersprache wird Dart genutzt. Die Benutzerelemente sehen zwar aus wie native Elemente; sie werden aber auf Pixelbasis von den Flutter-Komponenten selbst errechnet.
Programmierparadigmen
State Management
Das State Management ist ähnlich demjenigen von React und React Native, allerdings klassenbasiert. Die neueren funktionsbasierten Hooks (useXXX) aus der React-Welt gibt es in Flutter nicht. Dafür gibt es viele ähnliche App-State-Management-Libraries, teilweise Übertragungen aus der React-Welt wie Redux und MobX.
Das State-Management erfolgt (ohne Library-Ergänzung) mit
- StatefulWidget oder
- InheritedWidget.
Man kann sich für eine App drei Schichten vorstellen:
- UI (möglichst keine Logik, keine veränderbaren Daten)
- App State-Management (nur Logik und Daten)
- Business Logic (nur Logik und Daten, Persistenz)
Siehe auch
immutable state
Benütze so oft als möglich "final"!
Besonderheiten
Dateizugriff auf Media-Dateien beschränkt
Beim Auflisten des Inhalts eines Verzeichnisses erscheinen Dateien nicht. Das liegt daran, dass standardmäßig unter Android keine Berechtigungen erlaubt sind, andere Dateien als Media-Dateien (JPEG, PDF etc) zu lesen.
Man muss die Berechtigungen sowohl in die Manifest.xml eintragen als auch vom Benutzer anfordern. Siehe Permission.request in plugin permission_handler. In Frage kommen insbesondere:
- READ_MEDIA_IMAGES
- READ_MEDIA_VIDEO
- READ_MEDIA_AUDIO
oder
Siehe