Flutter es un framework de desarrollo de aplicaciones móviles desarrollado por Google. Es posible desarrollar aplicaciones cross-platform para móviles (iOS, Android), web, desktop (Linux, MacOS, Windows) y embedded, utilizando un único código base.
CROSS-PLATFORM
Flutter utiliza el lenguaje de programación Dart y permite la creación de interfaces de usuario mediante widgets personalizados.
Flutter y Dart han sido pensados desde el inicio como herramientas para crear un framework completamente cross-platform. Llevando su arquitectura técnica al más bajo nivel y dejando de lado cualquier lenguaje interpretado para comunicarse con la capa nativa y para luego traducirse al lenguaje nativo del host. Por esto, Flutter es la mejor opción a la hora de realizar aplicaciones móviles para ambos sistemas operativos (iOS/Android).
Con flutter el desarrollo de aplicaciones móviles es mñas sencillo y más rapido. Flutter utiliza Dart y hace el renderizado de la interfaz en un canvas propio, teniendo así libertad total para crear cualquier tipo de widget. La arquitectura de Flutter se basa en la premisa de no utilizar los widgets nativos de las respectivas plataformas, sino que mediante un engine de rendering pinta en un canvas la interfaz, realizando él las operaciones de layout, composición y rasterizado.
Tecnología Google
FORTALEZAS
-> Cross-Platform
-> Reutilizable
-> Escalable
-> Veloz
-> Robusto
NATURALEZA
Su naturaleza declarativa permite que la composición de interfaces sea ágil y modular. Si bien requiere algo de aprendizaje, desarrolladores experimentados, incluso de aplicaciones nativas, prefieren este tipo de sintaxis al “clásico” XML.
Sin ir más lejos, iOS y Android han creado sintaxis nuevas para definir sus interfaces que imitan fuertemente a Flutter y las están promoviendo como la manera por defecto para componer su UI (Swift UI y Jetpack Compose, respectivamente). Además, a pesar de ser un lenguaje tipado, Dart es muy flexible y fácil de aprender.
En resumen, Flutter es una opción ideal para las empresas que buscan crear aplicaciones móviles con un código base único que se puede ejecutar en varias plataformas en poco tiempo y con una alta calidad.
Al ser una tecnología multiplataforma el mantenimiento de las diferentes apliaciones móviles tanto en iOS como Android e inclose en web será mucho más pequeño que si tuvieramos equipos dedicados.