Siete razones para aprender Flutter

Siete razones para aprender Flutter

En el mundo del Desarrollo de Software, existe una enorme cantidad de tecnologías con distintas finalidades (para e-commerce, móvil, escritorio, web…), aplicaciones en capas ya sea de Frontend o de Backend y curvas de aprendizaje tan variadas, que podemos contar con que habrá una tecnología específica de utilizar para cada situación según nuestro nivel de experiencia.

Una tecnología que ha tenido un auge muy interesante en los últimos años (específicamente desde febrero de 2018 según Google Trends) y que ha demostrado ser predominante entre desarrolladores de variada experiencia es Flutter.

OK, pero… ¿qué es Flutter?

Flutter es un SDK de código abierto desarrollado por Google en 2017 que facilita el desarrollo multiplataforma de alta calidad, pudiendo utilizar una sola base de código para aplicaciones en Android, iOS, Web y Desktop con interfaces personalizadas similares a las de uso nativo en cada plataforma existente.

Flutter cuenta con su propio lenguaje de programación llamado Dart (desarrollado por Google) orientado a objetos, optimizado para interfaces y con cambios al código fuente de manera iterativa debido a su ‘hot reload’ para ver los cambios de manera instantánea.Asimismo, posee  una sintaxis muy similar a JavaScript (lenguaje de ley para todo desarrollador) lo que facilita su adaptación y aprendizaje.

¿Vale la pena aprender Flutter?

Al ser una plataforma de desarrollo con un rápido crecimiento y una comunidad muy activa, Flutter ofrece una experiencia muy llamativa al momento de pasar por las distintas fases del ciclo de vida de un software, desde el diseño hasta el desarrollo y envío a producción, mientras se obtiene un ahorro en tiempo y dinero. No solo eso, sino que también es una tecnología que, dominada, puede ser muy bien remunerada, llegando a tener un promedio de sueldo de 84 mil dólares en los Estados Unidos, según Glassdoor.

En otras palabras, si vale la pena aprender Flutter. ¿No te convence aún? Entonces te comparto 7 razones específicas por las que debes de aprender Flutter.

1) Es altamente flexible

En Flutter se utilizan los denominados widgets para definir y crear distintas funciones e interfaces. Esto sigue las bases de la programación orientada objetos hasta las interfaces, en las cuales uno o varios widgets pueden anidarse entre sí. Pueden ser un botón, un texto, un formulario, etc.,  todos con propiedades modificables.

Los widgets pueden interactuar entre sí, reaccionar a cambios de estado, sea internos o externos mediante funciones integradas. Todo en Flutter es un widget, y éstos por lo general, cuentan con diseños de Android, iOS y web. Y si un widget te limita, se puede crear uno propio con funciones adicionales al combinar los ya existentes.

¿Cómo se ve un widget? Te comparto el ejemplo de uno sencillo que viene por defecto y que te resultará fácil de reconocer.


Y así se vería ya luego de ejecutarlo:


2) El desarrollo es más rápido

En comparación a otros SDKs, Flutter es un framework significativamente rápido, desde los tiempos de desarrollo de la aplicación como tal hasta su rendimiento general en producción. De igual forma, y como se mencionó en la razón #1, en Flutter todo es un widget, por lo que hay una gran cantidad de librerías de widgets ya predefinidas y en los repositorios que acelera y simplifica el proceso de desarrollo, incluyendo valores agregados como ser UX/UI.

3) Tiene una curva de aprendizaje relativa

Al ser sumamente amplio y flexible en las funciones y tipos de desarrollo que ofrece, Flutter tiene una dificultad de aprendizaje variada, dependiendo de tu conocimiento actual. Si ya eres un programador/desarrollador con cierto tiempo de experiencia (e.j. 1 año), sentirás que Flutter no es muy difícil, más aún si has trabajado previamente con JavaScript, Kotlin o incluso React Native, donde notarás que es único en su tipo.

Si eres un desarrollador que apenas comienza, ¡no hay problema! Dart, el lenguaje utilizado en Flutter, es sencillo de aprender. Su curva ‘más alta’ podría ser la jerarquía entre widgets (father, child y children) que, en un inicio, es quizás un poco confusa.


4) Multiplataforma

Una de las características principales de Flutter es ser completamente multiplataforma. El código que desarrollamos lo podemos utilizar para Android, iOS, desarrollo web e incluso para desarrollo de aplicaciones de escritorio. La reusabilidad que permite el código de Flutter otorga una enorme rentabilidad de tiempo, costo y desarrollo.

¿Deseas especializarte en Frontend? Flutter tiene una orientación directa a lo anterior por sus widgets e interfaces personalizadas.

Por otra parte, ¿prefieres la lógica y entiendes mejor el Backend? Flutter puede servir para manejar una gran parte (si no toda) de la arquitectura de lado del servidor. Posee una alta compatibilidad con Go, también conocido como Golang (lenguaje desarrollado por Google que lanzó su primera versión en 2012), dedicado al desarrollo Backend.

¿Vas más con el desarrollo móvil o web? Al ser Flutter multiplataforma, sus widgets poseen apariencias similares a las temáticas presentadas en Android, iOS y web, ahorrando tiempo de diseño así como validaciones al momento de testear.

5) Hay una alta demanda de desarrolladores en Flutter

Las tendencias de los lenguajes de programación cambian a lo largo de los años. Muchos lenguajes como JavaScript, PHP, Java y Python han tenido una gran demanda casi desde que fueron lanzados, perdurando por incluso más de 20 años.

Flutter no es la excepción. Si bien es cierto que fue lanzado relativamente hace poco, sus desarrolladores son cada vez más solicitados. Las empresas optan por Flutter debido a que representa beneficios inmediatos durante la fase de desarrollo y envío a producción. Como experiencia personal, aprendí Flutter netamente por diversión, por probar algo nuevo, y ahora me encuentro en proyectos de desarrollo en Flutter como recurso dedicado ya que en muchas ocasiones es ignorado por desarrolladores con varios años de ejercicio, haciendo que su demanda se incremente con el tiempo y sea muy bien remunerado.

6) La comunidad de Flutter no para de crecer

La comunidad de desarrolladores con la que cuenta Flutter posee, a criterio personal, una de las mejores documentaciones y apoyo entre colegas que se puedan encontrar. La variada experiencia acumulada de los desarrolladores hace que la documentación de cada proyecto o pregunta realizada sea robusta y de contenido relevante, ya que en ella convergen todo tipo de profesionales de distintas ramas. Ser miembro activo de la comunidad de Flutter y obtener guía de vez en cuando otorgará un crecimiento profesional con una experiencia agradable.

7) ¿Por qué no aprenderlo?

El mercado laboral para desarrolladores puede ser en ocasiones dinámico y variado. La demanda de ciertos lenguajes sube y baja, en otras existen ‘Lenguajes del momento’ que perduran por una década o más e incluso se pueden mejorar los actuales con tech stacks muy interesantes en Flutter como:

  • Flutter Frontend - Python + NPM Backend.
  • Flutter en full tech stack.
  • Alguna librería de JavaScript (Vue o React Native) Frontend - Flutter Backend.

O algunas aún más interesantes y complejas tales como:

  • Flutter Frontend - Firebase/AWS (BaaS).
  • Flutter Frontend - Firebase (BaaS) - Flask + Solidity + Tesseract - Backend.

De igual manera, Flutter cuenta con un compilador online por si se gusta testearlo: Dartpad o Dart.dev, si solo se quiere testear el lenguaje en el navegador.

También hay profesionales y páginas con cursos y/o bootcamps bastante buenos para aprender Flutter de manera gratuita. En sí, Flutter no posee aspectos negativos que opaquen alguna de las ventajas que pueda tener. Como todo lenguaje de programación, tiene sus pros y sus contras, pero es un SDK con el cual no hay pérdida alguna en aprender.

¿Quieres mejorar tu perfil profesional, posicionarte en tu carrera y obtener experiencias únicas de desarrollo? Aprender Flutter (no olvides el inglés, es muy importante 😉) y saca provecho de este lenguaje, bastante único en su tipo.

⚠️
Las opiniones y comentarios emitidos en este artículo son propiedad única de su autor y no necesariamente representan el punto de vista de Revelo.

Revelo Content Network da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.