O documento discute o Google Web Toolkit (GWT), um framework para desenvolvimento de aplicações web ricas em Java que compila código Java para JavaScript. Ele aborda o que é GWT, sua história, vantagens, desvantagens, como começar uma aplicação, APIs do Google e empresas que utilizam GWT.
1. Web Toolkit
Universidade Vila Velha
Hugo Corteletti e Lorran Pegoretti
Trabalho realizado para avaliação na disciplina de Programação Avançada para
WEB, do curso de Ciência da Computação, turno matutino, da Universidade de
Vila Velha (UVV), ministrada pelo professor Vinicius Rosalen.
2013
2. Tópicos Abordados
O que é o GWT?
História
Vantagens
Desvantagens
Começando uma aplicação
Google APIs
Desenvolvimento com GWT
Empresas que utilizam GWT
3. O que é o GWT?
Framework para desenvolvimento de aplicações ricas para internet que traduz
código Java em código JavaScript
Lema: “Produtividade para desenvolvedores, desempenho para usuários.”
Deixar uma interface rica e que funcione nos principais navegadores é muito difícil
devido à falta de padrões existentes entre os navegadores
O Google Web Toolkit foi criado com intuito de ajudar os desenvolvedores nessa
tarefa
Definição: “Google Web Toolkit (GWT) é um kit de ferramentas de desenvolvimento
para a construção e otimização de aplicações complexas baseadas em browser.”
4. História
Sua versão 1.0 foi lançada em 16 de maio de 2006, tendo sido apresentado na
conferência JavaOne naquele mesmo ano
Em agosto de 2010 o Google focou o GWT para eclipse, lançando com o Google
Plugin for Eclipse
Sua versão atual é a 2.5.1 que foi lançada em março de 2013
6. Vantagens
Processamento de apresentação é todo realizado no cliente
Menor uso de recursos do servidor
Escalabilidade
Menor tráfego de rede
Após o carregamento inicial apenas dados trafegam, pois a lógica de exibição e as
telas já estão todas no cliente
7. Vantagens
Compilador JavaScript
Alta performance
Erros encontrados em tempo de compilação
Múltiplos navegadores
Permite utilizar JavaScript no código Java via JSNI (JavaScript Native Interface)
JSNI é o responsável por fazer a integração diretamente com o código Java
8. Desvantagens
Tamanho do JavaScript inicial pode ser grande
Não é possível utilizar todas as classes do Java do lado do cliente, apenas um
conjunto delas
Classes utilizadas no lado do cliente devem ser traduzíveis para JavaScript
Uso de bibliotecas de terceiros
Há menor controle sobre o código do cliente no aplicativo
Difícil de debugar CSS
Difícil de simular integração com outras tecnologias (ex. Flash)
10. Começando uma Aplicação
Main.gwt.xml: O arquivo do módulo
XML do projeto, contido no pacote
raiz do projeto, é um arquivo XML
que detém as configurações
completas da aplicação
necessárias por um projeto GWT
11. Começando uma Aplicação
inherits: Especifica os módulos herdados por este módulo. Neste simples caso, nós só
herdamos a funcionalidade fornecida pelo módulo User, que é integrada ao framework
GWT. Quando sua aplicação se torna mais complexa, a herança de módulo permite
que você reutilize partes de funcionalidade de uma maneira rápida e eficiente
entry-point: Refere-se à classe que será instanciada pelo framework GWT quando o
módulo for carregado
Main.gwt.xml
12. Começando uma Aplicação
MainEntryPoint.java: A classe que
designa o ponto de entrada
principal da aplicação, conforme
especificado em Main.gwt.xml. Ela
estende a classe EntryPoint e,
quando o módulo GWT é carregado
pelo framework, essa classe é
instanciada e seu método
onModuleLoad() é chamado
automaticamente
14. Começando uma Aplicação
MainEntryPoint.java
o método onModuleLoad() default do EntryPoint adiciona os seguintes
componentes à aplicação:
Label: Um novo Label GWT é criado, exibindo o texto, 'Hello, GWT!!!'. O label é
adicionado ao RootPanel através da linha final do código,
RootPanel.get().add(label)
Button: Um novo Button (Botão) GWT é criado, exibindo o texto “Click me!” com
um listener do botão, implementado por ClickListener. O listener do botão
especifica que quando o botão é clicado, o label fica oculto
16. Começando uma Aplicação
welcomeGWT.html: A página HTML
do host gerada, que é o arquivo de
boas-vindas designado para a
aplicação. O arquivo web.xml usa o
elemento welcome-file para
especificar que a página do host
será a página inicial exibida no
browser quando a aplicação for
implantada. A página do host
referencia o caminho para o
código-fonte JavaScript e pode
referenciar a folha de estilo da
aplicação
18. Começando uma Aplicação
welcomeGWT.html
meta: Aponta para o diretório de projeto da aplicação. Essa tag fornece
um link entre a página HTML e a aplicação
script: Importa códigos do arquivo JavaScript do framework GWT. Esse
arquivo contém o código necessário para o bootstrap do framework GWT.
Ele usa a configuração no módulo do projeto e carrega dinamicamente o
JavaScript criado ao compilar o ponto de entrada para entregar à
aplicação. O arquivo JavaScript é gerado pelo framework GWT ao
executar a aplicação no modo hospedado ou ao compilar a aplicação
19. Google APIs
Google+ API
Google Books API
Google Calendar API
Google APIs Discovery Service
Google Latitude API
Google Tasks API
Google URL Shortener (goo.gl)
20. API Google Maps
A API do Google Maps fornece uma API JavaScript que permite que você
adicione a funcionalidade de mapeamento para a sua aplicação
A biblioteca do Google Maps para o GWT permite que você acesse este
API JavaScript a partir do código Java compilado com o compilador GWT
23. Desenvolvimento com GWT
Facilita o desenvolvimento de aplicações que façam uso de Ajax
Evita que o desenvolvedor perca tempo com detalhes técnicos durante a criação de
aplicações web bastante dinâmicas
Evita incompatibilidades entre browsers e plataformas e permite maior modularização
dos componentes AJAX e JavaScript
24. Empresas que utilizam GWT
GFT Brasil Consultoria Informática Ltda.
O Grupo GFT é um dos principais fornecedores mundiais de serviços
de TI para o setor financeiro. Presente no Brasil desde 2005, a
empresa emprega cerca de 160 profissionais no país.
INCORP
Softwares estratégicos para administração de conselhos regionais
de profissões regulamentadas, autoatendimento via web e gestão
de processos eleitorais.
Certificada nível G do MPS.BR
Converge TI
Empresa especializada no desenvolvimento de soluções para
empresas.
25. Referências
Google Web Toolkit Overview - https://developers.google.com/web-
toolkit/overview
Google Web Toolkit - http://en.wikipedia.org/wiki/Google_Web_Toolkit#History
Aplicação NetBeans - https://netbeans.org/kb/docs/web/quickstart-webapps-
gwt_pt_BR.html
API do Google Maps - https://code.google.com/p/gwt-google-
apis/wiki/MapsGettingStarted
Mail app - http://gwt.googleusercontent.com/samples/Mail/Mail.html
Empresas que utilizam GWT no Brasil -
https://groups.google.com/forum/?fromgroups#!topic/gwt-brasil/K7NiaY1hkMw