Gwt parte 01

Preview:

Citation preview

R A F A E L A D R IA N O

GWTGoogle Web Toolkit

Parte 01

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.

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 JavaScriptno 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...