Quantcast

Mi opinión personal sobre Flutter | AitorSanchezYT

Aitor Sánchez - Blog - Oct. 31, 2023, 9:24 a.m.

Alguna vez te has preguntado ¿qué pasaría si comienzo a programar en Flutter? O mejor aún ¿cómo comienzo a programar en Flutter? Pues hoy vas a conocer un par de cosas interesantes que tienes que saber antes de ponerte a darle leña.

 

 

Mi nombre es Aitor Sánchez, soy desarrollador de apps desde 2014, y actualmente utilizo Flutter para todo lo que tiene que ver con el desarrollo de apps móviles y app web. Así que tu hoy vas a concoer la opinión de un profesional del desarrollo de apps que Flutter es su herramienta de trabajo principal.

Pero antes de continuar, esta es la Flutter Mafia. Es mi newsletter donde tu vas a aprender a hacer apps y a ganar dinero con ellas junto con otros genietes que ya están dentro. Y si te suscribes te regalo mi ebook "Duplica los ingreso de tus apps en 5 minutos" No es broma, quizás te interese.

Por si te gusta más ver que leer, el vídeo del artículo

 

 

 

¿Qué es Flutter?

Para todo el que sepa este punto, no es necesario que pares aquí, pasa al siguiente punto. Para el que no sepa lo que es concretamente, y haya caído aquí, comentarte que es un SDK para el desarrollo de Apps móviles tanto para iOS cómo para Android con la misma base de código. A parte, con las últimas updates del SDK, también podrás programar Web y escritorio, está un poco verde aún, pero tiempo al tiempo.

Usa el lenguaje de programación Dart, que es un lenguaje relativamente nuevo que promete mucho por su cambio de paradigma. Es más cómo programar un juego que una app en sí cómo estábamos haciendo hasta ahora.

Realiza una compilación totalmente nativa, una parte muy importante si te quieres dedicar a esto a tope. Digo importante, por que en temas de rendimiento se nota, aunque los de Ionic y similar digan que no, si que se nota. Sobre todo, en la fluidez de las animaciones.

Si quieres conocer un poco más sobre el proyecto Dart, aquí tienes un enlace a la web oficial.

Pues a fin de cuenta es esto, profundizaremos mucho más en él a lo largo de los videos del canal, y por esto te tienes que suscribir aquí. O si lo prefieres, puedes pasarte por el circulo aquí. Todos los detalles sobre él, y lo que es, están dentro del enlace.

 

¿Por qué elegí Flutter?

A fin de cuenta fue por motivos de trabajo. Me salió un proyecto la mar de interesante que se necesitaba una mano de Flutter para poder comenzar a monetizarlo de manera constante.

Así que sin más que añadir, y cómo me gusta muchísimo aprender cosas nuevas que agregar a mi saco, pues le empecé a dar caña.

En cosa de una semana ya tenía una app terminada en este sistema y a partir de ahí pues a darle sin parar.

Si no era lo que esperabas escuchar, lo siento, pero es así. Pero no te quedes con la historia, quédate con el trasfondo. Y ese trasfondo es que no he vuelto a tocar ni Ionic ni nativo, prefiero programar aquí todo a partir de ahora ?

 

El mejor sistema de vistas que he trabajado nunca

Muchos me dirán que no, que lo mejor es HTML, otros que sí. Pero en fin, cómo persona que lo ha probado “casi todo” en este mundo del desarrollo, he de confesar que el sistema de pintado que utiliza Flutter es la hostia.

Lógicamente, por esta razón le permite moverse a 60FPS en dispositivos de gama media. Está bien, esto depende del dispositivo cómo es normal, pero ya te digo que supera creces al Angular de Ionic, a los componentes de React y a todo lo demás que hayas podido ver en Frameworks de desarrollo básado es web.

A todo, menos a lo nativo, lógicamente, pero se podría equiparar.

Toda la parte visual se trabaja mediante Widgets. Cuando digo toda, digo toda, sin excepción. La barra de navegación es un Widget, la botonera es otro, el menú Drawer es otro, etc… Y todos se pueden extender y modificar.

Pero lo mejor de todo es, que la mayoría de los Widget tienen uno de los dos siguientes atributos:

  • child: Nos permite incluir un Widget dentro de este.
  • childrens: Al tratarse de un grid o un list, nos permite meter dentro todos los widgets que queramos, sean lo que sean, para proceder a su posterior pintado.

Quizás ahora mismo no lo aprecias, pero esto tiene un potencial grandísimo. Y el potencial es, que podemos hacer lo que nos de la real gana con nuestra interfaz de usuario de una manera facilísima y sin necesidad de recurrir a mil movidas cómo pasa con los sistemas nativos.

Por esta misma razón, nos permite programar aplicaciones muy rápidamente. Para que te hagas una idea: lo que tardarías en programar una app en nativo, tardarás menos de la mitad de tiempo en hacerla en Flutter, jurado.

Lógicamente, para que esto suceda, debes tener las mismas capacidades de desarrollo con ambos lenguajes.

 

Las tareas asíncronas

Aquí puede haber dos variantes de usuarios. Lo que estéis acostumbrados al monohilo, las prormesas, los await, yield, etc… y los que trabajamos en multihilo.

Si eres de los primeros, usuarios de, por ejemplo, JavaScript o C#, pues estás de suerte. El sistema asincrónico es una mezcla entre las promesas de JS y los yield de C# combinados. Todo ello dentro de una clase que se llama “Future” muy chetada de funcionalidad.

Sin embargo, si eres de los que programamos en multihilo, cómo los usuarios de Java nativo, en los que me incluyo, pues es una putada por que es un cambio literal de paradigma. No tiene nada, pero nada, que ver con los Threads, por ejemplo. Cuando digo nada, es nada.

Ahora te digo, que, en cualquiera de los dos casos, el manejo del flujo de un sistema mono hilo es mucho más satisfactorio que un sistema multihilo en lo que a complejidad se refiere. Así que es un acierto haber aprendido este paradigma de programación asíncrona.

Bien, visto esto, y referente al párrafo inmediatamente anterior a este, toda la tarea de manejo de bases de datos, peticiones http, lectura de archivos, etc… es muchísimo más sencillo gestionarlo aquí que gestionarlo en una app que tenga multi hilo.

 

La build multiplataforma

Esta es, quizás, la parte que más me atrajo en la decisión. La posibilidad de desplegar una app totalmente nativa en ambas plataformas me enamoró.

Básicamente, era lo que había estado deseando mucho tiempo. Si, React está ahí, pero las tecnologías web y yo no nos llevamos demasiado bien, la verdad.

Y claro, después de experimentar esto. Sumado a la compilación en caliente para debug y a todo lo que hemos comentado previamente, pues cómo cabría esperar. Me tire de cabeza y sin manos.

 

Resolución de la opinión

Creo que es una de las mejores ideas que he tomado en mi carrera cómo desarrollador. Y quizás también una idea muy inteligente, valga la redundancia.

Por lo que te aconsejo de una manera fehaciente que si estás pensando en comenzar con las apps, o pasarte a ellas, comiences por aquí. Estoy seguro de que no te vas a arrepentir.

Por otro lado, estoy preparando una sección completa de Flutter en mi canal para darle más visibilidad y más contenido a mis usuarios, no dudes en pasarte por ella aquí, este es el primer video de la lista:

 

 

Pues hasta aquí llega la opinión. Espero que te haya ayudado, o al menos entretenido, y nos vemos en el siguiente artículo. Hasta entonces ¡que vaya bien!