94. ¿Cómo convencer a un cliente para utilizar Flutter?

Transcripción

Lo primero que hay que aclarar aquí, es que Flutter, es esa nueva herramienta, framework o tecnología que nos permite crear aplicaciones móviles de una forma más rápida, con una calidad nativa, y en fin, son muchos beneficios los que tiene.

El caso es que es de lo que vendría a pasar a ser del desarrollo nativo en Android a Flutter para desarrollar aplicaciones tanto para Android como IOS, es un proceso que lleva su tiempo; concretamente uno de los distintos beneficios que tiene flutter es, desde el lado de convencer a alguien que quizás no tiene un conocimiento técnico, para utilizar flutter como tecnología para desarrollar esa aplicación que se quiere hacer.

Esto quizás, puede ser, pues a un socio que quizás no tiene un conocimiento técnico, quizás a un superior; si estás trabajando como programador en una empresa o quizás a un cliente (si eres freelance).

Flutter es gratis

Flutter es gratis y open source, esto de que sea gratis, quizás es la más obvia de todas, pero no debe de darse por sentado. De hecho, hay muchas tecnologías que tienen un coste, pero precisamente no es el caso de flutter.

La otra característica, el hecho de que sea opensuse. Es importante sobre todo de cara al desarrollador, a la comunidad que se crea y a la facilidad de los desarrolladores, para ver, para inspeccionar ese código.

Esto al fin y al cabo, se traduce en tener menos errores, en ir más rápido y en encontrarte con menos barreras, con menos errores que son más difíciles de solucionar, porque tienes más comunidad, puedes entrar dentro del código y en fin, haces todo más rápido.

Ahorro tiempo y costes

Flutter crea aplicaciones para Android y IOS de una sola tirada; olvídate de programar dos veces la misma cosa, una vez para Android y otra para IOS. Con flutter no necesitas hacer esto, no necesitas hacer todo dos veces y eso supone mucho tiempo y muchísimo ahorro de costes.

Cuanto menos código tengas, menos dinero te habrá costado hacerlo, menos tiempo tardarás y sobre todo menos tiempo tendrás que dedicar a mantener ese código.

Por ejemplo: con el caso de los errores. Si tenemos una aplicación nativa, donde está el proyecto de Android y el proyecto de IOS, cada uno tendrá sus errores, estos errores pueden ser los mismos, pueden ser distintos.

Puede ser que un error que esté en Android solucionado, no lo esté en IOS; puede ser lo mismo y al revés. En fin, cada uno va por su lado y cada uno tendrá su coste de mantenimiento. Sin embargo, si tenemos flutter, tenemos un único proyecto.

Sí resolvemos un error que está pasando en una plataforma, automáticamente va a quedar resuelto para la otra, porque básicamente habría ese mismo error.

La velocidad del desarrollo no es sólo importante al inicio de crear un proyecto, el tiempo, que vayas a tardar en tenerlo listo, sino que también es importante después de crear esa primera versión, ya que te permitirá hacer cambios y experimentar mucho más rápido con la aplicación para así poder seguir mejorándola.

Cuanto más rápido puedas avanzar y cambiar cosas, o solucionar errores (por ejemplo) mucho mejor va a ser la aplicación, porque más tiempo, más interacciones vas a poder hacer para mejorarla.

Además de por sí, el desarrollo en flutter, es mucho más rápido que en una aplicación nativa móvil, sobre todo, debido a los tiempos de compilación.

Hay que saber que cada cambio que hace el desarrollador automáticamente queda reflejado en su dispositivo en cuestión de dos, tres segundos. Mientras que, en una aplicación nativa, por ejemplo, en el caso de Android pueden llegar a ser minutos, es decir, es tiempo que el desarrollador está esperando para que ese cambio surja efecto y pueda ver sí ha funcionado o no. Esto al final se traduce en una menor productividad.

Hay que tener en cuenta que esto es un bucle constante dentro de un día. El desarrollador va haciendo cambios y compila cómo se ve en el móvil para ver si se ha arreglado; bien este proceso puede darse muchas, muchas veces durante el día.

Si esto tarda segundos en vez de minutos, al final del día tienes un desarrollador mucho más productivo y al final son menos costes.

Calidad nativa

El tercer punto es que las aplicaciones tienen una calidad nativa pese a que pueda considerarse una tecnología híbrida. Una de las razones por las que no se recomienda utilizar una tecnología híbrida hasta el momento, es precisamente ésta.

Las tecnologías que había en su momento, algunos años atrás, no me acababan de convencer del lado de lo que sería la fluidez de la aplicación, la rapidez, lo bien o mal que funcionaba porque básicamente no estaban preparadas, para competir con las aplicaciones nativas, en cuanto a que lo que rapidez y fluidez se refiere.

Sin embargo, esto ahora está solucionado con flutter, el código de las aplicaciones de flutter se compila a código nativo que entiende el dispositivo a bajo nivel ¿y cuál es el resultado? Pues que la aplicación funciona mucho más rápida, que son más fluidas y que funcionan al fin y al cabo mucho mejor; todo ello, básicamente hace que tengan una mejor experiencia de usuario que otras tecnologías.

Fácilmente personalizable

El cuarto punto, es que fácilmente personalizable; el diseño de una app es muy importante con miles y miles de aplicaciones ahí afuera. El diseño es uno de los puntos diferenciales, y además es importante dar cara a la experiencia de usuario.

Flutter tiene dos grandes puntos aquí, el primero es que por defecto nos proporciona muchos elementos que crean una aplicación moderna con poco código, con poco diseño externo; en pocos pasos podemos tener algo decente.

Y el segundo punto, es que es fácil implementar diseños personalizados al gusto de un diseñador; es mucho más sencillo que hacerlo en una aplicación nativa, por lo menos desde Android.

Flutter es como un pequeño ending de juegos, que te permite dibujar cualquier cosa por pantalla fácilmente, con lo cual puedes hacer realidad todas esas animaciones, todos esos diseños tan quizás complejos desde la vista de un programador; puedes hacerlos de una forma mucho más sencilla.

En resumen, qué es más fácil crear estos diseños y animaciones, que hacen que estos prototipos de una app se vean tan bien y al fin y al cabo crean una aplicación más bonita y que gustará más a los usuarios.

Además, también nos ahorramos el problema de algunas herramientas híbridas donde vemos distintas interfaces, dependiendo de la marca del móvil, dependiendo del sistema del usuario, de la versión del sistema, si no que se ve igual en todos los dispositivos, igual no; sino que depende de la plataforma.

Obviamente sigue las guías de diseño de Android y las de IOS, así que tenemos esta distinción que siempre es muy buena, también hay que tener en cuenta que tenemos total libertad para cambiar esto y hacer que las versiones de Android y IOS sean totalmente distintas; así que en este aspecto no hay ningún problema.

Y el quinto punto, es la facilidad de adaptación a los cambios: esto es muy importante, ya que ¿quién piensa que la tecnología que tenemos ahora, se mantendrá en un periodo de cinco-diez años? Pues nadie, cada día hay más y más dispositivos; pantallas inteligentes, los coches, tenemos muchas opciones y muchos dispositivos van a ir saliendo y que aún no han salido.

Pese que flutter está ahora centrado en IOS y Android, es muy fácilmente trasladable a cualquier otra plataforma que tenga como medio principal de comunicación una pantalla. Es como un ending de juegos, ya se han creado herramientas para que funcione sobre Mac, Windows o Linux, esto quiere decir, que puedes crear una aplicación en Flutter para estos sistemas operativos.

Y, de hecho, el propio flutter es la base sobre la que se sustenta Fuchsia, el nuevo sistema de Google, que seguramente va a tener muchas cosas que decir; esto quiere decir que es fácilmente adaptable a lo que pueda pasar en un futuro, tanto si salen nuevos sistemas operativos por el coste o el tiempo, o el contratar personal que nos va a requerir este nuevo sistema operativo.

Si queremos estar en él, si mañana sale un nuevo sistema operativo móvil, por ejemplo, si tenemos aplicaciones nativas, vamos a tener que contratar otro equipo con sus costes y tiempo de desarrollo para estar en esa plataforma; o por ejemplo, si queremos que nuestra app se expanda a sistemas operativos que ya existen.

Por ejemplo: digamos que tenemos una aplicación móvil y queremos crear una aplicación de escritorio para Mac, para Windows o para Linux. Imaginemos que tenemos una aplicación parecida a Whatsapp o alguna mensajería instantánea y creamos la aplicación móvil para Android y IOS, y la cosa va bien, y se decide que por ejemplo: sería una buena idea ir hacia Mac y hacia Windows.

Si tuviéramos una aplicación nativa esto habría que pensarlo más de dos veces, porque esto supondría contratar desarrolladores que pudieran hacerlo para Windows y para Mac, aunque fueran los mismos desarrolladores. Tendrían que dedicar su tiempo a volver a programar todo para esas plataformas extra.

Sin embargo, si tenemos flutter, si podemos portar la aplicación automáticamente, ajustando cuatro cosas a esos nuevos sistemas, sin tener que desarrollar todo desde cero, el resultado es que vamos a tener un coste muchísimo, muchísimo más bajo, y un tiempo de desarrollo mucho más bajo también.

Y no vamos a requerir de un personal extra, ni vamos a requerir que las personas que tenemos aprendan esa nueva tecnología. Sino que con la que ya saben, van a poder utilizarlo y portar esa aplicación hacia los ordenadores, en este caso; con un click lo tendríamos listo, podríamos decir.

Si te ha resultado útil este artículo puedes hacer que también lo sea para otras personas compartiéndolo en , LinkedIn o .

Como siempre para cualquier duda o sugerencia puedes contactar conmigo y estaré encantado de poder ayudarte.

¡Suscríbete

a la newsletter!

Simple y llanamente te mantendré al día una vez al mes a través de un email con artículos o noticias de interés relacionadas con el mundo de las aplicaciones móviles. ¡Nada de spam!