Patrones de diseño de arquitectura
Una colección de artículos sobre patrones de diseño útiles para construir aplicaciones Flutter.
Si ya has leído la página de la guía de arquitectura, o si te sientes cómodo con Flutter y el patrón MVVM, los siguientes artículos son para ti.
Estos artículos no tratan sobre la arquitectura de aplicaciones de alto nivel, sino sobre cómo resolver problemas de diseño específicos que mejoran la base de código de tu aplicación, independientemente de cómo la hayas estructurado. Dicho esto, los artículos sí asumen el patrón MVVM expuesto en las páginas anteriores para los ejemplos de código.
State optimista
Mejora la percepción de capacidad de respuesta de una aplicación implementando un State optimista.
Al construir experiencias de usuario, la percepción del rendimiento es a veces tan importante como el rendimiento real del código. En general, a los usuarios no les gusta esperar a que termine una acción para ver el resultado, y cualquier cosa que tarde más de unos pocos milisegundos podría considerarse "lenta" o "sin respuesta" desde la perspectiva del usuario.
Los desarrolladores pueden ayudar a mitigar esta percepción negativa presentando un UI State exitoso antes de que la tarea en segundo plano se complete por completo. Un ejemplo de esto sería tocar un botón de "Suscribirse" y ver cómo cambia a "Suscrito" instantáneamente, incluso si la llamada en segundo plano a la ...
Arquitectura de almacenamiento persistente: Datos clave-valor
Guarda los datos de la aplicación en el almacenamiento de clave-valor del dispositivo del usuario.
La mayoría de las aplicaciones Flutter, sin importar cuán pequeñas o grandes sean, requieren almacenar datos en el dispositivo del usuario en algún momento, como claves de API, preferencias de usuario o datos que deberían estar disponibles sin conexión.
En esta receta, aprenderás a integrar el almacenamiento persistente para datos clave-valor en una aplicación Flutter que utiliza el diseño de arquitectura de Flutter recomendado. Si no estás familiarizado en absoluto con el almacenamiento de datos en el disco, puedes leer la receta de Almacenar datos clave-valor en el disco.
Los almacenes de clave-valor a menudo se utilizan para guardar datos simples, como la configuración de la aplicación, y en esta receta...
Arquitectura de almacenamiento persistente: SQL
Guarda datos complejos de la aplicación en el dispositivo del usuario con SQL.
La mayoría de las aplicaciones Flutter, sin importar cuán pequeñas o grandes sean, podrían requerir almacenar datos en el dispositivo del usuario en algún momento. Por ejemplo, claves de API, preferencias de usuario o datos que deberían estar disponibles sin conexión.
En esta receta, aprenderás a integrar el almacenamiento persistente para datos complejos usando SQL en una aplicación Flutter siguiendo el patrón de diseño de la Arquitectura de Flutter.
Para aprender a almacenar datos clave-valor más sencillos, echa un vistazo a la receta del Cookbook: Arquitectura de almacenamiento persistente: Datos clave-valor.
Para leer esta receta, deberías estar familiarizado con SQL y SQLite. Si necesitas ayuda, tú...
Soporte offline-first
Implementa el soporte offline-first para una funcionalidad en una aplicación.
Una aplicación offline-first es aquella capaz de ofrecer la mayor parte o la totalidad de su funcionalidad mientras está desconectada de Internet. Las aplicaciones offline-first suelen depender de los datos almacenados para ofrecer a los usuarios acceso temporal a datos que de otro modo solo estarían disponibles en línea.
Algunas aplicaciones offline-first combinan datos locales y remotos a la perfección, mientras que otras informan al usuario cuando la aplicación está utilizando datos almacenados en caché. Del mismo modo, algunas aplicaciones sincronizan los datos en segundo plano mientras que otras requieren que el usuario los sincronice explícitamente. Todo depende de los requisitos de la aplicación y de la funcionalidad que ofrezca, y es...
El patrón Command
Simplifica la lógica del view model implementando una clase Command.
Model-View-ViewModel (MVVM) es un patrón de diseño que separa una funcionalidad de una aplicación en tres partes: el modelo, el view model y la view. Las views y los view models componen la capa de UI de una aplicación. Los repositorios y servicios representan la capa de datos de una aplicación, o la capa de modelo de MVVM.
Un comando es una clase que envuelve un método y ayuda a manejar los diferentes estados de ese método, como en ejecución, completado y con error.
Los view models pueden usar comandos para manejar la interacción y ejecutar acciones. También puedes usarlos para mostrar diferentes estados de la UI, ...
Manejo de errores con objetos Result
Mejora el manejo de errores en las clases con objetos Result.
Dart proporciona un mecanismo de manejo de errores integrado con la capacidad de lanzar y capturar excepciones.
Como se menciona en la documentación de manejo de errores, las excepciones de Dart son excepciones no controladas. Esto significa que los métodos que lanzan excepciones no necesitan declararlas, y tampoco se requiere que los métodos que las llaman las capturen.
Esto puede provocar situaciones en las que las excepciones no se manejen adecuadamente. En proyectos grandes, los desarrolladores podrían olvidar capturar las excepciones, y las diferentes capas y componentes de la aplicación podrían lanzar excepciones que no están documentadas. Esto puede provocar errores y fallas.
En esta guía, aprenderás sobre esta limitación y...
A menos que se indique lo contrario, la documentación de este sitio refleja Flutter 3.44.0. Página actualizada por última vez el 2026-05-05. Ver código fuente oreportar un problema.