spinner

A principios de 2016, sale a la luz una de las primeras betas de Flutter. Descubrimos con ella una herramienta open source desarrollada por Google, que permitía construir aplicaciones para ejecutarse en plataformas como Android o iOS, haciendo uso de un solo código base.

Un par de años después, en Diciembre de 2018, la release oficial de la versión 1.0 se hace realidad. Contando con el apoyo de una gran comunidad, a día de hoy, se consume la versión 1.5 de esta herramienta que nos permite construir aplicaciones para escritorio, web y mobile.

Formalmente, se trata de un SDK para construir aplicaciones con un alto nivel de rendimiento y fiabilidad para múltiples plataformas empleando un único código base. Lo que se consigue con esta premisa, son aplicaciones que al ser ejecutadas, fluyen de forma natural como si se tratara de un desarrollo nativo.

Por otro lado, la aplicación desarrollada internamente en BBVA Next Technologies que utilizamos para medir el mood de los empleados, ya dispone de una implementación haciendo uso de Flutter. De esta forma podemos cubrir plataformas como Android e iOS con un único código base.

¿Cómo funciona Flutter?

Construido en C y C++, provee su propio motor de renderizado 2D, un framework funcional, moderno y reactivo inspirado en React y un amplio set de widgets, tanto Material Design como con el lenguaje de diseño de iOS.

Flutter System Architecture [www.flutter.io]

 

Flutter no se ejecuta sobre un WebView ejecutando HTML, CSS y Javascript. No existe la pieza de ‘Bridge’ entre el mundo nativo y web,  sólo se utiliza Dart como lenguaje de programación. Este lenguaje presenta una línea de aprendizaje suave, especialmente si se posee cierto background en Java, en cuyo caso aprender Dart será cuestión de unos pocos días.

Una aplicación no ejecutará el código Dart directamente. A la hora de compilar la aplicación en modo release este se compila a código nativo y, por lo tanto, se obtiene un mayor rendimiento y una mejor respuesta de la interfaz de usuario. Durante las sesiones de debug para poder comprobar posibles errores en la fase de desarrollo, Flutter realiza varias comprobaciones, las cuales pueden hacer que la performance de la aplicación se vea afectada y su comportamiento sea más lento.

Flutter Approach [https://flutter.dev/docs/codelabs]

¿Qué aporta Flutter?

Ventajas:

  • Alto nivel de productividad
    • No se trata exclusivamente de crear aplicaciones para Android e iOS utilizando un único código base. Además, se necesita muy poco código para realizar tareas complejas si pensamos en la cantidad de código que tendría que ser escrito para Android o iOS en sus respectivos lenguajes nativos directamente.
    • Prototipado e iteraciones más sencillas
      • Hot Reload.
      • Arreglos en tiempos de depuración.
  • Experiencias de usuario complejas y enriquecidas.
    • Cuenta con la ventaja de disponer de un amplio set de Widgets. Estos ya están preparados para satisfacer los requisitos de Material Design y Cupertino (iOS).
    • Diseños llamativos, personalizados y orientados a la marca sin las limitaciones de OEM widgets.

Aplicación de ejemplo

A continuación se muestra un ejemplo de uso de la aplicación Gallery de Flutter. Se trata de una colección de aplicaciones de ejemplo que pueden probarse una vez hemos configurado flutter en nuestras máquinas.  El rendimiento es alto, proporcionando una experiencia prácticamente igual que una aplicación nativa.

Flutter Gallery Demo

En conclusión…

Dentro del abanico de posibilidades para desarrollar aplicaciones cross platform, Flutter es, dada su potencia de especificación, alto rendimiento, facilidad de aprendizaje y plataformas disponibles, una opción a tener en cuenta para futuros desarrollos de aplicaciones multiplataforma.

Un dato curioso sobre esta herramienta, es que toda la Interfaz de Usuario de Fuchsia está implementada con Flutter.

Github Dart Trending

Imagen principal: Pexels.

Las opiniones vertidas por el autor son enteramente suyas y no siempre representan la opinión de BBVA Next Technologies.

Do you want to know what else we do in BBVA Next Technologies?

We use our own and third-party cookies to improve our services, offer you a pleasant experience and show users advertising related to your preferences by analyzing your browsing habits. If you continue browsing this website, we consider that you accept its use. You can change the configuration or obtain more information by accessing our cookies policy here.