Entradas

Getx 2 - variables reactivas - Lista, Mapas, Objetos

Imagen
Getx 2 - variables reactivas - Lista, Mapas, Objetos En la entrega anterior hablaba de las variables primitivas reactivas obs, de los observadores y de cómo las variables obs envuelve el tipo especificado, estas son primitivas: final var = 0.obs; // Será un entero final var = ' '.obs; //String final var = 0.0.obs; //double final var = false.obs; //boolean Ahora bien, List, Map y los objetos propietarios son algo diferentes. List y Map Dart sí permite sobrecargar los métodos de List y Map, es por ello que no se utiliza value para acceder al valor contenido internamente en el observable. Las List y Maps se definen: final lista = <String>[].obs; final mapa = <String, String>{}.obs; Y se acceden igual que se hace siempre con estos objetos: lista.add("cadena");  //añadimos una cadena lista[3]; //obtenemos el elemento 3 de la lista mapa["dato1"]="cadena"; // agregamos o modificamos el elemento "dato1" mapa["dato1"] ; //ob

Getx 1 - Variables reactivas y observadores

Imagen
 Getx 1 - variables reactivas y observadores He participado y ayudado en bastantes proyectos usando Getx y la mayoría de los programadores no tienen muy claro con Getx que es una variable observable, un observador o un controlador, mezclando todos los conceptos sobre gestión de estados (state management) terminando con un batido confuso. Getx es un "ecosistema" trata de resolver diversos problemas a los que se enfrenta un programador de Flutter. Por ello es muy fácil perderse al mezclar sus diversas partes. En estos artículos trataré de identificar conceptos y uso de las distintas partes. En este primer artículo comenzaré por la parte más básica, las variables reactivas y los observadores.  Seguidor del principio KISS trataré de no agregar más que lo que sea necesario, por ello, aunque hay diversos modelos sólo pretendo exponer el modelo reactivo, ya que es en general el que yo he usado y lo encuentro efectivo, fácil y de poco consumo. Si hay inquietud siempre se puede docume

Clean Arquitecture: Mi visión en Flutter (2/2), implementando con Getx

Imagen
En el primer artículo hablé de qué suponía Clean Arquitectura (CA) y mostré una primera configuración de directorios. En éste vamos a ver como implementar usando Getx para todo, gestor de estados, navegación, inyección y consumir apis rest. Podeis sustituir cada uno de estos elementos por la preferencia que tengáis Codificaremos  el siguiente esquema: Por un lado tenemos el Servidor que vía Internet nos ofrece los datos que utilizaremos en la aplicación. Estos datos estarán en formato json. Para el ejemplo usaré  jsonplaceholder . Crearé una aplicación flutter con tres pantallas: Home, pantalla inicial que únicamente tendrá un botón para navegar a la siguiente pantalla y sirve de presentación.     Usuarios, pantalla que muestra una lista de usuarios. Al seleccionar un usuario se enseña, en la siguiente pantalla, la lista de álbumes que el usuarios tiene Álbumes, pantalla que muestra la lista de álbumes de un usuario. Se hace back para volver a la pantalla de usuarios. Crearemos los dos

Clean Arquitecture: Mi visión en Flutter (1/2).

Imagen
Clean Arquitecture... Hoy en día son muchos los programadores que necesitan implementar los conceptos de esta arquitectura, bien por que les gusta, bien por que les obligan 😉 , por ello quiero dar mi visión de cómo utilizarla en Flutter, hablaré de los motivos y el por qué y daré unos ejemplos prácticos. Por supuesto no pretendo explicar qué es o qué ventajas o inconvenientes tiene, eso se lo dejo a los que les gusta comparar arquitecturas. Clean Arquitecture (CA) CA se suele representar con un círculo para indicar el aislamiento de las distintas capas y cómo que cada una de ellas sólo ve la superior Ahora bien, en las propias palabras de  clean coder - uncle bob  estos círculos hay que tomarlos como un esquema, no son las tablas de la ley, pueden ser más o pueden ser menos. Lo que es realmente importante es que cumplan las Reglas de Dependencia, esto es que cuanto más en el exterior la implementación es más concreta y cuando vamos al centro ha de ser más abstracta y no podemos accede