De Web a Flutter

Hola mi nombre es Fernando y vengo a comentarles lo que es pasarse a Flutter y la experiencia que tuve con Flutter siendo desarrollador Web, bueno les pongo en contexto

Me encanta Programar en Angular o React, los dos son bastantes buenos no hay ninguno que sea mejor en mi opinión. Lo que sucede es que tuve ganas de poder generar mi aplicación nativa, pero NativeScript es medio complicado y React Native no encontré mucha documentación o tal vez no busque apropiadamente. Entonces opte por aprender Flutter y me cayo como anillo al dedo.

Dart => JavaScript

Dart es el lenguaje de Flutter el cual es bastante robusto en la programacion orientada a objetos, sin dart no seria posible Flutter. Todo en Flutter es un Widget y un Widget es un componente en lo que es Angular, React y Vue.

Un widget significa una clase la cual la hereda de la libreria material o cupertino.

Ademas que dart esta inspirado en lenguajes como ser Java, Javascript, C# entre otros. La verdad Dart me parece bastante simple, es como tener la facilidad de aprender Javascript con algunas características de Java.

Curva de aprendizaje para web devs

La curva de aprendizaje de Flutter es bastante rápida, dependiendo si sabes POO(Programación orientada a objetos) y programación web. Estos dos conceptos de ayudan bastante a entender Flutter. En mi caso me tomo 2 semanas aprender los fundamentos, pero estoy seguro de que hay un montón de lo que falta aprender.

Vocabulario para web devs

Aquí les dejo una lista de palabras las cuales eran nuevas cuando empece ya sean de Dart o Flutter:

  • Mixin.- es una clase la cual hereda de dos clases o mas
  • Future.- es una promesa tipo javascript
  • Builder.- es una clase el cual te construye en la pantalla, a partir de un dato como ser un arreglo o stream
  • stream.- un stream es como un Observable, algo que podemos estar al pendiente de sus cambios y cuando se cambie algo, se nos notificara
  • Final.- es muy similar a una constante JavaScript

npm i mised you?

y la pregunta del millón, extrañare a npm ?, pues no , te sentiras comod@, usando el administrador de paquetes de flutter para instalar una dependencia solo debes hacer esto:

//instalación del paquete provider, ultima versión
provider:

y eso es todo, si quieres instalar la ultima versión, si deseas instalar una versión x, es solo poniendo que versión deseas. y fin del problema. Por eso me sentí mas cómodo con esta forma de instalar paquetes y puedes revisar que paquetes hay en esta pagina :

Dart packages
Pub is the package manager for the Dart programming language, containing reusable libraries & packages for Flutter…pub.dev

Ionic vs Flutter

La verdad este podría ser otro articulo en el cual podríamos comparar un sin fin de características de cada uno pero en resumen, Ionic nos da un desarrollo mas rápido debido a que ya todo esta creado y solo debemos poner la logica y los componentes pero Flutter nos permite crear aplicaciones con UI hermosas, esto significa que podemos personalizar, y esto requiere mas tiempo el cual vale la pena, Ademas que Flutter nos dará mejor resultado en lo que es la rapidez de nuestra app, ya que es nativa y no un webview

Flutter por dentro

Me pregunte como funciona Flutter para que funcione en android y ios. La magia sucede de la siguiente manera, todos los Widgets que creamos son dibujados en un canvas. y este canvas es posible gracias a skya, el motor de render de Flutter. todo esto lo pasa a código C, el cual llega a ser la capa mas baja de Swift y Android.

Flutter en un futuro

Flutter se planea usar no solo en aplicaciones moviles sino tambien en paginas web y en Desktop, ademas que Google esta invirtiendo bastante en esta tecnología. Se especula que en un Futuro se use en Fuchsia OS, el cual se dice que sera el nuevo sistema operativo de los dispositivos móviles, arreglando problemas cotidianos de Android. Ademas creo que vale la pena aprenderlo, ya que la curva de aprendizaje no es muy alta.

© 2020 Devferx • Crafted with ❤️