Arquitectura

1. Flutter es un kit de herramientas de interfaz de usuario multiplataforma diseñado para permitir la reutilización de código en sistemas operativos como iOS y Android, al mismo tiempo que permite que las aplicaciones se comuniquen directamente con los servicios subyacentes de la plataforma. El objetivo es permitir a los desarrolladores ofrecer aplicaciones de alto rendimiento que se sientan naturales en diferentes plataformas, adoptando las diferencias donde existan, al tiempo que comparten la mayor cantidad de código posible.

2. Durante el desarrollo, las aplicaciones de Flutter se ejecutan en una máquina virtual que ofrece una recarga rápida y en caliente de los cambios sin necesidad de una recompilación completa. Para la versión final, las aplicaciones de Flutter se compilan directamente a código de máquina, ya sea instrucciones Intel x64 o ARM, o JavaScript si el objetivo es la web. El marco es de código abierto, con una licencia BSD permisiva, y cuenta con un próspero ecosistema de paquetes de terceros que complementan la funcionalidad básica de la biblioteca.

3. Flutter está diseñado como un sistema extensible y en capas. Existe como una serie de bibliotecas independientes que dependen cada una de la capa subyacente. Ninguna capa tiene acceso privilegiado a la capa inferior, y cada parte del nivel del marco está diseñada para ser opcional y reemplazable.