Flutter es el kit de herramientas de UI de Google para realizar hermosas aplicaciones, compiladas nativamente, se utiliza para el desarrollo de aplicaciones Android, iOS, Windows, Mac, Linux y Web.

La primera versión de Flutter fue conocida bajo el nombre Sky y solo funcionaba para Android. Fue lanzado en la Dart developer summit de 2015. Su versión alfa data de mayo 2017, el 11 de diciembre del 2019, Flutter 2.12 salió en el evento Flutter Interactive. Estamos hablando de una herramienta muy reciente. Sin embargo ya está teniendo un enorme éxito.

Desarrollo

El desarrollo se realiza mediante el lenguaje de programación Dart. Dart se compila “por adelantado” (AOT) en código nativo para múltiples plataformas. Esto permite que Flutter se comunique con la plataforma sin pasar por un puente JavaScript. El hecho de que Flutter sea el único SDK para móviles que proporciona vistas reactivas sin necesidad de un puente JavaScript debería ser suficiente para que Flutter sea interesante y merece la pena intentarlo, pero hay algo mucho más revolucionario en Flutter, y es cómo implementa los widgets.

Widgets

La UI está compuesta de una serie widgets comunes que luego se adaptan a cada plataforma. 

Los widgets de Flutter son construidos usando un moderno framework que toma inspiración de React. Los Widgets describen cómo debería ser su vista, dada su configuración y estado actuales. Flutter pone a nuestra disposición una gran variedad de widgets desde los básicos (Text, Row, Column, Container) a los más complejos construidos a base de combinar los widgets básicos.

Herramientas

Dart proporciona una serie de herramienta a los desarrolladores que le permiten optimizar el desarrollo tales como:

  • Android Studio & IntelliJ
  • Visual Studio Code
  • DevTools
  • Flutter SDK
  • Hot reload: ayuda a experimentar rápida y fácilmente, crear interfaces de usuario, agregar funciones y corregir errores
  • Code formatting: Tener un estilo único y compartido, y aplicar este estilo a través del formateo automático, facilitando las revisiones de código.

A continuación vemos cómo el desarrollador puede hacer cambios en el código y ver su efecto de inmediato. Los desarrolladores nos dicen que esto les permite “pintar” su aplicación.

Se puede agregar Flutter a la aplicaciones existentes, tanto para Android como para iOS, lo que nos permite beneficiarnos de Flutter en cualquier estadio del desarrollo.

Existe una creciente lista de organizaciones que crean hermosas aplicaciones con Flutter, entre ellas podemos destacar:

  • Google
  • Groupon
  • Alibaba
  • EBay
  • Tencent

Existe una extensa comunidad para facilitar el aprendizaje y soporte a los desarrolladores. 

El uso de Flutter ha despegado, con más de 250.000 desarrolladores en todo el mundo. Flutter se encuentra actualmente en el top 20 de los repositorios de software activos en Github.

Los contras de Flutter:

  • Aprender el lenguaje Dart desde cero.
  • Por ahora solo se puede desarrollar aplicaciones en 2D.
  • Está enfocado solo a móvil. Por ahora no podrás desarrollar para web o desktop de manera estable.
  • Bibliotecas y soporte: impresionante, pero aún no tan rico como para el desarrollo nativo.

Conclusiones

En nuestra opinión, Flutter tiene muchas más ventajas para los negocios y para los equipos de desarrollo que riesgos. Es una gran oportunidad para crear aplicaciones móviles hermosas, de alto rendimiento y sobresalientes que se ajusten a sus necesidades y requisitos personalizados. Vale la pena considerar Flutter, especialmente si quieres una aplicación para iOS y Android.

A qué esperamos, ¡Todo son ventajas para que nos hagamos con Flutter!

Nuestra SlashGirl Valentina Adrián, Mobile Developer, es la autora de este post.