Flutter
Estos apuntes están basados:
- Cross-Platform Mobile Apps with Flutter - Maximiliano Firtman
- Free Flutter Course - Vandad Nahavandipoor
- Aprendiendo Flutter desde Cero para creación de Aplicaciones Móvil Nativas - Miguel Ángel Durán
Introducción
Flutter es un framework, de alto rendimiento y de código abierto, creado por Google, que permite a los desarrolladores construir aplicaciones nativas para iOS y Android, así como aplicaciones web y de escritorio a partir de un único código base.
Desde que tenemos sistemas operativos han aparecido formas de crear aplicaciones para ellos, como por ejemplo, Java para Android, Swift para iOS, C# para Windows, etc. Que pasa que mucha gente, quiere hacer aplicaciones para diferentes dispositivos, y aqui nacen las herramientas híbridas, como por ejemplo, React Native, Ionic, etc. Estas herramientas permiten crear aplicaciones para diferentes dispositivos, pero estas aplicaciones no son nativas, sino que son aplicaciones web que se ejecutan dentro de un contenedor, y que se comunican con el sistema operativo para acceder a las funcionalidades nativas del dispositivo.
Pero en Flutter encontramos una herramienta que nos permite crear aplicaciones nativas, es decir, a nivel de compilación, se compilan las aplicaciones para cada uno de los sistemas operativos, el rendimiento es mucho mejor.
Flutter utiliza el lenguaje de programación Dart. Dart fue desarrollado por Google con el objetivo de sustituir a JavaScript, pero no tuvo el éxito esperado. Sin embargo, Dart es un lenguaje de programación moderno y fácil de aprender, que se utiliza en Flutter.
Curva de aprendizaje
La curva de aprendizaje de Flutter es muy corta, ya que se basa en el conocimiento de los lenguajes de programación muy populares, y si tienes conocimientos de lenguajes orientados a objetos, como Javascript, se reduce la complejidad de aprenderlo. Además, la construcción de pantallas, utilizar el framework en si, es simple, porque vamos creando instancias, hijos de otras instancias...
Recomiendo ver el roadmap de Flutter para ver las tecnologías que hay que aprender para ser un desarrollador de Flutter.