La ruta para aprender Flutter

Carlos Millan
8 julio, 2019

. . .

Traducción al español del artículo en inglés escrito por Wu Chun Wa

¿Por qué elegir Flutter?

Escribí mi primer producto – Trigether. Terminé mi propio backend y la aplicación de Android en 2018 antes. Después del lanzamiento, algunos usuarios me preguntan cuándo se lanzará la versión de iOS. Por lo tanto, estoy pensando si debo aprender a escribir la aplicación iOS. Pero, solo un hombre para construir un producto. Tomará tiempo mantener dos proyectos basados en código. Preguntarán: ‘¿Por qué no React Native?’ No entré en React Native, ya que no me gustó la arquitectura debido al puente de javascript. Creo que React Native solo se adapta a algunas aplicaciones que solo requieren mostrar información solamente. Un día, mi colega me envió un artículo–Lo revolucionario de Flutter— Estoy interesado en Flutter, ya que puede hacer una verdadera ‘base de código para muchas plataformas’. Así que, voy en Flutter.

Cómo leer este artículo

Puede pasar de A) a M) uno por uno porque pasé por este camino cuando aprendí Flutter. Para un tema avanzado, después de que empecé a escribir la aplicación Flutter, investigué estos temas y creo que es útil. Si tienes interés, puedes leerlos.

A) Leer la Introducción de Flutter

En primer lugar, ¿cuál es la diferencia entre Flutter y otras plataformas como iOS, Android, React Native, etc.? Como vine de Android, leí Flutter para desarrolladores Android que habla de la diferencia entre Android y Flutter, te permite tener una idea rápida de Flutter.

Si vienes de otros, puedes leer estos documentos:

B) ¿Qué es IU declarativa?

Si vienes de React Native o ReactJS, lo sabrás. Pero, venía de otra plataforma. Puede que no lo sepas. Entonces deberías echar un vistazo a Introducción a la IU declarativa.

C) Aprender Dart

Puede saber C #, Java, Koltin, Objective-C, Swift, Javascript o Typescript para escribir su aplicación o web. Pero, para Flutter, usa Dart. Echa un vistazo a Un recorrido por el lenguaje Dart para aprender Dart. Creo que Dart es muy similar a Java.

Tema avanzado: ¿Por qué usar Dart? Si tiene esta pregunta, puede echar un vistazo por qué Flutter usa Dart.

D) Aprende Flutter UI Framework

Para Flutter, se reconstruye el UI Framework, lo que significa que es posible que las bibliotecas de SDK o UI nativas no lo admitan. Entonces, ¿qué widget de interfaz de usuario puedo usar? Echa un vistazo en el catálogo de widgets. Sabrás más qué widget puedo usar. Como soy un aprendiz visual, entonces encuentro cualquier video para hablar de ello. Flutter proporciona un canal oficial de youtube: el widget de Flutter de la semana. Puedes entender estos widgets más fácilmente.

Tema avanzado: ¿Por qué Flutter tiene un alto rendimiento en la UI? Si tiene tiempo, échele un vistazo, ya que siempre escribo de forma incorrecta en la lógica de la interfaz de usuario, lo que entra en conflicto con el árbol de widgets de Flutter. Entonces siempre tirar errores. Saberlo más, puedes evitar estos errores.

E) Comenzar con un Hello World

Vaya a: Empezar con Flutter. ¿Cómo instalarlo? ¿Cómo configurar editor/IDE? Crea una primera aplicación de Hello Word. El doc oficial te enseñará cómo hacer esto.

F) Un acercamiento al Manejador de Estados – BLoC

Anteriormente, escribí en MVVM con patrón Rx en la aplicación de Android. Además, escribí la estructura de Redux en React.js. Para el manejador de estados, seguir un patrón es mejor transferir el conocimiento a otros y mantener el código fácilmente. Me gusta el patrón MVVM, pero encuentro que Flutter no puede hacer el mismo patrón MVVM que Android. Es porque Android no se construye con IU declarativa. Después de la investigación, descubrí que algunos usuarios de Google usan el patrón BloC para crear una aplicación. Luego leí Arquitecte su proyecto Flutter usando el patrón BLOC para conocer más el patrón Bloc. O bien, puede echar un vistazo a Technical Debt and Streams/BLoC, el cual es proporcionado por el programa Boring Show del equipo de Flutter. Existen diferentes enfoques de gestión de estados. Puedes echar un vistazo a los demás.

Tema avanzado: escribe un patrón BLoC. Usted debería saber programación reactiva básica. Por favor, eche un vistazo en RxDart. Si eres un principiante en la programación reactiva, puedes jugar con RxJS Marbles, que puede visualizar cómo funcionan los operadores de Rx.

G) Enrutamiento de páginas

¿Cómo cambiar de página? Para Flutter, proporciona funciones Navigator para cambiar páginas. Pero, para aplicaciones complejas, me gustaría encontrar un mecanismo para cambiar páginas por ID de página/nombre con metadatos. Un plugin llamado fluro ayuda en esto.

H) Localización

Puedes echar un vistazo a Un nuevo enfoque de localización en Flutter escrito por mí. Anteriormente, encontré que el documento oficial es difícil de entender. Además, la forma oficial de localización es demasiado inconveniente.

I) Http Client

Para comunicarme con el Backend, prefiero escribir un código limpio en él. Entonces, Dio es un cliente http para ayudarlo a resolverlo. Actualmente, encontré un nuevo enfoque – Chopper. Me encanta porque es similar a Retrofit, que es un popular cliente HTTP en la comunidad de Android.

J) Json serialization

Para crear Pojos, necesito formas de manejar la serialización / deserialización de json. Echa un vistazo a JSON y serialización.

K) Local Storage

Actualmente, sqflite es la biblioteca más popular para manejar SQLite en Android e iOS. Para el almacenamiento de valor-clave, puede utilizar las shared_preferences. Pero, estoy buscando la biblioteca de ORM moor, que todavía está en una etapa temprana y no es popular. Realm aún desarrolla Flutter en progreso – Soporte de Dart/Flutter.

L) Configurando sabores del proyecto

Quiero establecer una configuración de tres compilaciones que incluye Development, Staging y Production. Por ejemplo, los endpoints de la API son diferentes. Echa un vistazo a Creando sabores para Flutter.

M) Recursos

Open Source: flutter_starter_kit

Disfruta de tu viaje de aprendizaje Flutter.

7

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Comunidades en Español