Ejemplo calculadora en Guasax
Después del primer ejemplo de HolaMundo de guasax , vamos a desarrollar un segundo articulo en el que podremos ver un ejemplo, un poquito más elaborado en el que se trabajan otro tipo de llamadas al framework para que ejecute una acción.Veremos como trabajamos con una clase ModelLocator, y como pasamos objetos tipo Value Object a una acción Guasax, y trabajamos con estos.
Al final del articulo podéis encontrar todos los enlaces necesarios para descargaros el código fuente del ejemplo, observar el ejemplo online(con la opción ViewSource habilitada), y la documentación actual de guasax.
Al igual que en el ejemplo anterior , hemos grabado un video tutorial de 5 minutos, que podéis ver online o descargar aqui
Algunos cambios en guasax
En primer lugar comentar que hemos llevado a cabo algunos cambios en guasax, para poder definir varios ficheros xml de configuración por separado, y hemos cambiado la forma de cargar el fichero principal de configuración para que sea aún más sencilla la inicialización del framework. Estos cambios están ya en el repositorio SVN y hemos compilado una nueva librería de guasax , v0.9.2a, para poder descargar aparte del código fuente.
Fichero de configuración de Guasax
En el fichero de configuración para esta aplicación definimos las acciones que queremos invocar. La estructura del fichero XML es esta:
Tenemos un componente calculator, con una sola action, calculate.
Inicio de la aplicación.Cargamos la configuración
La carga de la configuración de la aplicación la hacemos a través de una llamada al metodo init() , a través del evento creationComplete. En este método llamamos al método parseConfFile(”./conf/guasax-conf.xml”,onLoadComplete); pasando el path al fichero de configuración y una función de callBack que será invocada cuando se termine la carga del fichero de configuración. Desde esta función podremos realizar las primeras llamadas al framework para ejecutar acciones.
En este caso en el función onLoadComplete de nuestro código no tenemos que llevar a cabo ninguna operación.
Ejecutando una operación en la calculadora
Para hacer uso de esta acción hemos preparado diversos escenarios donde la podemos invocar. En primer lugar la llamamos del interface principal.
Con esta llamada ejecutamos la action, calculate, recibimos el VO con los datos de la operación en el BO , llevamos a cabo el calculo y el resultado de la operación lo guardamos en el ModelLocator.
Como en el GUI principal tenemos la variable del modelo bindada con un control en el que mostramos el resultado, este se visualiza inmediatamente en el interface principal.
Reutilizando el BO entre varias vistas de la calculadora
Otra de las formas de invocar a la acción en este ejemplo, es lanzar la operación desde una ventana calculadora , y a su vez que el resultado de la operación se visualice en esta misma ventana. Para ello creamos una ventana calculadora y desde su botón calculateHere, hacemos la siguiente llamada:
En la llamada a la accion , executeActionWithView , vemos que en este caso le pasamos además de la acción a ejecutar, y los parametros, un array de vistas(en este casos this, es decir, la actual), el método a llamar de esa vista, y en caso necesario los parametros de ese metodo en la vista.
Con esta llamada lo que conseguimos es que una vez se ejecute el metodo del BO se llame a ese metodo de esa/s vistas. Es en estos metodos donde podemos continuar con la visualización de los resultados, transiciones, efectos, etc…
En el metodo que vemos mas abajo , recogemos los datos a visualizar del Modelo de nuestra aplicación, actualizamos el interface y lanzamos un efecto.
Como vemos en este ejemplo, un mismo método de un BO lo podemos ejecutar desde varios escenarios de uso. Dependiendo de cómo llamemos a esta action a través del contenedor obtendremos un comportamiento u otro.
Así mismo, vemos que trabajando conjuntamente con el concepto de BO , y ModelLocator como almacenador de nuestros datos de modelo y estado de nuestra aplicación en un momento dado, conseguimos desacoplarnos de la vista, desde la que lanzamos los casos de uso de nuestra aplicación.
Video tutorial con el ejemplo
Como en el ejemplo anterior, hemos creado un video tutorial de 5 minutos , donde mostramos el ejemplo, puedes ver el video online aquí, y lo puedes descargar para ver en tu ordenador aquí.
Enlaces, recursos, y codigo
- Enlace al ejemplo Guasax Calculator online con viewSource
- Descargar el codigo fuente del proyecto aquí , listo para importar en Flex Builder
- Enlace al video tutorial para visualizar online
- Enlace al video tutorial para descargar en zip
- Enlace a googlecode, SVN, wiki, etc…
Esperamos que os haya resultado interesante, en posteriores ejemplos veremos las funciones que nos aporta guasax para desarrollar aplicaciones que hagan uso de Flex Data Services, crearemos un ejemplo de mantenimiento típico en base de datos de una entidad de nuestro modelo de negocio, y nos queda mucho por explorar de guasax, interceptors, roles, componentes reutilizables, … un montón de funciones que esperamos os resulten muy interesantes. Un saludo.
Acerca de esta entrada
Usted está leyendo “Ejemplo calculadora en Guasax,” una entrada de MadeInFlex
- Autor: Angel Blesa
Angel es ingeniero informático especializado en el desarrollo de soluciones Web Flex - Java. Es un apasionado por la ingeniería y el análisis de procesos para el desarrollo de software, patrones de diseño, y frameworks en general para gestionar el ciclo de vida de las aplicaciones.
- URL del Autor:
- http://ablesa.wordpress.com/
- Publicada:
- 15.05.07 / 9pm
- Categorías:
- Guasax
- Entradas relacionadas:
- VideoTutorial HolaMundo en guasax
- Guasax estrena web
- Guasax, el origen
- Guasax Flex Framework
- Número de visitas:
- 5149
9 Comentarios
Ir al formulario de comentarios | rss (comentarios) [?] | trackback url [?]