miércoles, 17 de abril de 2013

Profundización en el estudio del framework ZK.

En la entrada anterior conocimos que ZK es un framework para desarrollar Interfaces Gráficas de Usuario (UI), que permite construir increíbles aplicaciones para la web y los móviles, sin tener que aprender JavaScript o AJAX [1]. Entre otros temas se abordó el proceso de composición de las UI y la definición del controlador de la UI. En esta entrada profundizaremos el estudio del framework ZK, dando continuidad al código de ejemplo que sirvió para ilustrar la entrada previa.

Manipulando la acción del usuario
Una de las ventajas de la aplicación de ejemplo “formulario de registro“, es que el “Submit button” está habilitado solamente cuando el usuario marca el “Accept Term of use” checkbox.

Primeramente, el botón “Submit” está deshabilitado cuando “Accept Term of use” checkbox  permanece sin marcar.

Cuando el "Accept Term" checkbox, es marcado, el botón “Submit” es habilitado con un icono de cheque.


ZK es un framework manejado por eventos, es por ello que la acción del usuario es manipulada escuchando a los eventos del componente. ZK proporciona una anotación @Listen qué puede usarse en un método para escuchar el evento de un componente especificado por usted. Para lograr la funcionalidad anterior, usted podría anotar un método para escuchar el evento "onCheck" del "Accept Term of Use" checkbox". Siempre que un usuario marque/desmarque la casilla de verificación para activar el evento del "onCheck", ZK invoca el método anotado. Nosotros implementamos este efecto  en la UI, cambiando las propiedades del componente (Objetos Java) en la anotación del método.


Línea 7: Uso de @Listen para declarar un método que manipula el evento onCheck del "acceptTermBox".

Línea 10,11: Habilitando el botón “Submit” y mostrando el icono de chequeado cuando el "Accept Term of Use" checkbox está marcado.

Línea 13,14: Deshabilitando el botón “submit” y limpiar el icono que representa el chequeo.

Con la ayuda de ZK, usted puede fácilmente adicionar a su aplicación efectos de UI elegantes como el tooltip, drag & drop, and hot key, etc. [2]

Fácil integración con otro Framework de Java.
Como ZK te permite manipular las interfaces gráficas de usuario a través del controlador en el lado del servidor, la clase controladora es por tanto el principal punto de extensión para integrar cualquier biblioteca o framework de Java. Para integrar ZK con otro framework, escribe el código de tu controlador para usar clases de la biblioteca que construye tu negocio o la capa de persistencia.

Integrar bibliotecas de terceros.
Con la ayuda del Controlador de UI de ZK,  SelectorCompose, es fácil integrar el legado de tu sistema servicio clase, objeto del dominio y cualquier otra biblioteca de terceros como por ejemplo Log4j.


Línea 4,12: Llamada a Log4j para almacenar la traza de un error.
Línea 5,11: Uso del legado de tu sistema de objetos en el controlador.
Línea 6,11: Uso de su propio objeto de dominio.
Integrando los frameworks de las capas de Negocio y de Persistencia
Es muy importante que un framework de UI pueda cooperar con otros frameworks de las capas de Negocio y de Persistencia  al construir una aplicación web multicapas. ZK es fácilmente el integrable con otros frameworks de la capa de negocio como “Spring”. 
Asuma que usted ha implementado algunas clases según el patrón Objeto de Acceso de Datos (DAO, como la capa de persistencia de su aplicación con Hiberne, JPA u otro framework de persistencia. En la clase controladora usted debe usar estas clases para implementar los requisitos de su aplicación.



Línea 1: Para usar CDI, simplemente use la clase: org.zkoss.zkplus.cdi.DelegatingVariableResolver.class

Línea 4: Para las variables que tengan @WireVariable, ZK inyectara “beans” calificados recuperándolos del contexto Spring.


¿Te ha gustado este Post? Compártelo con tus amigos.

No hay comentarios:

Publicar un comentario

IconIconIcon