GWT Google Web Toolkit

Propaganda
GWT
Google Web Toolkit
Parte 01
RAFAEL AD RIANO
Introdução
 É um framework desenvolvido pela Google, que
facilita a criação de aplicativos web, sem preocuparse com compatibilidade de navegadores e
manutenção de código JavaScript.
Ambiente
 IDE Eclipse;
 Suporte a linguagem Java;
 Google Suite Plugin;

Facilita configuração do projeto GWT.
Projeto
 Estrutura do projeto;





Servidor;
Cliente;
Configuração (Módulo);
Web;
Biblioteca.
Prática
 Criação do projeto;


Nome: Teste;
Pacote: br.udesc.
Módulo
 XML;




Nome do módulo;
Bibliotecas;
Ponto de entrada;
Lado cliente.
Prática
 Criando um módulo;


Criar html;
Inserir módulo no html.
Ponto de entrada
 EntryPoint;
 onModuleLoad.
Prática
 Criando ponto de entrada;

Registrar no XML do módulo.
Teste
 Compilar;
 Executar;
 Browser;
 Plugin;
 Sucesso.
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.
Prática
 Criar um VerticalPanel;
 Criar um HorizontalPanel;
 Criar um Label;
 Criar um TextBox;
 Criar um Button.
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.
Comunicação - GWT RPC
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.
Internacionalização
 Suporta três técnicas de implementação;



Static String Internacionalization;
Dynamic String Internacionalization;
Extending or implementing Localizable.
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.

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.
Prática
 Criar método nativo;
 Invocar método.
public native void showMessage(String msg)/*-{
$wnd.alert(msg);
}-*/;
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.
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.
Deploy/Prática
 Compilação;
 Biblioteca;

Adicionar bibliotecas necessárias na WEB-INF/lib;
 Publicação;

Copiar pasta war e publicar no TomCat.
Continua...
Download