Saltar al contenido principal

Cómo funciona Flutter

Profundiza en cómo funciona Flutter a través de una serie de videos de seis partes.

1

Arquitectura de Flutter

Bienvenido al primer episodio de "How Flutter Works" ("Cómo funciona Flutter"), una serie de seis partes diseñada para explorar qué sucede con tu código Dart después de entregárselo al framework de Flutter. Este episodio ofrece una visión general de alto nivel de la arquitectura de Flutter, cubriendo código declarativo, frameworks multiplataforma y el rol de Dart. Este video es perfecto para cualquiera que esté comenzando a investigar Flutter y quiera entender el panorama general.

2

Widgets y los tres árboles

Sumérgete en la arquitectura de Flutter explorando sus tres árboles principales: Widget, Element y RenderObject. Descubre cómo los widgets proporcionan el API declarativo para los desarrolladores de Flutter y observa cómo los elementos unen los widgets a la capa de renderizado. También aprenderás sobre el papel de los render objects en la traducción de los valores de los widgets en llamadas de pintura.

3

Objetos State y su ciclo de vida

El episodio 3 de "Cómo funciona Flutter" profundiza en la clase State, una pieza fundamental detrás de cada StatefulWidget. Sigue el ciclo de vida completo de un objeto State, desde initState, donde inicializas recursos, hasta dispose, donde los limpias. A lo largo del camino, explora métodos importantes que incluyen didChangeDependencies, didUpdateWidget y el fundamental método build. Al final del episodio, comprenderás cómo los objetos State rastrean, responden y gestionan los cambios en tus aplicaciones Flutter, y cómo el ciclo de vida de State permite actualizaciones de UI eficientes.

Este episodio también revela el misterio de cómo Flutter recorre el árbol de widgets después de una llamada a setState, reconstruyendo solo las partes de tu aplicación que necesitan cambiar. Aprenderás por qué los constructores const son importantes para el rendimiento, por qué los closures de setState deben ser sínconos y cómo los elementos (not los widgets en sí mismos) gestionan el proceso de reconstrucción real. Si tienes curiosidad sobre cómo Flutter mantiene las aplicaciones rápidas y receptivas, o simplemente quieres entender realmente lo que sucede detrás de escena, este episodio está lleno de bases esenciales.

4

Los widgets que realmente renderizan

¿Alguna vez te has preguntado cómo se renderiza realmente tu aplicación Flutter en la pantalla? Este video se sumerge en RenderObjectWidget, el único tipo de widget en Flutter que crea algo visual. Mientras que los widgets stateless y stateful ayudan a estructurar tu aplicación, son los widgets de tipo render object los que convierten tu código de UI en píxeles reales.

Aprenderás cómo Flutter construye los árboles de Widget, Element y RenderObject, por qué muchos widgets comunes no renderizan nada directamente y cómo Flutter utiliza RenderObjectWidget para crear y actualizar los render objects que potencian tu UI.

5

Un día en la vida de un render object

En el episodio 5 de "Cómo funciona Flutter", Craig recorre un día completo en la vida de un RenderObject. Basándose en los conceptos del episodio 4, este video explica las responsabilidades principales de los render objects: layout, pintura, hit testing y accesibilidad. Craig desmitifica cómo fluyen las restricciones hacia abajo en el árbol de renderizado, cómo regresan los tamaños hacia arriba y cómo los render objects padres establecen las posiciones de sus hijos. También desglosa métodos clave como layout, paint y describeSemanticsConfiguration, mostrando cómo encajan entre sí para mantener tu UI receptiva y precisa.

6

El motor de Flutter y los embedders

En el episodio 6 de "Cómo funciona Flutter", Craig nos lleva debajo del código Dart para explorar el motor de Flutter y los embedders. Este episodio explica cómo las aplicaciones móviles de Flutter dependen del código nativo de Android e iOS para iniciarse y funcionar, cómo el motor de Flutter conecta tu código Dart con la plataforma anfitriona y cómo los embedders facilitan la comunicación entre ambos. Craig también destaca la estructura de un proyecto Flutter recién generado, se sumerge en cómo se gestionan los hilos en una aplicación Flutter y explica las funciones de los canales de plataforma y el paquete Pigeon.

También aprenderás por qué el motor de Flutter está escrito en C++ en lugar de Dart, cómo evolucionó a partir de una bifurcación de Chrome y cómo utiliza Skia o Impeller para renderizar cada fotograma. El episodio concluye con una mirada al futuro de las mejoras en la arquitectura de Flutter, que tienen como objetivo simplificar aún más la interoperabilidad nativa. Si deseas un modelo mental claro de cómo funcionan las aplicaciones de Flutter bajo el capó, esta es la forma perfecta de conectar todas las capas.