O AJAX em sí não é nada muito complexo, você tem a possibilidade de criar uma função javascript que permite chamar uma página web (servlet, php, asp), tratar seu retorno e utilizar DHTML para redesenhar a tela web sem que seja necessário executar um reload. Entretanto, a manipulação manual de javascript e DHTML para montar uma aplicação complexa (e que funcione em vários browsers) é extramamente tediosa. Para resolver essa questão foram criados diversos frameworks que auxiliam o desenvolvimento de aplicações baseadas em AJAX e DHTML.
Aqui, vou falar um pouco do Google Web ToolKit, que a meu ver, destacou-se das demais ferramentas de sua categoria por apresentar uma visão (arquitetura, paradigma ou o que seja) inovadora.
Considero GWT inovador pois diferente das outras ferramentas ele permite que você escreva a sua aplicação inteiramente em JAVA (sem escrever uma linha de HTML). A mágica funciona de uma maneira muito inteligente.
Primeiro, a equipe do Google Labs portou (construiu as mesmas classes com os mesmos métodos) uma boa parte dos pacotes java.lang e java.util para javascript e chamou de JRE Emulation Library. Nestas bibliotecas estão contidas classes como Object e String que são essenciais para qualquer aplicação Java. Em um segundo momento foram desenvolvidos uma série de classes (componentes visuais, chamadas a servetls, manipulação de XML entre outros) que também foram portados para javascript.Em um segundo momento foi desenvovido um compilador que converte uma aplicação desenvolvida em Java para Javascript denominado GWT Java-to-JavaScript Compiler. Então com essas duas ferramentas a mágica tornou-se possível. Você desenvolve a aplicação inteiramente em Java e depois utiliza o compilador para transformá-la em javascript.
Uma outra característica muito interessante foi o desenvolvimento de um Browser próprio. Esse browser intercepta as execuções em javascript e redireciona para a máquina virtual Java. Isto permite que em tempo de desenvolvimento seja possível debbugar a aplicação.
E é assim que toda a mágica funciona. Eu andei olhando o código do compilador e também os códigos gerados e a única palavra que achei para descrever foi mágica.
Agora vamos a prática, vou descrever abaixo os passos para fazer a primeira aplicação utilizando-se GWT e Netbeans.
1. Baixe o plugin para o netbeans aqui.
2. Utilize o Netbeans 5.5 (neste eu tenho certeza que funciona).
3. Baixe o GWT aqui (Esta é a versão para Windows, mas tem pra Linux e Mac).
4. Instale o plugin no Netbeans utilizando a seguinte sequência: Tools > Update Center > Install Manually Downloaded Modules (.nbm Files) > Next > Add (Adicione o arquivo baixado no item 1) > Next > Confirme todas as telas seguintes ;)
Para criar um novo projeto baseado no GWT você deve utilizar a seguinte sequência: File > New Project > Web > Google Web ToolKit Application. A primeira vez que você criar um projeto será necessário informar o lugar onde você descompactou o arquivo baixado no item 3.
O Netbeans irá criar toda a estrutura de arquivos e uma classe que implementa EntryPoint. Esta classe possui o método onModuleLoad(). Dentro deste módulo você deverá incluir os componentes de sua aplicação. O código abaixo cria uma aplicação simples com dois campos textos e um botão. O Botão copia o texto digitado em um TextField para o outro.
final TextBox texto1 = new TextBox();
final TextBox texto2 = new TextBox();
Button botao = new Button("Clique", new ClickListener() {
public void onClick(Widget sender) {
texto2.setText(texto1.getText());
}
});
RootPanel.get().add(texto1);
RootPanel.get().add(texto2);
RootPanel.get().add(botao);
Para Executar ou Debuggar basta utilizar as funcionalidades padrões do NetBeans.
É isso ai pessoal, espero que tenham gostado. A ferramenta GWT permite que você crie aplicações WEB complexas de maneira simples e bem organizada. Em um próxima entrada explicarei como enviar e receber objetos para o servidor web (Tomcat) utilizando-se o recurso Remote Procedure Call, assim será possível persistir objetos no bando de dados por exemplo.
[]s