ZK es un framework de aplicaciones web en AJAX de código abierto, completamente en Java,[1][2][3]​ que permite la creación de interfaces de usuario para aplicaciones web sin usar JavaScript y con poca programación.

ZK
Información general
Tipo de programa biblioteca de Java
Desarrollador Potix Corporation
Licencia LGPL / ZOL / Comercial
Información técnica
Programado en Java
Plataformas admitidas máquina virtual Java
Enlaces

El núcleo de ZK es un mecanismo conducido por eventos basado en AJAX, sustentado sobre 123 componentes XUL y 83 componentes XHTML,[4][5]​ y un lenguaje de marcación para diseñar interfaces de usuario. Los programadores diseñan las páginas de su aplicación en componentes XUL/XHTML ricos en características, y los manipulan con eventos disparados por la actividad del usuario final. Es similar al modelo de programación encontrado en las aplicaciones basadas en GUI de escritorio.

ZK utiliza el acercamiento llamado centrado-en-el-servidor para la sincronización de componentes y el pipelining entre clientes y servidores se haga automáticamente por el motor, y los códigos de Ajax sean completamente transparentes para los desarrolladores de aplicaciones web. Por lo tanto, los usuarios finales obtienen una interacción y respuesta similar a las de una aplicación de escritorio, mientras que la complejidad del desarrollo es similar a la que tendría la codificación de aplicaciones de escritorio.

Además de la programación basada en componentes y orientación a eventos, de manera similar a Swing, ZK soporta un lenguaje de marcación para la definición de una potente interfaz de usuario llamada ZUML.

  • ZUML está diseñado para que desarrolladores no expertos diseñen interfaces de usuario de forma eficiente.
  • ZUML permite a un desarrollador mezclar diferentes tipos de lenguaje de marcación, tales como el lenguaje XUL de Mozilla y XHTML, todos ellos en la misma página.
  • ZUML permite a los desarrolladores embeber scripts en lenguaje Java (interpretado por BeanShell) y usar expresiones EL para manipular los componentes y acceder a los datos.

Ventajas, desventajas editar

Ventajas editar

  • ZUML permite a los no expertos diseñar eficientemente interfaces de usuario.
  • Empotrar script en Java ayuda al prototipado rápido y a las personalizaciones.
  • No es necesario que el desarrollador tenga conocimientos de Ajax o JavaScript.
  • Modelo basado en componentes intuitivo dirigido por eventos.
  • Permite centrar toda la lógica de programación en el servidor.

Desventajas editar

  • No es apropiado para:
    • Videojuegos de acción.
    • Aplicaciones basadas en gráficos vectoriales o tridimensionales
    • Programas de edición fotográfica o de video
  • Tampoco es apropiado para aplicaciones accesibles al público en general que requieran:
    • Ser optimizadas en los motores de búsquedas mediante técnicas SEO
    • Alto nivel de accesibilidad que exija que dicha aplicación deba funcionar con el javascript del navegador desactivado

Diferencias con XUL editar

  • Aunque soporta muchos de los componentes XUL, ZK los renderiza en etiquetas HTML.
    • Esto significa que no cuenta con el poder del motor de renderización XUL Gecko el cual está empotrado en Mozilla/Firefox.
    • ZK es compatible con navegadores que no soportan XUL, tales como Internet Explorer.
    • ZK mantiene su propio Look and feel entre los navegadores. Es independiente del look and feel del motor de renderización XUL de Gecko
  • ZK no soporta todos los atributos de XUL e introduce algunas extensiones propietarias.

Requisitos del sistema editar

Requisitos de habilidades en programación editar

Imprescindible editar

  • Conocimiento Básico de Java
  • Conocimiento Básico de HTML y XUL
  • (Deseable) Conocer JSF

Recomendado editar

  • Programación Orientada a Objetos
  • Programación con Servlet/JSP
  • Ajax
  • JavaScript

ZUML editar

ZUML (Lenguaje de Marcación de Interfaz de Usuario ZK) es un lenguaje de marcación para definición de interfaces de usuario ricas.

  • ZUML está diseñado para habilitar a desarrolladores, para que desarrollen interfaces de usuario eficientemente.
  • ZUML permite al desarrollador mezclar diferentes lenguajes de marcación, tales como el lenguaje XUL de Mozilla y XHTML, todos en la misma página.
  • ZUML permite a los desarrolladores embeber script en lenguaje Java puro(interpretado por BeanShell) y usar expresiones EL para manipular los componentes y acceder a los datos.
  • ZUML está soportado por ZK.

Referencias editar

  1. Chen, Henri (2008). ZK - Ajax without JavaScript (en inglés). Apress. p. 125. ISBN 978-1-59059-901-3. 
  2. Staeuble, Markus (2008). ZK Developer's Guide (en inglés). Packt Publishing. p. 184. ISBN 978-1-84719-200-4. 
  3. Van der Schyff, Andre (31 de marzo de 2009). «A look at MVC frameworks» (en inglés). ITWeb. Archivado desde el original el 22 de agosto de 2009. Consultado el 30 de mayo de 2022. «MVC frameworks provide limited functionality when compared to ZK, Echo and other Java Web frameworks.» 
  4. «ZK Framework 3.5.2 (Release Note)» (en inglés). Zkoss.org. Consultado el 30 de mayo de 2022. 

Enlaces externos editar