Flex: Cairngorm Framework
Estuve trabajando mucho con el Framework para desarrollo en Flex Cairngorm. Me parece muy útil para acelerar el desarrollo, pero principalmente para la organización, actualización y reutilización del código, también para la escalabilidad del proyecto.
Cairngorm está basado en el patrón de diseño Model View Controller y está compuesto por:
Model Locator:
Es donde se guardan todas las los datos de la aplicación (Value Object) estos VO son objetos Bindables, es decir, si cambian sus valores se actualiza en todos los lugares donde se utilicen.
View:
Las vistas de la aplicación, son componentes o grupos de componentes donde se encuentra la parte gráfica o visual.
Front Controller:
Recibe todos los eventos que luego son mapeados en los commands.
Command:Es donde está toda la logica, donde se procesan los eventos, se actualizan los VO.
Delegate:
Son llamados por los Commands y "selecciona" que service utilizar, que parámetros pasar, aqui están instanciados todos los services.
Service:
Están todas las llamadas a los servicios remotos, XML, WebServices, AMFPHP, etc.
Algunos recursos:
- Flex UI Design For Cairngorm
- Hello world cairngorm example
- http://www.cairngormdocs.org/
- Tutoriales de Made In Flex
Bueno, eso es todo por ahora, más adelante seguiré hablando de esto ya que me ha gustado mucho.
Mini-FAQ sobre Flex 2
Hace tiempo que vengo hablando sobre Flex 2, posteando ejemplos y otras cosas salteándome cualquier tipo de introducción. Ultimamente recibí varias consultas de desarrolladores que quieren conocer Flex, por eso armé algunas consultas comunes y armé este pequeño FAQ.
¿Para que sirve Flex?
Básicamente Flex está pensado para el desarrollo de RIAs (Rich Internet Applications), o sea aplicaciones Web con elementos de formulario, interacciones avanazadas, conexión a base de datos.
¿Como es la forma de trabajar en Flex?
En resumen, son archivos XML (MXML) donde se encuentran las llamadas a los componentes, estados, vistas, etc. Los componentes pueden ser desarrollados por Adobe, o componentes propios. La programacíón se realiza en Actionscript 3, y estos códigos se colocan en archivos .as.
¿Como se realiza la compilación de los proyectos?
Básicamente hay dos formas, en tiempo de ejecución en un Flex Server o con el SDK de Adobe. En el Flex Server se suben los archivos .mxml y desde el browser se visualizan archivos swf. Una analogía conocida sería, se suben PHP y se visualizan HTML, este servidor está basado en Java. La otra es compilando los mxml con el SDK y subir directamente los archivos SWF.
¿Donde puedo conseguir el SDK?
El SDK se puede bajar del sitio de Adobe y es gratis.
¿Hay alguna herramienta para desarrollar Flex 2?
Si, se puede utilizar el Flex Builder 2, este es un plug-in para Eclipse que tiene asistentes muy útiles para la codificación, y también tiene una interfáz para el desarrollo visual.
Para ejecutarse, del lado cliente, ¿se necesita lago más que el FLASH Player?
No, se necesita tener instalado el Flash Player 9. Y es compatible con cualquier navegador que tenga esa versión de Flash Player.
¿Que tecnología de servidor debo utlizar para trabajar con Flex y base de datos?
Cualquiera, PHP, ASP, .NET, JSP, cualquier tipo de tecnología de servidor, utilizando Flash Remoting, XML, WebServices, WebOrb, etc.
Bueno, eso es todo por ahora, es muy básico pero espero que sirva para aclarar algunas dudas ![]()
Cualquier cosa que quieran agregar o corregir no tienen mas que ponerlo en los comentarios.
