16 de abril de 2010

Mate, Framework MVC para Flex

Asignar imagen
Mientras hago tiempo para irme a la Tucacas, por el fin de semana de semana largo o llamados también puentes en Venezuela, por el 19 de abril les voy a dar una breve introducción a MATE.
Hasta hace unas dos semanas atrás yo era uno de los que pensaba ¿Para qué co**os usar un framework MCV para desarrollar aplicaciones en Flex?, - El framework de Flex es MVC por si mismo – decía y peleaba con el @chiguire  y muchos otros, incluyendo a la gente de Adobe sobre mi rotunda negación a usar otra cosa que no fuera el SDK de flex solito. De hecho tengo por allí un post en las páginas de Adobe preguntando por qué usar frameworks MVC con flex. Ahora ya veo la razón
image ¿Que es MATE?
Pronunciado (Ma-te) tal cual en español, es un framework para flex, basado en etiquetas, y manejado por eventos, Flex es manejado por eventos, Mate ha sido creado para hacer más fácil manejar los eventos en la aplicación que desarrolles. Mate te permite definir quien está manejando esos eventos, si los datos necesarios para ser traídos del servidor, o si otros eventos necesitan ser disparadas. Adicionalmente, Mate provee un mecanismo de inyección de dependencias para facilitar que diferentes partes de nuestra aplicación obtengan la data de los objetos que necesiten [mate].
Esta animación muestra un poco, cómo funciona

En español, esto es lo que dice la animación.
Modelo, Vista y Controlador esos son los tres compontentes del patrón de diseño MVC.
  1. La vista dispara un evento (puede ser uno creado por nosotros, o uno de flex)
  2. Los datos son encapsulados en un objeto del negocio dentro del Custom Event
  3. El evento es capturado por el controlador, que en el caso de Mate es el EventMap o Mapa de Eventos
  4. El mapa de eventos hace la llamada al servidor, según la animación con un RemoteObjectInvoker
  5. El servidor responde
  6. El EventMap captura la respuesta
  7. La guarda en el Modelo
  8. El EventMap a través de los Injectors, inyecta la data a la vista
  9. Y la vista se actualiza inmediatamente gracias a la magia de los Bindings
O lo mismo, que la imágen.
Saludos señores, feliz fin de semana, luego sigo explicando un poco más.