Da Flutter nur ein UI-Framework ist, können Themen wie Persistenz und Datenbanken außerhalb des Geltungsbereichs liegen oder vom Anwendungsfall abhängen.
Flutter-UIs können Daten (Anwendungsstatus) für kurze Zeit auf eine Weise beibehalten, die wirklich nur zum Zwecke der Schaffung einer guten Benutzererfahrung nützlich ist (klickt diese Schaltfläche? ist sie grün? usw.)
Um nützlichere Daten außerhalb der Anwendung und auf dem eigentlichen Gerät zu speichern, sollten Sie die Shared Preferences Plugin für Flutter .
Wenn Sie nun eine zentralisierte Persistenz von Daten benötigen (z. B. RDMS, Firebase oder irgendein Datenpersistenzdienst), haben Sie folgende Möglichkeiten:
- Persistenzoptionen, die ein Flutter-Plugin haben (z. B. Firestore, Firebase)
- Erstellen Sie Ihre eigene Dienstschicht mit HTTP , gRPC das mit einem Back-End-Dienst kommuniziert, der Zugriff auf einen Datenspeicher bietet. Das geht mit Express, Rails, CloudFunctions etc.
- Was die direkte Verbindung zu einer Datenbank wie MySQL betrifft, sehe ich nicht ein, warum Sie das nicht tun könnten (vielleicht gibt es eine technische Einschränkung), aber dies wäre in praktischen Situationen eine sehr schlechte Idee, da (im Gegensatz zu Firebase/Firestore) können Sie Ihren Datenspeicher nicht mehr schützen, sobald eine Client-Anwendung Schreibzugriff hat.
Es hört sich so an, als ob Sie einen zentralen Lese-/Schreibdatenspeicher benötigen, daher ist es am besten, einen Server zu hosten, der Zugriff auf eine Datenbank bietet, während Sie Flutter eine API zur Verfügung stellen, für die Sie dart:io
verwenden können um Anfragen zu stellen.