Flutter: Unterschied zwischen den Versionen

Aus CodicaTipps
Zur Navigation springen Zur Suche springen
Zeile 62: Zeile 62:
 
=== Datenbank ===
 
=== Datenbank ===
  
==== SurrealDB =====
+
==== SurrealDB ====
  
 
[[SurrealDB]] kann mit dem Package [https://github.com/duhanbalci/surrealdb_flutter surrealdb von Duhanbalci] genutzt werden.
 
[[SurrealDB]] kann mit dem Package [https://github.com/duhanbalci/surrealdb_flutter surrealdb von Duhanbalci] genutzt werden.

Version vom 7. Januar 2025, 12:00 Uhr


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, Netzwerk-Zugriff ...)

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

Libraries

AppState-Libraries

Sehr einfache AppState-Libraries sind

  • get_it und
  • watch_it

UI-Libraries

Datenbank

SurrealDB

SurrealDB kann mit dem Package surrealdb von Duhanbalci genutzt werden.

Problem mit Websocket-Subprotokoll

Stand Jan. 2025 gibt es noch ein Problem mit einem "Subprotokoll" der Websocket-Schnittstelle. Näheres dazu unter dem (allerdings geschlossenen) Issue auf GitHub.

Weiterführendes

Siehe