Bienvenido al día 3, donde aprenderas sobre la arquitectura del marco Flutter y verá cómo configurar un proyecto Flutter con algunas buenas reglas de linter.

Arquitectura Flutter

Ya sea que haya creado una aplicación Flutter antes o no, es útil obtener una descripción general de alto nivel de la arquitectura Flutter desde un punto de vista conceptual.

Flutter usa su propio motor de renderizado llamado Skia. Está escrito en C/C ++ y proporciona API de bajo nivel para renderizado. Cuando escribes aplicaciones en Flutter, su código no llama directamente a las API del motor Flutter. Más bien, utiliza un conjunto de API de alto nivel proporcionadas por el marco Flutter .

Por diseño, Flutter controla cada píxel que se dibuja en la pantalla . El framework de Flutter ofrece un amplio conjunto de componentes de IU (llamados widgets) que se asemejan mucho a los controles de IU nativos en iOS y Android.

Modelo de programación declarativa

Flutter usa un modelo de programación declarativo.

Los widgets de Flutter definen su IU anulando el método build() , que es una función que convierte el estado en IU:

UI = f(state)

Los widgets pequeños y de un solo propósito se componen juntos para crear otros más complejos y especializados que representan la interfaz de usuario de su aplicación. Por lo tanto, toda la aplicación está representada por un árbol de widgets .

Por ejemplo, así es como se ve el árbol de widgets para la aplicación de contador Flutter predeterminada:

En la próxima lección sobre gestión de estados, hablaremos sobre cómo reconstruir la interfaz de usuario cuando algunos estados cambian y qué técnicas están disponibles para hacerlo.

Pero por ahora esta es toda la teoría que necesita. Y si quieres una explicación más detallada de la arquitectura de Flutter, no hay mejor lugar que la documentación oficial:

Esta es una lectura larga, pero vale la pena si quieres entender cómo funciona Flutter bajo el capó.

Pasemos a algo más práctico.

Configuración del proyecto

Cuando creas un nuevo proyecto de Flutter, se generarán algunos archivos y carpetas.

El archivo más importante se llama pubspec.yaml . Este se usa para especificar las dependencias de su aplicación . Estos recursos explican cómo funciona este archivo y cómo usarlo para instalar paquetes:

Además de esto, recomiendo encarecidamente agregar un archivo analysis_options.yaml . Esto se puede usar para especificar reglas de linter y habilitar advertencias y errores adicionales para su proyecto. Aquí hay una guía detallada al respecto:

En particular, lea la sección “Cómo administrar sus reglas de linter fácilmente” al final. Esto explica cómo crear un conjunto de reglas limpias y fáciles de mantener que puede modificar en sus aplicaciones.

Puede descargar un archivo analysis_options.yaml “oficial” desde aquí y también ver una lista de todas las reglas admitidas con explicaciones.

Reto diario

Agregue un archivo analysis_options.yaml a su proyecto y escribe un tweet al respecto.

Donate to devjaime
_Help support devjaime by donating or sharing with your friends._www.paypal.com