SlideShare uma empresa Scribd logo
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
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
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.”
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
Compilação
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
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
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)
Começando uma Aplicação
 Necessário download do plugin GWT para a IDE.
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
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
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
Começando uma Aplicação
MainEntryPoint.java
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
Começando uma Aplicação
MainEntryPoint.java
O botão é adicionado ao RootPanel por meio da penúltima linha de código.
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
Começando uma Aplicação
welcomeGWT.html
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
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)
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
API Google Maps
API Google Maps
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
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.
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

Mais conteúdo relacionado

Mais procurados

Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
Janynne Gomes
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
HugoDalevedove
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimento
iMasters
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Tchelinux
 
Apostilaandroidfatecnormal
ApostilaandroidfatecnormalApostilaandroidfatecnormal
Apostilaandroidfatecnormal
antonio sérgio nogueira
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para Android
Sidney Roberto
 
google maps api - v1
 google maps api - v1 google maps api - v1
google maps api - v1
Lucas Aquiles
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
Jorge Cardoso
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Henrique Perticarati
 
Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03
Horacio Diamante Mondlane
 
Introdução ao Android Studio
Introdução ao Android StudioIntrodução ao Android Studio
Introdução ao Android Studio
Ramon Ribeiro Rabello
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
Messias Batista
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
Jose Berardo
 
Android Aprendiz
Android AprendizAndroid Aprendiz
Android Aprendiz
Fillipe Cordeiro
 
Programando Android - Aula 1
Programando Android - Aula 1Programando Android - Aula 1
Programando Android - Aula 1
Kalil Maciel
 
Da introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidDa introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento Android
Rodolfo Faquin Della Justina
 
Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2
Matheus Calegaro
 
Android - Notas de aula
Android - Notas de aulaAndroid - Notas de aula
Android - Notas de aula
antonio sérgio nogueira
 
Slides - minicurso app inventor
Slides - minicurso app inventorSlides - minicurso app inventor
Slides - minicurso app inventor
Michel de Souza
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
José Alexandre Macedo
 

Mais procurados (20)

Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimento
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
 
Apostilaandroidfatecnormal
ApostilaandroidfatecnormalApostilaandroidfatecnormal
Apostilaandroidfatecnormal
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para Android
 
google maps api - v1
 google maps api - v1 google maps api - v1
google maps api - v1
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
 
Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03
 
Introdução ao Android Studio
Introdução ao Android StudioIntrodução ao Android Studio
Introdução ao Android Studio
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Android Aprendiz
Android AprendizAndroid Aprendiz
Android Aprendiz
 
Programando Android - Aula 1
Programando Android - Aula 1Programando Android - Aula 1
Programando Android - Aula 1
 
Da introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidDa introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento Android
 
Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2
 
Android - Notas de aula
Android - Notas de aulaAndroid - Notas de aula
Android - Notas de aula
 
Slides - minicurso app inventor
Slides - minicurso app inventorSlides - minicurso app inventor
Slides - minicurso app inventor
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 

Destaque

Google Maps - GDG Sorocaba - Kenzo
Google Maps - GDG Sorocaba - KenzoGoogle Maps - GDG Sorocaba - Kenzo
Google Maps - GDG Sorocaba - Kenzo
Hudson Augusto
 
Dropbox 17 05-2012
Dropbox 17 05-2012Dropbox 17 05-2012
Instructivo: Documento en Google Drive
Instructivo: Documento en Google Drive Instructivo: Documento en Google Drive
Instructivo: Documento en Google Drive
Cecilia CH
 
Pruebas automatizadas de aceptación en aplicaciones web
Pruebas automatizadas de aceptación en aplicaciones webPruebas automatizadas de aceptación en aplicaciones web
Pruebas automatizadas de aceptación en aplicaciones web
Giannis Morales
 
Aula 5 - Criando Mapas no Google Maps
Aula 5 - Criando Mapas no Google MapsAula 5 - Criando Mapas no Google Maps
Aula 5 - Criando Mapas no Google Maps
Claudio Martins
 
Meo wallet online bootcamp consultores digitais
Meo wallet online bootcamp consultores digitaisMeo wallet online bootcamp consultores digitais
Meo wallet online bootcamp consultores digitais
Bootcamp Consultores Digitais
 
Google Drive
Google DriveGoogle Drive
Google Drive
Giannis Morales
 
Google Drive - Formação
Google Drive - FormaçãoGoogle Drive - Formação
Google Drive - Formação
Maria Souza
 
Site responsivo vantagens e desvantagens
Site responsivo vantagens e desvantagensSite responsivo vantagens e desvantagens
Site responsivo vantagens e desvantagens
Marconi Pacheco
 
Como usar o google drive
Como usar o google driveComo usar o google drive
Como usar o google drive
Eugenio Lysei
 
Tutorial: Google Maps
Tutorial: Google MapsTutorial: Google Maps
Tutorial: Google Maps
inovaDay .
 
Dropbox
DropboxDropbox
Google drive, cómo trabajar en la nube de google
Google drive, cómo trabajar en la nube de googleGoogle drive, cómo trabajar en la nube de google
Google drive, cómo trabajar en la nube de google
Javier Prada Oliva
 
Google drive - Planilhas
Google drive - PlanilhasGoogle drive - Planilhas
Google drive - Planilhas
Andrei Carniel
 
Google docs google drive
Google docs   google driveGoogle docs   google drive
Google docs google drive
Josineide Barros
 
Google maps
Google mapsGoogle maps
Apostila gmail googledrive
Apostila gmail googledriveApostila gmail googledrive
Apostila gmail googledrive
Claudinéia da Silva
 
Google Maps
Google MapsGoogle Maps
Tutorial google drive
Tutorial google driveTutorial google drive
Tutorial google drive
christiane zubler
 
Tutorial google drive
Tutorial google driveTutorial google drive
Tutorial google drive
David Cortes
 

Destaque (20)

Google Maps - GDG Sorocaba - Kenzo
Google Maps - GDG Sorocaba - KenzoGoogle Maps - GDG Sorocaba - Kenzo
Google Maps - GDG Sorocaba - Kenzo
 
Dropbox 17 05-2012
Dropbox 17 05-2012Dropbox 17 05-2012
Dropbox 17 05-2012
 
Instructivo: Documento en Google Drive
Instructivo: Documento en Google Drive Instructivo: Documento en Google Drive
Instructivo: Documento en Google Drive
 
Pruebas automatizadas de aceptación en aplicaciones web
Pruebas automatizadas de aceptación en aplicaciones webPruebas automatizadas de aceptación en aplicaciones web
Pruebas automatizadas de aceptación en aplicaciones web
 
Aula 5 - Criando Mapas no Google Maps
Aula 5 - Criando Mapas no Google MapsAula 5 - Criando Mapas no Google Maps
Aula 5 - Criando Mapas no Google Maps
 
Meo wallet online bootcamp consultores digitais
Meo wallet online bootcamp consultores digitaisMeo wallet online bootcamp consultores digitais
Meo wallet online bootcamp consultores digitais
 
Google Drive
Google DriveGoogle Drive
Google Drive
 
Google Drive - Formação
Google Drive - FormaçãoGoogle Drive - Formação
Google Drive - Formação
 
Site responsivo vantagens e desvantagens
Site responsivo vantagens e desvantagensSite responsivo vantagens e desvantagens
Site responsivo vantagens e desvantagens
 
Como usar o google drive
Como usar o google driveComo usar o google drive
Como usar o google drive
 
Tutorial: Google Maps
Tutorial: Google MapsTutorial: Google Maps
Tutorial: Google Maps
 
Dropbox
DropboxDropbox
Dropbox
 
Google drive, cómo trabajar en la nube de google
Google drive, cómo trabajar en la nube de googleGoogle drive, cómo trabajar en la nube de google
Google drive, cómo trabajar en la nube de google
 
Google drive - Planilhas
Google drive - PlanilhasGoogle drive - Planilhas
Google drive - Planilhas
 
Google docs google drive
Google docs   google driveGoogle docs   google drive
Google docs google drive
 
Google maps
Google mapsGoogle maps
Google maps
 
Apostila gmail googledrive
Apostila gmail googledriveApostila gmail googledrive
Apostila gmail googledrive
 
Google Maps
Google MapsGoogle Maps
Google Maps
 
Tutorial google drive
Tutorial google driveTutorial google drive
Tutorial google drive
 
Tutorial google drive
Tutorial google driveTutorial google drive
Tutorial google drive
 

Semelhante a GWT

Gwt
GwtGwt
Gwt parte 01
Gwt   parte 01Gwt   parte 01
Gwt parte 01
Rafael Adriano
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
Felipe J. R. Vieira
 
Pyjamas: Uma Ferramenta Pythônica para Web
Pyjamas: Uma Ferramenta Pythônica para WebPyjamas: Uma Ferramenta Pythônica para Web
Pyjamas: Uma Ferramenta Pythônica para Web
Nielson Santana
 
GWT - RIA baseada em AJAX
GWT - RIA baseada em AJAXGWT - RIA baseada em AJAX
GWT - RIA baseada em AJAX
MJV Tecnologia & Inovação
 
Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1
michellobo
 
gae
gaegae
Mc56 gwt
Mc56 gwtMc56 gwt
Apostila de programacao java
Apostila de programacao javaApostila de programacao java
Apostila de programacao java
Cleber Costa
 
jQuery: Write less, do more
jQuery: Write less, do morejQuery: Write less, do more
jQuery: Write less, do more
hfsantos
 
Slide 02 introdução ao code igniter, utilização do bootstrap
Slide 02   introdução ao code igniter, utilização do bootstrap Slide 02   introdução ao code igniter, utilização do bootstrap
Slide 02 introdução ao code igniter, utilização do bootstrap
Raniere de Lima
 
Gwt-Guice_TDC2009
Gwt-Guice_TDC2009Gwt-Guice_TDC2009
Gwt-Guice_TDC2009
Eder Magalhães
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
armeniocardoso
 
Desenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e SpringDesenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e Spring
Eder Magalhães
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãos
Thiago Soares
 
Widget
WidgetWidget
Widget
grupoass
 
Netbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 PortuguesNetbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 Portugues
Rodrigo Peleias
 
Google Apps Script
Google Apps ScriptGoogle Apps Script
Google Apps Script
CIJUN
 
FAESA Computação Móvel: Introducao a Phonegap e Cordova
FAESA Computação Móvel: Introducao a Phonegap e CordovaFAESA Computação Móvel: Introducao a Phonegap e Cordova
FAESA Computação Móvel: Introducao a Phonegap e Cordova
Loiane Groner
 
Conhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVCConhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVC
Fabrício Lopes Sanchez
 

Semelhante a GWT (20)

Gwt
GwtGwt
Gwt
 
Gwt parte 01
Gwt   parte 01Gwt   parte 01
Gwt parte 01
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Pyjamas: Uma Ferramenta Pythônica para Web
Pyjamas: Uma Ferramenta Pythônica para WebPyjamas: Uma Ferramenta Pythônica para Web
Pyjamas: Uma Ferramenta Pythônica para Web
 
GWT - RIA baseada em AJAX
GWT - RIA baseada em AJAXGWT - RIA baseada em AJAX
GWT - RIA baseada em AJAX
 
Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1
 
gae
gaegae
gae
 
Mc56 gwt
Mc56 gwtMc56 gwt
Mc56 gwt
 
Apostila de programacao java
Apostila de programacao javaApostila de programacao java
Apostila de programacao java
 
jQuery: Write less, do more
jQuery: Write less, do morejQuery: Write less, do more
jQuery: Write less, do more
 
Slide 02 introdução ao code igniter, utilização do bootstrap
Slide 02   introdução ao code igniter, utilização do bootstrap Slide 02   introdução ao code igniter, utilização do bootstrap
Slide 02 introdução ao code igniter, utilização do bootstrap
 
Gwt-Guice_TDC2009
Gwt-Guice_TDC2009Gwt-Guice_TDC2009
Gwt-Guice_TDC2009
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
 
Desenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e SpringDesenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e Spring
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãos
 
Widget
WidgetWidget
Widget
 
Netbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 PortuguesNetbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 Portugues
 
Google Apps Script
Google Apps ScriptGoogle Apps Script
Google Apps Script
 
FAESA Computação Móvel: Introducao a Phonegap e Cordova
FAESA Computação Móvel: Introducao a Phonegap e CordovaFAESA Computação Móvel: Introducao a Phonegap e Cordova
FAESA Computação Móvel: Introducao a Phonegap e Cordova
 
Conhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVCConhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVC
 

Mais de Lorran Pegoretti

Software Architecture for Robotics
Software Architecture for RoboticsSoftware Architecture for Robotics
Software Architecture for Robotics
Lorran Pegoretti
 
Algoritmo de Rabin-Karp - Artigo
Algoritmo de Rabin-Karp - ArtigoAlgoritmo de Rabin-Karp - Artigo
Algoritmo de Rabin-Karp - Artigo
Lorran Pegoretti
 
Algoritmo de Rabin-Karp
Algoritmo de Rabin-KarpAlgoritmo de Rabin-Karp
Algoritmo de Rabin-Karp
Lorran Pegoretti
 
Padrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e BridgePadrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e Bridge
Lorran Pegoretti
 
Material Seminário NoSQL
Material Seminário NoSQLMaterial Seminário NoSQL
Material Seminário NoSQL
Lorran Pegoretti
 
Seminário - NoSQL
Seminário - NoSQLSeminário - NoSQL
Seminário - NoSQL
Lorran Pegoretti
 

Mais de Lorran Pegoretti (6)

Software Architecture for Robotics
Software Architecture for RoboticsSoftware Architecture for Robotics
Software Architecture for Robotics
 
Algoritmo de Rabin-Karp - Artigo
Algoritmo de Rabin-Karp - ArtigoAlgoritmo de Rabin-Karp - Artigo
Algoritmo de Rabin-Karp - Artigo
 
Algoritmo de Rabin-Karp
Algoritmo de Rabin-KarpAlgoritmo de Rabin-Karp
Algoritmo de Rabin-Karp
 
Padrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e BridgePadrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e Bridge
 
Material Seminário NoSQL
Material Seminário NoSQLMaterial Seminário NoSQL
Material Seminário NoSQL
 
Seminário - NoSQL
Seminário - NoSQLSeminário - NoSQL
Seminário - NoSQL
 

Último

DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 

Último (6)

DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 

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)
  • 9. Começando uma Aplicação  Necessário download do plugin GWT para a IDE.
  • 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
  • 15. Começando uma Aplicação MainEntryPoint.java O botão é adicionado ao RootPanel por meio da penúltima linha de código.
  • 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