Flutter, tras la pista del nuevo framework de Google

Mar 21 2022

Estos últimos años son un claro ejemplo de lo rápido que está cambiando el mundo y con ello la tecnología, este es uno de los principales retos a los que nos enfrentamos en atSistemas como prescriptores en innovación a nuestros clientes.

Un ejemplo de ellos es Flutter, un framework emergente dentro de las soluciones cross-platform desarrollado por Google que se lanzó en el 2017 y que hoy contamos con la última actualización Flutter 2, que renderiza sus aplicaciones como si de un motor gráfico de un juego se tratara, es decir, pone un foco muy importante en la espectacularidad para cualquier plataforma iOS, Android, Windows, MacOS y Linux.

El lenguaje con el que se programa Flutter es Dart 2 que se puede compilar con JavaScript. Gracias a esto puede utilizarse en desarrollo web, aunque Google ya nos avisa que en este último caso, estamos ante una versión beta.

Dentro de Flutter, Dart 2, puede comunicarse con código nativo en Kotlin y Swift, pudiendo incluirse en proyectos existentes o habilitando la opción de utilizar funcionalidades específicas de las plataformas a través de estos.

Otra novedad interesante es Dart in Google Cloud, que esto daría para otro post. Una forma de crear microservicios en contenedores y desplegarlos rápidamente en Google Cloud. ¿Se podría decir que Dart es un excelente lenguaje de programación para backends? Dejo ahí la pregunta para quien se anime a participar de ella.

Desde la comunidad de atSitemas de mobile y front llevan meses siguiéndole la pista y tratando de lanzar una prueba de concepto con el objetivo de testar cuatro grandes premisas, que para el cliente suponen un objetivo clave a la hora de lanzar un nuevo canal al mercado.

  • Acelera el time to market
  • Experiencia de usuario
  • Accesibilidad
  • Captación y retención de tu público objetivo

Flutter, visualización de pantallas

Flutter, analizamos sus ventajas.

Pues bien, muchas de estas premisas comentadas anteriormente, hoy en día y después de seguir muy de cerca la evolución de este nuevo framework de Google, podemos decir que Flutter se adapta a estos cuatro ejes:

  • Rápidez: Crea tu app de manera ágil con Hot Reload, además el uso de widgets preconstruidos permite al programador no tener que crearlos desde cero. Los widgets de Flutter son construidos usando un moderno framework que toma inspiración de React.
  • Calidad en la interfaz: Con la tecnología de Google se consigue una excelente experiencia de usuario y un diseño de interfaz acorde a los principales sistemas operativos iOS y Android, lo que asegura una aplicación de alta calidad estética con foco en una experiencia de usuario muy cercana a la nativa.
  • Características nativas: podemos decir que unos de los factores estrella es poder desarrollar aplicaciones nativas multiplataforma a través del código de programación DART que permite una compilación nativa, además, los widgets de Flutter incorporan todas las diferencias críticas entre plataformas, como el scrolling, navegación, iconos y fuentes para proporcionar un rendimiento prácticamente nativo tanto en iOS como en Android.
  • Open Source: tanto Flutter como Dart son Open source.

Pero si tuviéramos que hablar de la ventaja por excelencia es, la sencillez con la que es posible crear una interfaz de usuario muy vistosa, con animaciones y una fluidez que roza la experiencia nativa, sin invertir demasiado esfuerzo. Esto tiene dos vertientes.

Por un lado, apoyado en un proceso previo de diseño UX/UI, permite crear interfaces de usuario muy innovadoras, con transiciones complejas, que incrementan el valor de las aplicaciones desarrolladas, con diseños fuera del alcance de cualquier otro framework híbrido.

Por otro, permite desarrollar la lógica de negocio, y una vez hecho esto, construir una interfaz de usuario que, sin ser la definitiva, permite mostrar unos resultados muy buenos y una interfaz cuidada sin tener que realizar un gran esfuerzo, permitiendo llevar a cabo pruebas de usuario que validen la lógica implementada.

Sin embargo, no todo es perfecto, también habría que destacar algunas de sus principales barreras:

  • Mayor peso de la aplicación puesto que el framework va compilado en la misma.
  • Como cualquier framework híbrido, hay una gran dificultad para comunicarse con APIs nativas que no tengan plugin, obligando a realizar importantes desarrollos en nativo.
  • Poca madurez, lo que implica que haya aún muchos problemas reportados y en vías de resolución.

Flutter Vs Ionic

Si bien, creemos que hace competencia a otros frameworks, dado que cambia el concepto de renderizado de las aplicaciones, y ofrece resultados mucho más cercanos a lo que se puede obtener en nativo, que por ejemplo frameworks basados en Apache Córdova como Ionic, sin embargo, con respecto a nativo, su principal baza es la reducción de costes inherente a un proyecto híbrido ya que todavía nos enfrentamos a una solución poco madura lo que hace que de momento seamos conservadores en su manejo, donde la potencialidad de tener que escribir código en nativo crece, perdiendo en parte esa mejora de coste mencionado.

Ionic y Flutter comparten una visión común de crear aplicaciones de alto rendimiento que funcionen en todos los dispositivos. Sin embargo, su filosofía central no podría ser más diferentes. IONIC, es un framework originalmente basado en Angular. Permite a nuestros programadores el desarrollo de aplicaciones con tecnologías web. Utiliza estándares como HTML, CSS y JavaScript. Prepara el código de una aplicación para que pueda funcionar tanto en plataformas iOS como en Android.

Vemos algunos puntos diferenciadores:

flutter-comparado-con-ionic

Como ya hemos comentado es muy difícil decantarse por un claro ganador, la realidad es que es el proyecto el que nos va a hacer decidir que tecnología es la más adecuada, aunque ambos frameworks ofrecen estabilidad, rendimiento, buena documentación y una comunidad activa, desde nuestro punto de vista, React Native, por tener más tiempo de vida en el mercado, y por ser más estable en productos que conocemos tiene ventajas importantes.

Pero y de ahí que es difícil decantarse, Flutter y Dart pueden ser importantes, sobre todo si quieres que tu aplicación proporcione a tus usuarios una experiencia lo más nativa que sea posible, como ya hemos comentado. Sin embargo, es evidente que nos encontramos ante una tecnología menos madura que tiene un largo camino que recorrer, pero mucho potencial para alcanzar sus objetivos.

Flutter, ¿quién apuesta por este framework?

Según Google hay más de 500.000 programadores que están apostando por la tecnología y más de 150.000 aplicaciones publicadas en Play Store, no parecen malos indicadores.

Algunas de estas aplicaciones hacen referencia a casos de éxito de grandes players en el mercado como Toyota, Google Play y BMW, Alibaba; eBay entre otros.

Otro dato que nos desvela Google sobre la tendencia es que:

  • El 35 % del uso de Flutter se ha realizado para desarrollos basados en StartUps.
  • El 26 % se trata de desarrollos empresariales y para empresas.

Y ese parece un dato importante de referencia.

Flutter, nuestras conclusiones.

Parece claro y por la evolución, que Flutter no parece ser que se vaya a quedar como el bebé de Google. Por cómo va avanzando es una plataforma que rápidamente se está apoderando de las marcas ofreciendo resultados interesantes en las aplicaciones móviles multiplataforma. La capacidad para desarrollar aplicaciones visualmente atractivas, de forma muy sencilla, hace que sea una gran apuesta dentro del mercado híbrido.

Además, el hecho de poder validar la lógica de negocio, sin necesidad de invertir una gran cantidad de tiempo para que la interfaz gráfica quede perfecta, permite hacer una entrega de valor constante, lo que hace que su encaje se perfecto en proyectos ágiles.

Con Firebase respaldado por Google, amplios widgets personalizables, herramientas predise-ñadas, Flutter eclipsa a los demás y demuestra ser una solución eficiente, robusta y efectiva para el desarrollo de aplicaciones móviles.

Sin duda podría llegar a suponer un cambio radical en el paradigma de desarrollo de aplicaciones facilitando que se empiece la casa por el tejado (las interfaces de usuario) y dejando los cimientos (toda la lógica de negocio) para las etapas finales de desarrollo. Esto implica una reducción de costes, así como una mejora sustancial del ROI de los proyectos.

Raquel Fernández Lozano


Comparte este artículo

Utilizamos cookies propias y de terceros para ofrecerte una mejor experiencia y servicio, dentro de nuestra Web de acuerdo a tus hábitos de navegación. Si continúas navegando, consideramos que aceptas expresamente su utilización. Puedes obtener más información de cómo gestionar y configurar las cookies en nuestra Política de Cookies.

×

Preferencias de Cookies


Cookies esenciales
Cookies funcionales
Cookies de análisis
Cookies de marketing