A través de este blog les presentamos nuestro webinar enfocado a Arquitecturas en Flutter.
Se comienza con una breve introducción al tema y posterior se encuentra el video con la explicación al respecto en colaboración con nuestro instructor Guillermo, experto en el desarrollo de apps con Flutter.
Un BloC es un componente intermediario entre las vistas y nuestro modelo, como puede ser el presenter cuando utilizamos MVP o el view model al utilizar MVVM. El modelo es un concepto bastante amplio dependiendo del tamaño y arquitectura de tu aplicación. Puede ser desde nuestra capa de datos en una arquitectura simplificada hasta nuestro dominio o hexágono si utilizamos Clan Architecture o Hexagonal Architecture. Al igual que Redux, BloC se basa en conceptos de programación reactiva utiliando el patrón observer pero es bastante más simple y por lo tanto, más versátil. El patrón BLoC inicialmente, como lo presentó Google, tiene varios objetivos:
- Centralizar la lógica de negocio
- Centralizar cambios de estado
- Mapear al formato que necesita la vista
Por cada vista (componente o widget) o concepto lo suficientemente importante vamos a tener su correspondiente BloC. Por ejemplo la vista (componente o widget) que representa a una página o que representa estado que es compartido por más de una vista, serían ejemplos donde tiene sentido crear un BLoC.
Provider, es un paquete que ha sido lanzado recientemente (en Google I/O) el cual tiene como función, permitirnos manejar el estado de nuestra app. Como sabemos, en Flutter para poder construir una App, y alterar el aspecto visual de la misma, debemos trabajar con el “Estado de la App”. La forma más sencilla de hacer esto, es mediante el uso de “StateFul Widgets” y la función de “setState”. Eso puede funcionar para alguna aplicación muy pequeña, sin embargo cuando estamos construyendo una app que contiene varias pantallas y hay que acceder a esas propiedades en todas, el proceso se vuelve muy complejo.
Para más información ve nuestro webinar gratuito.
Publicado por: DW Training