Insights >Blog

Cómo una startup aumentó su productividad utilizando Google Flutter

Alex Robbio


August 10th, 2018

Recientemente estuve hablando con Rodney Aiglstorfer, CEO de Aeyrium, una software startup de servicios para aerolíneas, y- ya es hora de que se sepa abiertamente- es también asesor de Belatrix. Esta startup permite que un piloto, o pequeñas y medianas compañías aéreas, como también, operadores de aeronaves puedan gestionar desde un Smartphone sus aeronaves. Rodney tiene un historial ejemplar como emprendedor. Lo conocí cuando era el Director de Tecnología (CTO) y Cofundador de mFoundry, una startup de operaciones bancarias y pagos que fue adquirida por FIS por US$120 millones en 2013. De modo que cuando él dice que hay algo que vale la pena prestarle atención, yo lo hago. Su equipo viene usando Google Flutter desde el comienzo del año y ha obtenido resultados increíbles. Es por ello que en este artículo me gustaría profundizar en Flutter y analizar por qué es un framework tan efectivo, especialmente para startups de software.

 

Para los que no están familiarizados, Flutter es un framework móvil de código abierto creado por Google, basado en su lenguaje de programación, Dart. En febrero de 2018, Google hizo una demostración de la primera versión beta en el Mobile World Congress, y en mayo, presentó la tercera versión en su evento I/O. Puedes descargar Flutter aquí.

Basándose en su experiencia, Rodney señala tres razones por las cuales las empresas, en especial las startups, deberían considerar Flutter. En primer lugar, aumenta la velocidad y productividad de los equipos de desarrollo; en segundo lugar, es realmente una multiplataforma, y por último – y más importante – es una gran herramienta para crear interfaces de usuario ágiles y atractivas. Veamos cada una en detalle:

  1. Acelera el flujo de trabajo del desarrollador, incrementando su productividad 10 veces. La experiencia del desarrollador es completamente diferente en Flutter que en otros frameworks móviles como, por ejemplo, React Native. Google creó el concepto de “hot reload” o “stateful hot reload”. Para explicar esto, les daré un ejemplo. Imagina cómo normalmente se desarrolla una aplicación: el desarrollador trabaja en la pantalla, la navega, hace algunos cambios y luego frena el proceso, re compila la aplicación y re implementa para ver el resultado de su trabajo. Flutter, sin embargo, es “stateful”, es decir que cuando vuelves a cargar el código, y vuelves al emulador, estás donde empezaste. Es casi instantáneo. Entonces, desde el punto de vista de desarrollo, se pueden ver inmediatamente los cambios – y también puedes ver el impacto que tuvieron sólo los más recientes cambios. Mientras más avances con la aplicación, más podrás notar este cambio y beneficio. Rodney estima que en su equipo la productividad del desarrollador ha incrementado 10 veces.
  2. Escribe el código solo una vez y opera en múltiples plataformas. Desarrollar en múltiples plataformas móviles es un reto para la mayoría de las empresas que crean aplicaciones. Rodney cuenta que, en su experiencia con Aeyrium, cuando notaron que necesitaban la versión Android para su app iOS, salieron a buscar al mercado y Flutter fue simplemente la mejor opción que encontraron. A partir del uso de Flutter, Rodney, como dueño de una startup, notó que necesitaba sólo un equipo, en vez de varios, para crear productos tanto para Android como para iOS sin comprometer el rendimiento. El hecho de que se escriba el código sólo una vez es una ventaja clave de Flutter sobre otros frameworks como React Native. Con React Native, aunque también se escribe un único código base para operar en múltiples plataformas, se crean también interfaces de usuario en JavaScript. Aquí el código es distinto para iOS, entonces el problema de escribir una vez y operar en diferentes plataformas no funciona de la misma manera en React Native que en Flutter, especialmente si estamos intentando buscar esa sensación de inmediatez y una experiencia del usuario típica de aplicaciones nativas.
  3. El soporte listo para usar para Material Design genera una experiencia de una app nativa. El equipo de Google ha invertido en Material Design, su lenguaje de diseño que permite gestionar desde las animaciones hasta la forma y color de un botón en la aplicación. Google creó una biblioteca de interfaz gráfica para Flutter para facilitar la creación rápida de una experiencia Material Design para aplicaciones Android y iOS que se comportan según se espera de cada sistema operativo. Es decir que, por ejemplo, la función scroll funciona como todo usuario de Android espera que lo haga y también lo hace para los usuarios de iOS. Esto significa que puedes crear rápidamente aplicaciones muy atractivas, con esa ‘sensación’ de aplicación nativa desde un único código base.
Hot Reload of Google Flutter
Hot Reload of Google Flutter
Source: https://flutter.io/

El poder de combinar Flutter con Firebase

Firebase es una plataforma móvil de Google que te proporciona el back-end para tu aplicación. Usar esta plataforma es particularmente beneficioso para startups porque no es necesario preocuparse por poner en marcha (spin-up) los propios servidores. Básicamente, tu infraestructura es serverless, redundante y expansible. No es necesario desarrollar estas habilidades en tu equipo. Es más, no necesitarás siquiera soporte para DevOps. Firebase ofrece un abanico de servicios útiles – todas las herramientas típicas y bloques de creación que las startups tendrían que, de otro modo, ocuparse de desarrollar ellas mismas (o bien elegir y combinar servicios de terceros).

En el caso de Aeyrium, pudo reconstruir su primera versión del producto en tan sólo 4 meses, cuando le había tomado un año construirlo en un inicio. Si bien, teóricamente, echaron a la basura un año de trabajo, Rodney afirma que ahora son más veloces que antes y que los costos de infraestructura nueva y plataforma de desarrollo serán significativamente más bajos.

Se espera que el uso de Flutter aumente rápidamente una vez que se lance Google Fuchsia

Además de las ventajas ya mencionadas, hay otra razón clave por la cual esperamos que el uso de Flutter aumente rápidamente. Nos referimos al hecho de que Flutter es la plataforma de desarrollo para el nuevo sistema operativo de Google, Fuchsia. Éste es básicamente la combinación de Chrome y Android, aunque no sabemos exactamente cómo será debido a que aún está en desarrollo. Analistas anticipan que Fuchsia será la columna vertebral de millones de dispositivos IoT que encontraremos en todo tipo de tecnología que surgirá en los próximos años, desde vehículos inteligentes hasta edificios inteligentes. La interfaz de usuario y las aplicaciones de Fuchsia están siendo escritas en Flutter, por lo que suponemos que todas las aplicaciones escritas en Flutter estarán disponibles para usar en Fuchsia.

“Si tan sólo hubiese sabido un año atrás lo que sé ahora”

Interfaces de usuario atractivas, multiplataforma, y rapidez son las características que definen a Flutter.

Ahora me gustaría dejarle las últimas palabras de este artículo a Rodney Aiglstorfer y su experiencia con Aeyrium:

“Flutter deja afuera a toda competencia – no notarás la diferencia entre Flutter y una “verdadera” aplicación nativa. Si tan sólo hubiese sabido un año atrás lo que sé ahora.” Rodney Aiglstorfer, CEO, Aeyrium

¿Cuál ha sido tu experiencia con Flutter? Como siempre, espero sus comentarios.

Share

Related posts

See also

Services

Software development

Software testing

Consultancy & innovation

User experience

Industries

Fintech

Media & entertainment

Healthcare

All industries

Insights

Blog

Whitepapers

Webinars

Videos

Why Belatrix?

International presence

Nearshore advantages

Project governance

Agile expertise

Flexible engagement models

Our talent development