Dado que Flutter es solo un marco de interfaz de usuario, temas como la persistencia y las bases de datos pueden estar fuera del alcance o pueden depender del caso de uso.
La interfaz de usuario de Flutter puede conservar los datos (estado de la aplicación) durante períodos cortos de tiempo de una manera que en realidad solo es útil para crear una buena experiencia de usuario (¿se hace clic en este botón? ¿Es verde? etc.)
Para conservar datos más útiles fuera de la aplicación y en el dispositivo real, es posible que desee considerar Complemento de preferencias compartidas para Flutter .
Ahora, si necesita datos persistentes de forma centralizada (por ejemplo, RDMS, Firebase o cualquier servicio de persistencia de datos), sus opciones son:
- Opciones de persistencia que tienen un complemento Flutter (por ejemplo, Firestore, Firebase)
- Cree su propia capa de servicio usando HTTP , gRPC que habla con algún servicio de back-end que proporciona acceso a un almacén de datos. Puede hacerlo con Express, Rails, CloudFunctions, etc.
- En cuanto a conectarse directamente a una base de datos como MySQL, no veo por qué no podría hacerlo (tal vez haya alguna limitación técnica), pero sería una muy mala idea en cualquier situación práctica ya que (a diferencia de Firebase/Firestore), no podrá proteger su almacén de datos una vez que cualquier aplicación cliente tenga acceso de escritura.
Parece que necesita un almacén de datos central de lectura/escritura, por lo que su mejor opción puede ser alojar un servidor que brinde acceso a una base de datos mientras expone una API a Flutter para la cual puede usar dart:io
para hacer solicitudes.