domingo, 15 de junho de 2008

ZK: Ajax sem JavaScript no NetBeans - Parte 1

Em um dos posts sobre o JavaOne comentei ter visto um framework impressionante chamado ZK. Conversei alguns minutos com Henri Chen, autor de um livro sobre o assunto, e prometi a mim mesmo que arranjaria um tempo para conhecer melhor a solução, pois fiquei bastante curioso.


Henri Chen e seu livro sobre ZK

O principal objetivo do ZK é permitir que aplicações web tenham a mesma interatividade e riqueza encontradas desktop, só que isso deve ser o mais fácil possível para o desenvolvedor. Ele inclui um Ajax-based event-driven engine, um conjunto rico de componentes XUL e XHTML e uma linguagem de marcação (markup language). Para ter uma noção do que é possível sugiro dar uma olhada no live demo e uma navegada na página do projeto em zkoss.org.

Para experimentar o ZK eu precisava de uma aplicação exemplo. Resolvi me basear num Lista de Tarefas (Todo list) criada em um Tutorial Passo a Passo para iniciantes do ZK, em português (Veja ao vivo). Como não tenho colocado a mão na massa com desenvolvimento Web ultimamente, procurei facilitar minha vida e encontrei no SourceForge o REM - A NetBeans Module for ZK, ou seja, um plugin ZK para o NetBeans.

Nessa 1a parte, vamos aprender a instalar o plugin e criar um projeto usando o ZK. Na 2a criaremos uma tabela no JavaDB, a classe de entidade correspondente usando JPA e exibiremos as informações em uma página. Na 3a parte vamos implementar a inclusão, exclusão e alteração de informações, chegando a uma aplicação 100% funcional.

Primeiro baixe a versão 1.5.0 (um arquivo ZIP), e adicione o plugin ao NetBeans 6.1 (Para isso, vá no menu Tools -> Plugins, aba Downloaded, clique em Add Plugins e selecione o arquivo net-sf-rem.nbm na pasta onde você descompactou o arquivo baixado. Clique em Install e siga confirmando até concluir).

Instalando o REM NetBeans Module for ZK

Agora crie um projeto para ver como usar o ZK no NetBeans. Escolha File -> New Project -> Web / Web Application e clique em Next. Chame o projeto de ListaTarefas e escolha Next. Escolha o Server de sua preferência (estou usando o Glassfish V2) e siga em frente. A última tela pedirá para escolher os frameworks que você deseja usar na aplicação. Selecione ZK 3.0.1 e clique em Finish.

Criando um projeto Web no NetBeans usando o ZK

Será criado um projeto Java/Web com toda a estrutura de pastas e prontas para deploy. Em Web Pages, Observe o arquivo principal index.zul, contendo apenas o trecho código:
<?xml version="1.0" encoding="UTF-8"?>
<window>
My ZK application
</window>
Se você clicar em Run terá uma aplicação funcional, mostrando uma página com o texto My ZK application.

Aplicação ZK básica feita no NetBeans

Temos nosso ponto de partida, então você já pode começar a desenvolver para Web usando o ZK. Se não quiser aguardar o próximo post, sugiro fazer umas experiências alterando o código da index.zul com base em demos ou tutoriais da página do ZK. Até breve!

2 comentários:

Serge Rehem disse...

Veja aqui mais um plugin ZK pro NetBeans. Este adiciona componentes ZK à paleta do NetBeans: http://elgharabawy.hostrator.com/NetBeansDemos/NetBeansZK.html

Serge Rehem disse...

E para quem prefere o Eclipse, vale conferir o ZK Studio, cuja versão 0.8.3 suporta o Eclipse 3.4 (Ganymede): http://zkoss.org/product/zkstudio.dsp