Flutter Conference

Artículo

Flutter Conference

Hemos estado este fin de semana en la primera FlutterConf organizada en España. Ha sido en Marbella y han acudido desde desarrolladores principiantes hasta expertos en esta tecnología. La conferencia se ha dividido en 2 días, el primero con un Hackaton y Workshops y el segundo con charlas tratando diferentes aspectos de esta tecnología.

El primer día por la mañana se planteó un reto para probar el desarrollo rápido sobre esta plataforma viendo resultados sorprendentes.

Por la tarde se impartieron dos Workshops, uno para principiantes en el cual mostraban cómo crear una interfaz básica y el otro avanzado en el que se implementaba una interfaz sencilla en Web.

El segundo día fue el más interesante ya que vinieron ponentes de diferentes partes del mundo a exponernos su experiencia personal y profesional en varias áreas de esta tecnología.

Se explicaron las herramientas que nos proporciona el equipo de Flutter para el desarrollo, comentando los IDEs disponibles y profundizando en las herramientas de depuración. Nos expusieron también el estado actual de las arquitecturas o patrones que la comunidad está siguiendo y desarrollando. Nos destacaron los patrones Provider, Redux y BLoC, focalizándose en este último por su equilibrio entre complejidad y sencillez (entre una implementación sencilla de tipo Provider y una más compleja de tipo Redux). El estado actual de la inyección de dependencias todavía no está maduro en Flutter. Se empiezan a ver las primeras herramientas que ya nos permiten hacer flujos de integración continua completos. Vimos las primeras librerías referentes para solucionar diferentes problemáticas, Moor (persistencia), Chopper (Networking)…

W Automative mostró las problemáticas que se han encontrado para las implementaciones geográficas, mapas, posicionamiento, distancias, direcciones, clustering, diferentes tipos de coordenadas… y cómo las han resuelto exitosamente en sus apps gracias a los plugins de la comunidad.

Desde Out Barriers expusieron cómo podemos dar soluciones de accesibilidad con Flutter para mejorar y simplificar ciertas acciones en la vida de las personas. Centrándose en la discapacidad visual, nos explicaron cómo mediante unos Beacon bluetooth informaban de la accesibilidad y servicios de locales comerciales dando cierta asistencia para acciones como localizar la posición de la puerta, información del sitio, el menú de un restaurante… También repasamos las opciones de accesibilidad que da Flutter, tamaño de texto dinámico, alto contraste, descripción de imágenes e iconos… 

Signify nos mostró como tienen montado en Phiplips Hue todo el sistema domótico y sus apps. Vimos como la aplicación evolucionó en nativo desde 2012 en interfaz y tecnología. En 2018 hicieron un hackaton para probar en la práctica el potencial de Flutter, sorprendiéndose y enamorándose muchos de ellos de esta tecnología. En este punto se plantearon ciertas preguntas sobre la tecnología, tuvieron la oportunidad de poder desarrollar la app en Flutter desde 0 y se lanzaron a ello. Su proyecto es muy complejo ya que se compone de distintos módulos y es multi-aplicación. Utilizan Redux como patrón, librerías avanzadas y entorno de integración continua con Jenkins. Destacan que hubo mejoras significativas en la colaboración desarrollo-diseño agilizando significativamente el trabajo de ambos equipos. En junio de 2019 lanza al mercado Hue Bluetooth app y en octubre 2019 Hue Sync App, aplicaciones que están funcionando perfectamente en producción siendo un ejemplo claro de estabilidad de la tecnología. Su estrategia de futuro es ir migrando progresivamente todas sus tecnologías involucradas hacia la unificación en Flutter. En un mes tenían un MVP de la app de bluetooth funcionando, en un par de meses más tenían el 70%-80% de funcionalidades. Comentaron la integración con APIs nativas más complejas como HomeKit indicando que actualmente solo lo tienen en las nativas y que en un futuro harán las integraciones con Flutter, esto ya lo han hecho con el bluetooth (módulo que liberaran próximamente a la comunidad)

No se han encontrado ningún problema bloqueante en el desarrollo, aunque inciden que su equipo de desarrolladores es gente experimentada en programación. 

Por parte del BBVA vinieron dos integrantes del equipo de movilidad para contarnos su experiencia con la incorporación de Flutter en una de sus funcionalidades de la app de clientes. Necesitaban desarrollar una funcionalidad con diseño cross-plattform que requería mucha componetización visual y decidieron incorporarla a la app. Hicieron previamente una demo de una app interna para conocer el estado de ánimo de los empleados, esta tuvo mucho éxito y se lanzaron a probar Flutter en la app principal. Se encontraron con una curva de aprendizaje baja para los desarrolladores del equipo de movilidad. Este módulo en Flutter lo tienen totalmente desacoplado y tienen en cada proyecto nativo su librería de comunicación con Flutter. Actualmente tienen este módulo distribuido en Friends&Family y no lo tienen en producción ya que la funcionalidad que soporta la integración con apps en funcionamiento (Add to app) sigue estando en Beta. La posición actual de su equipo es seguir apostando por el desarrollo nativo.

Desde Cloud Technologies Solution, nos enseñaron casos prácticos para la testeabilidad a diferentes niveles de las aplicaciones desarrolladas en Flutter. Vimos ejemplos prácticos en inyección de dependencias, composición de capas… Todavía no hay medidas reales de rendimiento en test para funcionalidades complejas o aplicaciones grandes.

Vinieron desde GDG Lisbon para hablar del futuro de Flutter si Google no continúa apostando por esta tecnología. Nos muestra el gráfico de aportación de la comunidad de Flutter en los distintos módulos en la que figura que la aportación de la comunidad es del 66%. Esto puede tener varias lecturas, pero en la que estamos todos de acuerdo es la explosión en el crecimiento y el enorme aporte de la comunidad en esta tecnología, cuesta encontrar algo similar en otras. Nos enseña cómo aportar a la comunidad y nos anima a que participemos en ello. 

Finalmente, todos los ponentes hablaron sobre el futuro de Flutter. Había cierto escepticismo en las unificaciones de todas las plataformas con Flutter (en general de todos los frameworks híbridos). Otros le ven mucho futuro en el ecosistema Google, destacando que será el lenguaje oficial del tan esperado Fucsia. Resaltan también la facilidad escalabilidad y de ampliar a nuevas plataformas futuras. Enfatizan en que Flutter es como un motor de juegos y de ahí su rendimiento y facilidad en la adopción de nuevas plataformas.

Resaltan que es bueno tener una opción más en el paradigma móvil y aporta mucho valor a nuestro ecosistema. Sobre la incorporación de las funcionalidades específicas de cada plataforma y cómo se van a incorporar a un proyecto Flutter, apuntan como solución contribuir con plugins o esperar a la comunidad. 

Las conclusiones que sacamos son:

Flutter ya es una realidad para el desarrollo híbrido de aplicaciones móviles iOS-Android, está suficientemente maduro para cubrir la implementación y necesidades de la mayoría de las aplicaciones del mercado. Si hubiese que incorporar un montón de funcionalidades que se comuniquen con SDKs nativos, puede que conlleve un sobre esfuerzo y no sea una buena opción. Además, de momento habría que tener en cuenta que Flutter en Web no va a ser una realidad a corto plazo por su estado de madurez actual.

Para finalizar, dar las gracias a GDG Marbella por organizar este fantástico evento. La calidad de los ponentes y las charlas fue excelente.

¡Os animo a que asistáis a la del año que viene y nos veamos por allí! ¡Muchas gracias a todos!

Conoce al autor

José Luis Moraga

José Luis forma parte del equipo de Consultoría Tecnológica de Deloitte. Cuenta con 6 años de experiencia en el mundo de desarrollos móviles. Su especialidad es el desarrollo de aplicaciones para la plataforma iOS aunque abarca otras tecnologías del mismo ámbito, teniendo una perspectiva completa de este paradigma. Ha participado en varios proyectos relacionados con la movilidad de distinta índole abarcando distintos roles. Además, dentro de Deloitte colabora en la investigación de nuevas tecnologías móviles, tanto híbridas como nativas.