Flutter logo

Desarrollo Multiplaforma con Flutter

Bueno, pues después de bastante tiempo (demasiado) vuelvo a escribir un post. Esta vez cambiamos de tercio y nos pasamos a Flutter como framework de desarrollo para nuestra aplicaciones multiplataforma. Sigue leyendo y descubre más…

¿Qué es Flutter?

Flutter es un toolkit de Google para crear aplicaciones multiplaforma orientado a que estas sean muy atractivas visualmente

“Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.”

Con Flutter no solo podremos desarrollar aplicaciones móviles, sino que el mismo código nos permite desarrollar aplicaciones para Mac, Linux y Web.

Además Google está en conversaciones con Microsoft para poder desarrollar aplicaciones para Windows..

¿Pero Flutter no es un lenguaje?

No, Flutter es la plataforma de desarrollo, en lenguaje en el que se programa es Dart.

¿Porqué ahora Flutter?

Pues la verdad, he llegado a Flutter por casualidad, no voy a mentir. En la empresa en la que trabajo actualmente (Wata Factory) teníamos que desarrollar una aplicación móvil y decidir en que tecnología hacerla.
Como ya comenté en un artículo anterior (ver artículo) en entornos corporativos lo más sensato desde mi punto de vista es desarrollar las aplicaciones móviles en entornos híbridos.

Estuvimos viendo las diferentes opciones disponibles (Xamarin, React y Flutter), todas con sus pros y sus contras (no existe la opción perfecta) y tras un estudio en profundidad decidimos optar por Flutter, nos enamoró lo bien que hablaba la comunidad, lo creciente de su desarrollo y el permitirnos ser punteros en una tecnología naciente.

¿Merece la pena Flutter?

La respuesta es SI con rotundidad.

  • La curva de aprendizaje es mínima
  • Tiene una gran comunidad detrás con la gran cantidad de documentación y ejemplos que ello conlleva
  • Puedes desarrollar en cualquier sistema operativo (Windows, Mac y Linux) sin ningún problema
  • Google está apostando muy fuerte desde dentro
  • Está pensado para que todo sea como un puzzle, es decir, el core y plugins para lo que necesites

Dart está adoptando algunas de las cosas buenas de otros lenguajes como Kotlin, como pueden ser las extensiones (ver documentación), si bien aún le faltan algunas cosillas.

¿Hay riesgos?

Riesgos como tales siempre que no eliges una solución nativa los hay.

  • La mayor parte de los plugins existentes son desarrollados por la comunidad ¿que ocurre si lo descontinuan?
    • Era uno de mis mayores miedos, pero la respuesta que me dieron en el #FlutterDay me convenció: Son de código abierto, puedes hacer un fork y matenerlo tu mismo para tu proyecto
  • ¿Hay peligro que Google aparque Flutter al igual que ha aparcado otros proyectos?
    • Si, pero no es un peligro real, ya que Google está apostando muy fuerte por Flutter con muchos acuerdos entre empresas y usándolo para sus propios proyectos internos

¿Cuál ha sido mi experiencia?

Mi experiencia desarrollando con Flutter estos últimos meses ha sido muy satisfactoria, de echo uno de mis proyectos personales (MovieList) lo estoy migrando de Scala a Flutter y tengo otro que estaba desarrollando en Xamarin usando Firebase, el cual es la base de los artículos que hay en el blog que también lo migraré.

Una de las pegas que le encontraba a Xamarin es que prácticamente no había documentación y cada actualización de versión era un quebradero de cabeza. Esto no me está pasando con Flutter, hay documentación para todo, la comunidad es muy activa (agradecimientos a GDG Marbella por el trabajo que están realizando).

Hay que cambiar algunas nociones a la hora de desarrollar, sobre todo la interfaz gráfica, si vienes de desarrollo nativo, pero se acostumbra uno bastante rápido.

La arquitectura para las aplicaciones la deja bastante abierta al gusto del programador, pero está muy orientado a arquitecturas limpias.

Para los patrones de diseño también lo deja muy abierto, puede ser algo bueno o no tanto, pero es de agradecer.

Como pega si podría decir que al ser un framework tan joven (prácticamente un año de vida) está en constante evolución y hay versiones nuevas cada poco tiempo (algunas de ellas con algunos bugs).

En resumen, me he convertido en un Flutter Lover, y con esto espero retomar el blog y traeros algún artículo más concreto de desarrollo con Flutter.

Espero veros muy pronto.

 

 

Publicado en Android, Desarrollo, Flutter, iOS y etiquetado , , , .

Ingeniero Técnico en Informática de Sistemas. Apasionado de la tecnología y enfocado al desarrollo móvil

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.