Esta semana os explico por qué he decidido aprender flutter, qué me ha llamado la atención de este framework y cuáles son los puntos fuertes que yo le veo.
Cuando te dedicas a la programación, hay que estar siempre al día de lo que va saliendo y cada cierto tiempo hay que escoger algún lenguaje o framework en el que queramos especializarnos. Con suerte, como ha sido mi caso, en ocasiones aparece una nueva tecnología que encaja contigo, con lo que te gusta, con el tipo de proyectos que quieres hacer, con a que te sientes cómodo.
¿Por qué he decidido dedicar a aprender Flutter el poco tiempo libre que tengo?
Porque me gusta el desarrollo de apps para móviles
Parece una razón obvia, pero en programación hay muchísimas áreas. Te puedes dedicar a la web, al backend, a los videojuegos, a la realidad virtual, a la inteligencia artificial… en mi caso me interesa mucho la programación de apps para móviles. Por eso hacer tiempo que estaba dedicándome a aprender Android.
Android me gusta mucho, también me siento muy cómodo con él y puedo hacer cosas muy interesantes, pero al especializándome en Android tenía una gran desventaja, mis apps no valían para IOS. Por eso el siguiente punto ha sido clave para escoger flutter
Desarrollo multiplataforma
Efectivamente, con Flutter podemos tener nuestra app funcionando en los dos principales sistemas operativos para móviles con una sola base de código. Me gusta mucho Android, pero siempre he pensado que si un día una de mis apps tuviera cierto éxito tendría una limitación si no está también en IOS. No quería programar para los dos sistemas porque, aunque estoy seguro de que me lo pasaría muy bien programando para iPhone, creo que es mejor especializarse en un único entorno para hacer las cosas bien. Además pensando en desarrollar una app para un posible cliente, es una limitación el no ser capaz de ofrecerles su app en los dos sistemas.
Con Flutter esto queda resuelto, con un sólo proyecto puedo hacer que mi app funcionen en Android y en IOS.
Seguramente estaréis pensando que esto no es nada nuevo, ya existen infinidad de frameworks que te permiten hacer esto. Pues efectivamente, pero ahí entran el resto de los motivos que describo a continuación.
Calidad nativa
Así es, las apps programadas con este framework tienen una calidad nativa. Otros frameworks también permiten tener un único proyecto para IOS y Android, pero perdiendo calidad.
¿Por qué tiene un buen rendimiento si no estamos usando el SDK propio de cada sistema nativo?, ya lo explicaremos en otro episodio
Productividad
Otro gran punto a favor de Flutter es que puedo desarrollar rápido, sin tener que esperar minutos desesperantes para ver cómo queda cambio que hago.
Yo vengo de aprender Android (repito que me encanta y me sigue encantando) y cada vez que se hace un cambio y queremos verlo reflejado en el emulador o en el móvil para ver cómo queda, hay que esperar en ocasiones varios para ver cuál es el resultado. Esto obviamente lastra nuestra productividad. Flutter tiene algo que se llama hot reload, que nos permite ver prácticamente al instante cada cambio que estamos haciendo, esto es algo que se nota muchísimo en el día a día.
Además, haciendo spoiler de mis dos siguientes puntos, el lenguaje de programación Dart y la forma de construir las interfaces a través de widgets, también hace que mejoren mis tiempos de programación
Estoy cómodo con Dart
Dart es un lenguaje de programación ideado por la gente de Google y que han elegido para Flutter. Al principio he de confesar que era un poco reticente a probar este lenguaje que ni me sonaba, pero lo cierto es que me ha terminado ganando. Ya hablaremos de él, pero es un lenguaje que tiene muchas características de los lenguajes modernos de programación y para los que venimos de otros más clásicos como java no se hace nada difícil de aprender.
No diré que es mejor o peor lenguaje que otros, porque en mi opinión por suerte hay much