1. O documento apresenta o framework ZK, que permite desenvolver interfaces web ricas utilizando Ajax sem necessidade de programação em Javascript.
2. ZK funciona gerando dinamicamente código HTML, CSS e Javascript a partir de uma linguagem própria chamada ZUML.
3. A arquitetura do ZK separa o código em três módulos que rodam no cliente e servidor, tornando a comunicação Ajax fácil entre os dois lados.
4. Evolução das páginas web Páginas HTML Estáticas Páginas HTML Dinâmicas (DHTML) Páginas com Flash, Applets Páginas com uso de Ajax
5.
6.
7.
8. Possibilidade de configurar atributos (como na decimalbox). O input gerado assumirá valores nos moldes do atributo format Exemplo ZUML
9.
10.
11. 1 : Sempre um cliente faz a requisição de uma página através da URL, o ZK loader interpreta a requisição, gera a página HTML correspondente (baseado no código ZUML referente à URL requisitada) e cria objetos no servidor que permitirão a manipulação da interface da página.
12. 2: Em seguida, o ZK loader envia a página HTML gerada para o cliente juntamente com o ZK client engine. O ZK client engine irá residir no “lado do cliente” e será responsável por monitorar os eventos disparados pelo browser.
13. 3: Se qualquer evento for disparado no cliente, o ZK client engine irá enviá-lo (através de uma requisição Ajax) para o ZK AU engine localizado no servidor.
14. 4: O ZK AU engine recebe a requisição Ajax, atualiza os objetos que manipulam os componentes de interface e retorna uma resposta para o cliente, relatando as modificações que página deverá sofrer.
15. 5: Assim que o ZK client engine recebe a resposta, ele atualiza a representação visual da página
22. Pacotes e classes do exemplo hello.zul arquivo com o código ZUML da página. HelloWindow.java classe java que irá manipular a página hello.zul Obs.: A extensão .zul é a utilizada para os arquivos que contêm código ZUML.
25. Atributo use aponta para HelloWindow Ação do botão HelloWindow.java hello.zul
26. Atributo use aponta para HelloWindow Recupera o objeto que manipula a textbox através do id Ação do botão Manipula valor da textbox HelloWindow.java hello.zul