JavaArquivo de

Ajax Aplicações Banco de Dados Blog Blogs Celular CRM Curso Linux Ubuntu Online Código Fonte ERP Java Linux Noticias PHP PostgresSql Ruby on Rails twitter videos Virtualização WordPress

GWT 1.3 Release Candidate é 100% de Código Aberto, mas AJAX

Captura da tela GWT 1.3 Release Candidate é 100% de Código Aberto, mas AJAX
Segundo o blog do GWT (Google Web Toolkit), hoje é um marco para os desenvolvedores do projeto, com o lançamento da release 1.3, a equipe anuncia que o código fonte agora esta sob a licença do Apache 2.0

Agora o GWT 1.3 RC é totalmente aberto ( opensource ), incluindo a ferramenta de debugging.

A idéia principal é usar criar um comunidade de desenvolvimento da ferramenta, principalmente para eliminar e erros e criar novas funcionalidades.

Anuncio do lançamento do GWT (Google Web Toolkit ) 1.3 RC OpenSource

Outros artigos sobre AJAX:

Criando uma aplicação em PHP para trabalhar com o Google Calendar

Yahoo! TV: Agora com Ajax.

Componentes do YUI-EXT produzem interfaces profissionais em AJAX!

Yahoo! UI Library – Conheça o AJAX do Yahoo.

Ajax/Javascript Com DHTMLGoodies: Resulta em interfaces profissionais

ADOBE doa código fonte para Mozilla, que pretende criar Framework AJAX

Ajax com Dojo: Tem até gráfico!

JQuery – Uma nova forma de programar em JavaScript

Pyjamas: Criando aplicações AJAX programando em python

Aprendendo AJAX com Google Web Toolkit (GWT) e Eclipse

Um Cliente Samba Feito em Ajax

Ajax é com o Eclipse

Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

Escrever aplicações em AJAX com Google Web Toolkit (GWT) é fácil principalmente para quem já tem experiência em aplicações JAVA, mesmo para quem esta iniciando o framework é uma boa opção pois tem uma ótima documentação com vários exemplos, é em cima de um destes exemplos que farei uma simples analise mostrando como é simples entender as Classes e usar as documentações para buscar referências nos códigos de exemplo.

Resumindo com o GWT você cria aplicações AJAX a partir classes em JAVA, o framework do Google faz todos o trabalho de conversão dos códigos do JAVA para JavaSript e XML, tornando o desenvolvimento do AJAX restrito somente na programação JAVA.

Cada vez que eu uso o meu Gmail penso: o AJAX realmente facilita as coisas, no Google varias aplicações usam o AJAX, com isso podemos criar site/aplicações web com a mesma tecnologia que o Google usa.

Primeiro vamos fazer o download do GWT no http://code.google.com/webtoolkit ( tem a versão para Linux e windows, estarei usando o Linux mas pouca coisa muda para o windows ). Outro requisito é ter o Eclipse instalado ( com Web Tools Project – WTP), eu usei O Eclipse Callisto para facilitar o trabalho, e claro estou considerando que o JAVA esta instalando e configurado. Vamos começar instalando o GWT, eu intalei em /opt mas pode ser em qualquer diretório, ( bom seria colocar o diretório do GWT em sua variável PATH).

Será criado o diretório gwt-linux-1-0.21, ou seja o /opt/ gwt-linux-1-0.21 é o diretório que esta instalado o GWT.

Estrutura de arquivos do GWT, O arquivo index.html traz os links para as documentações e exemplos incluídos no pacote padrão.

Agora crie um diretório onde ficará o nosso projeto de teste.

Criando o Projeto no padrão do Eclipse.

O GWT traz dois utilitários para a criação do projeto já no padrão do Eclipse com todas as bibliotecas necessárias já configuradas.

Onde EtiGwt é o nome no projeto criado.

Depois execute:

Acima foi criado a estrutura básica de um projeto no Eclipse, com as devidas configurações das bibliotecas
do GWT.

Agora acesse o seu eclipse e importe o projeto criado. ( menu File -> Import )

006 Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

Acesse o diretório onde você criou o projeto

007 Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

Será carregado o projeto criado pelo GWT, no exemplo o EtiGwt

009 Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

Com isto estará criado a estrutura padrão do nosso projeto no eclipse

Onde, o código de exemplo gerado esta no pacote com.eti.client ( o arquivo .java). O pacote com.eti tem um diretorio public que guarda os arquivos HTML que são usados para apresentar os componentes do GWT.

 Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

Rodando o código de exemplo.

Apenas para demonstrar como é feita a execução de uma aplicação feita em GWT, vá até o shell dentro do diretório onde esta o projeto do eclipse e execute.

012 Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

Será executado a aplicações sem a necessidade de fazer a compilação.

013 Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

Clicando no botão Click me, você verá a pequena e famosa mensagem , “Hello World!”

Estudando um pouco o código é bem simples:

011 Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

01 componente Button: que é o botão click me

01 componente Label: Que é o texto “Hello World”

Foi adicionado uma ação ao clicar no componente Button ( com o button.addClickListener …), esta ação mostra a mensagem no Label modifica o texto padrão do Label ( setText() ) como “” ( ou seja em branco ). Ao fim é chamado o gerenciador de painéis (Panel, esta é uma classe muito importante) para colocar os dois componentes nas devidas especificações do artigo EtiGwt.html, através da TAG id dentro do html.

GWT a documentação:

A grande vantagem é que o GWT tem um ótima documentação ( claro que não é tudo, mas para começar esta muito bom ), e vamos usar um exemplo da documentação para mostrar mais um código.

Acesse o arquivo index.html dentro do diretório de instalação do GWT.

014 Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

Depois acesse o link da documentação.

Você terá exemplos dos componentes (Widgets) disponíveis, e toda a documentação das classes sempre com um pequeno exemplo de código.

Acesse a documentação do pacote com.google.gwt.user.client.ui.

015 Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

Acesse o linke o componente COMPOSITE.

016 Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

Copie o exemplo ( o código em verde ) o cole no eclipse dentro do arquivo EtiGwt.java, como abaixo.

017 Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

Repare que o eclipse aponta vários erros no código isto porque os “imports” das classes necessárias não estão feitos, o eclipse mesmo já sugere quais são as classes que estão faltando ( basta clicar em um linha que esta indicando o erro) . Abaixo os “imports” depois da modificação feita automaticamente pelo eclipse

019 Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

018 Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

Cole também o código abaixo com o chamado do “RootPanel.get” dentro do método onModuleLoad() existente, para mostrar o novos componentes no fim da tela O código completo deve ficar mais ou menos assim.

020 Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

 
package com.eti.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.CheckBox;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
/**
 * 
 * Entry point classes define onModuleLoad().
 */
public class EtiGwt implements EntryPoint {
/**
 * A composite of a TextBox and a CheckBox that optionally enables it.
 */
public static class OptionalTextBox extends Composite implements ClickListener {
   private TextBox textBox = new TextBox();
   private CheckBox checkBox = new CheckBox();
/**
 * Constructs an OptionalTextBox with the given caption on the check.
 * 
 * 
 * @param caption
 *            the caption to be displayed with the check box
 */
public OptionalTextBox(String caption) {
// Place the check above the text box using a vertical panel.
   VerticalPanel panel = new VerticalPanel();
   panel.add(checkBox);
   panel.add(textBox);
// Set the check box’s caption, and check it by default.
   checkBox.setText(caption);
   checkBox.setChecked(true);
   checkBox.addClickListener(this);
// All composites must call setWidget() in their constructors.
   setWidget(panel);
// Give the overall composite a style name.
   setStyleName(“example-OptionalCheckBox”);
}
public void onClick(Widget sender) {
    if (sender == checkBox) {
     // When the check box is clicked, update the text box’s enabled state.
      textBox.setEnabled(checkBox.isChecked());
     }
}
/**
 * Sets the caption associated with the check box.
 * 
 * 
 * @param caption
 *            the check box’s caption
 */
public void setCaption(String caption) {
// Note how we use the use composition of the contained widgets to provide
// only the methods that we want to.
   checkBox.setText(caption);
}
/**
 * Gets the caption associated with the check box.
 * 
 * @return the check box’s caption
 */
public String getCaption() {
  return checkBox.getText();
   }
}
/**
 * This is the entry point method.
 */
public void onModuleLoad() {
  final  Button button = new   Button(“Click me”);
  final Label label = new Label();
  button.addClickListener(new ClickListener() {
  public void onClick(Widget sender) {
  if(label.getText().equals(“”)) {
    label.setText(“Hello World!”);
  else
    label.setText(“”);
  }
  }
 }
);
// Assume that the host HTML has elements defined whose
// IDs are “slot1″, “slot2″. In a real app, you probably would not want
// to hard-code IDs. Instead, you could, for example, search for all
// elements with a particular CSS class and replace them with widgets.
//
  RootPanel.get(“slot1″).add(button);
  RootPanel.get(“slot2″).add(label);
// Create an optional text box and add it to the root panel.
  OptionalTextBox otb = new OptionalTextBox(“Check this to enable me”);
  RootPanel.get().add(otb);
  }  
}

Execute novamente a aplicação:

012 Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

Teremos agora no fim da pagina, um checkBox e abaixo um TextBox, onde o TextBox pode ser habilidade e desabilitado com base no checkBox .

Analisando rapidamente o código:

 Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

Criamos um método em nossa classe que tem como objetivo mostrar um TextBox (OptionalTextBox) onde é possível desabilita-lo através de um CheckBox Estes dois componentes foram alinhados com o gerenciador de painéis (Panel) na vertical ( ou seja um abaixo do outro ).Foi atribuído ao CheckBox um texto padrão que neste caso é o titulo do Check, checkBox , .setText(caption).Foi atribuído uma ação ao Check Box, que será o responsável por habilitar e desabilitar o TextBox.

026 Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

 Aprenda AJAX com Google Web Toolkit (GWT), Usando o IDE Eclipse

Conclusão:

Temos em mãos um ótimo framework e claro com todo o suporte do google, este exemplo é realmente simples usei um exemplo pronto da documentação do GWT, experimente isto, pegar cada classe e fazer o testes. O Gerenciador de painéis DockPanel é muito interessante e vale a pena ser estudado. Neste exemplo não foi usado acesso a bando de dados, tarefa que claro esta disponíveis no GWT, também existe a possibilidade de integrar o GWT com o acesso ao banco de dados em PHP, o mais comum e default seria fazer acesso a banco de dados com JDBC, o GWT traz as classes necessárias para fazer esta interface.

Aguardo comentários, e sugestões para estudar e criar aplicações em GWT.


Link interessantes sobre o GWT:

Site com muitos tutoriais e links de novos component GWT

Plugin do eclipse para desenvolvimento Web

intellij.net IDE com suporte ao GWT

Outros artigos sobre AJAX:

Criando uma aplicação em PHP para trabalhar com o Google Calendar

Yahoo!TV: Agora com Ajax.

Componentes do YUI-EXT produzem interfaces profissionais em AJAX!

Yahoo! UI Library – Conheça o AJAX do Yahoo

Ajax/Javascript Com DHTMLGoodies: Resulta em interfaces profissionais

ADOBE doa código fonte para Mozilla, que pretende criar Framework AJAX

Ajax com Dojo: Tem até gráfico!

JQuery – Uma nova forma de programar em JavaScript

Pyjamas:Criando aplicações AJAX programando em python

Aprendendo AJAX com Google Web Toolkit (GWT) e Eclipse

Um Cliente Samba Feito em Ajax

Ajax é com o Eclipse

Como Integrar o Google Maps em suas aplicações Java usando Ajax

Saiu no java.net um exemplo de como integrar o Google Maps em um aplicação web feita em Java, muito interessante, O trabalho é todo feito em cima da API do Maps.

Referencia: java.net