O documento apresenta uma introdução ao framework Google Web Toolkit (GWT), descrevendo seu ambiente de desenvolvimento baseado no Eclipse, sua estrutura de projetos e módulos, além de abordar conceitos como widgets, comunicação, internacionalização e integração com bibliotecas como SmartClient. É apresentada uma série de passos práticos para configurar e desenvolver um projeto GWT.
2. Introdução
É um framework desenvolvido pela Google, que
facilita a criação de aplicativos web, sem preocupar-
se com compatibilidade de navegadores e
manutenção de código JavaScript.
3. Ambiente
IDE Eclipse;
Suporte a linguagem Java;
Google Suite Plugin;
Facilita configuração do projeto GWT.
4. Projeto
Estrutura do projeto;
Servidor;
Cliente;
Configuração (Módulo);
Web;
Biblioteca.
11. Widgets
São mini aplicações projetadas para serem
executadas como aplicações individuais ou add-on
(adicionáveis) em páginas Web;
No GWT são basicamente os componentes para se
montar uma página web.
12. Prática
Criar um VerticalPanel;
Criar um HorizontalPanel;
Criar um Label;
Criar um TextBox;
Criar um Button.
13. Comunicação
Suporta JSON e XML;
GWT RPC é um protocolo semelhante ao tradicional
Java RMI, bastando criar uma interface e especificar
os métodos remotos que se desejam ser chamados;
Serializa automaticamente os argumentos/parâmetros;
Todas suas chamadas são assíncronas;
Suporta transmitir exceções.
15. Prática
GWT RPC;
Criar interface no pacote client;
Interface estende RemoteService;
Gerar Async pelo plugin no pacote client;
Anotar a interface com @RemoteServiceRelativePath(“servletName”);
Criar pacote server;
Implementar interface no pacote server;
Implementação estende RemoteServiceServlet;
Implementação é um servlet;
Registrar o servlet no web.xml;
Integrar com a tela.
16. Internacionalização
Suporta três técnicas de implementação;
Static String Internacionalization;
Dynamic String Internacionalization;
Extending or implementing Localizable.
17. Prática
Static String Internacionalization;
Criar duas interfaces;
MinhasConstants estende a interface Constants;
MinhasMessages estende a interface Messages;
Criar dois arquivos properties;
MinhasConstants_pt_BR.properties;
MinhasMessages_pt_BR.properties;
Registrar locale pt_BR no XML do módulo;
<extend-property name="locale" values="pt_BR"/>;
Registrar no XML do módulo caso necessite formatar data;
<inherits name="com.google.gwt.i18n.I18N"/>;
Criar constantes e mensagens;
Integrar com a tela.
18. JSNI
JavaScript Native Interface;
Responsável por permitir a codificação de JavaScript
no meio de código Java;
Métodos JSNI são declarados nativamente e o bloco
delimitado entre /*-{ e }-*/;
Muito usado para criação de novos componentes.
20. SmartClient
Biblioteca JavaScript;
Desenvolvida pela Isomorphic Software;
Utilização do lado client é gratuita;
URL: http://www.smartclient.com/;
Integração SmartClient com GWT;
Projeto SmartGWT;
OpenSource;
URL: http://code.google.com/p/smartgwt/;
Mais componentes;
Componentes ricos.
21. Prática
Baixar biblioteca;
Adicionar jars no classpath do projeto;
smartgwt.jar;
smartgwt-skins.jar;
Registrar no biblioteca no XML do módulo;
<inherits name="com.smartgwt.SmartGwt"/>;
Criar um ListGrid;
Campos Nome e Idade;
Popular.