Está en la página 1de 18

Flutter

Framework para crear aplicaciones nativas para dispositivos


móviles, web y de escritorio con un solo código.
¿Es fácil de utilizar?
El lenguaje utilizado en Flutter, Dart, es muy parecido a
Java con una serie de mejoras. Cualquiera que haya
escrito Java no tendría problema en entender la lógica en
Dart.
¿Es fácil de utilizar?
Conseguir lo mismo con el framework de Flutter suele ser
bastante más fácil que con el framework clásico de
Android.
¿Es fácil de utilizar?
La creación de la interfaz en Flutter se hace con el mismo
código en Dart. Puede resultar confuso para alguien que
solo haya creado interfaces con XML.

Sin embargo...
¿Es fácil de utilizar?
Tanto Android como iOS están adoptando esta forma de
creación de interfaces con Jetpack Compose y Swift UI,
por lo que aprender a crear interfaces directamente en
código no es conocimiento perdido.
¿Cuáles son sus limitaciones?
No he visto ninguna limitación para aplicaciones
sencillas y no tan sencillas como Staki o Perfumerías
Júlia. Habría que investigar más en aplicaciones mucho
más grandes y complejas.
¿Funciona bien?
Esta sección se dividirá en dos apartados:

- Desarrollo.
- Producto final.
Desarrollo
Con un mismo código obtienes una aplicación para
Android y iOS en versión estable y en developer preview
página web y aplicación de escritorio.
Desarrollo
Además de Android Studio o IntelliJ IDEA puedes usar
Visual Studio Code el cual funciona mejor en
ordenadores poco potentes.
Desarrollo
La característica hot reload agiliza muchísimo la
comprobación de los cambios realizados ya que muchos
de ellos se aplican de forma instantánea.
Desarrollo
La comunidad es mucho más pequeña que la de
Kotlin/Java y, supongo, que la de Objective-C/Swift, por lo
que si necesitas cierto componente puede que te lo
tengas que picar a mano en vez de tenerlo ya hecho y
testeado por terceros.
Desarrollo
No se puede utilizar reflection por lo que librerías como
Gson no existen.
Producto final
Peor rendimiento que Android Nativo aunque muy
similar o mejor que React Native, el cual utilizan
aplicaciones gigantescas como puede ser Facebook.
¿Por qué no utilizarlo siempre?
- Es fácil de utilizar.
- No tiene limitaciones para muchas de las
aplicaciones.
- Rendimiento aceptable.
- Código único para todas las plataformas.
¿Por qué no utilizarlo siempre?
El uso de Dart fuera de Flutter es residual. Por lo que
formar a alguien en Dart sería prácticamente en exclusivo
para esto.
¿Por qué no utilizarlo siempre?
Flutter ha salido de beta medio año, es un proyecto
nuevo y Google tiene ciertos antecedentes…

y muchos más...
¿Por qué no utilizarlo siempre?
Flutter es excelente, pero a Dart no le veo un futuro
fuera de este framework.

Sin embargo sí me imagino a Kotlin reemplazando a Java


(Kotlin Native, JVM, Multiplatform, JS).

Ya hay grandes librerías migrando a Kotlin como puede


ser el framework de Spring, OkHttp, Retrofit...
Conclusión
Flutter me parece una gran alternativa para proyectos
pequeños gracias a:

- Sencillo de aprender para apps poco complejas.


- Alta rentabilidad gracias a que con un mismo código
obtienes aplicaciones móviles y en un futuro más o
menos cercano incluso web y escritorio.