Es probable que últimamente hayáis escuchado hablar de Flutter. Hoy nuestro Slashboy, Adrià Tomás, hará un repaso de cuáles son las ventajas y desventajas de Flutter. Antes de entrar en materia, y para los más despistados, veremos qué es. Flutter es una mezcla entre un framework y un SDK (Software Development Kit) que está construido en C y C++ para programar en lenguaje Dart. ¿Por qué Flutter califica como SDK? Esto se debe a que esta tecnología es un verdadero maletín virtual que integra, además del framework en sí, una serie de herramientas de producción, librerías, documentación. Además, da mayor libertad a los desarrolladores para realizar colaboraciones.

Flutter permite desarrollar código a una gran velocidad gracias a su “recarga caliente”. Esto permite aplicar los cambios de forma dinámica, en menos de un segundo, sin perder el contexto de la aplicación. Por ejemplo, si estamos desarrollando un flujo de más de dos páginas y en la segunda queremos aplicar un cambio, gracias a Flutter no tendremos que empezar el flujo de nuevo, directamente nos aplicará el cambio. Además, se compila en código ensamblado directamente nativo. Así da un gran rendimiento a la hora de usar una aplicación desarrollada con este nuevo framework.

Y ahora que ya tenemos claro qué es Flutter, veamos cuáles son sus pros y contras que ofrece este nuevo framework de Google. 

Ventajas de Flutter
  • Recarga caliente: como comentábamos antes, al hacer algún cambio en el código se podrán ver los efectos reflejados inmediatamente, sin tener que compilar la aplicación de nuevo y sin perder el contexto en el que estábamos.
  • Renderizado de vistas muy rápido y constante: Flutter se ha planteado objetivos de renderizado muy altos para ciertos dispositivos, lo que supera con creces a cualquiera otra solución de desarrollo móvil híbrido.
  • Desarrollo multiplataforma: no es necesario construir por separado para las dos plataformas: Android y IOS. Flutter ya genera un código base que sirve para ambas plataformas.
  • Acceso a las funciones nativas: algunas funciones específicas de la plataforma, como la cámara y la geolocalización, requieren acceso a funciones nativas. Estas funciones deben implementarse mediante lenguajes nativos, y Flutter da la sensación de desarrollarse en la plataforma nativa. Flutter permite reutilizar código existente de Java, Swift y Objective-C para acceder a las funciones nativas y SDK en iOS y Android.
Desventajas de Flutter
  • Dart necesario: para poder usar Flutter es necesario aprender el lenguaje de programación Dart.
  • Framework muy joven: y aún no tiene una gran comunidad detrás, por lo que se deberán afrontar los problemas que nos encontremos con menos ayuda que en otros frameworks.
  • Está enfocado solo a móvil: por el momento solo hay una versión oficial de Flutter y solo está enfocada para móvil. Así si nuestra aplicación va a tener un sitio web tendremos que desarrollarlo paralelamente a la versión de móvil.
  • Librerías limitadas: las bibliotecas a las que pueden acceder los desarrolladores de aplicaciones móviles están muy limitadas en Flutter. No siempre proporcionan todas las funcionalidades que necesita el desarrollador. Dichas funcionalidades deben ser desarrolladas por los desarrolladores de aplicaciones por sí mismas.

Como conclusión, podemos decir que Flutter se presenta como un gran competidor a todos los framework de desarrollo multiplataforma. Sin embargo,  actualmente es muy reciente y aún tenemos que esperar cómo va evolucionando.