SlideShare a Scribd company logo
1 of 23
Download to read offline
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 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 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...

More Related Content

What's hot

Java script vs vb script
Java script vs vb scriptJava script vs vb script
Java script vs vb script
Nielson Santana
 
Boas práticas no desenvolvimento de uma RESTful API
Boas práticas no desenvolvimento de uma RESTful APIBoas práticas no desenvolvimento de uma RESTful API
Boas práticas no desenvolvimento de uma RESTful API
Fernando Camargo
 
Projeto IV - Tecnologias básicas da Web X.0
Projeto IV - Tecnologias básicas da Web X.0Projeto IV - Tecnologias básicas da Web X.0
Projeto IV - Tecnologias básicas da Web X.0
Germano Luis
 

What's hot (20)

Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
 
Desenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFDesenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSF
 
Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018
 
GWT - RIA baseada em AJAX
GWT - RIA baseada em AJAXGWT - RIA baseada em AJAX
GWT - RIA baseada em AJAX
 
Aula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPR
 
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 
Primeiros passos no Vue.js
Primeiros passos no Vue.jsPrimeiros passos no Vue.js
Primeiros passos no Vue.js
 
Rapida apresentacao sobre o Grails
Rapida apresentacao sobre o GrailsRapida apresentacao sobre o Grails
Rapida apresentacao sobre o Grails
 
Java script vs vb script
Java script vs vb scriptJava script vs vb script
Java script vs vb script
 
Vraptor 3
Vraptor 3Vraptor 3
Vraptor 3
 
Boas práticas no desenvolvimento de uma RESTful API
Boas práticas no desenvolvimento de uma RESTful APIBoas práticas no desenvolvimento de uma RESTful API
Boas práticas no desenvolvimento de uma RESTful API
 
Projeto IV - Tecnologias básicas da Web X.0
Projeto IV - Tecnologias básicas da Web X.0Projeto IV - Tecnologias básicas da Web X.0
Projeto IV - Tecnologias básicas da Web X.0
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
Unit Test JavaScript
Unit Test JavaScriptUnit Test JavaScript
Unit Test JavaScript
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Framework web 02 - 2016
Framework web 02 - 2016Framework web 02 - 2016
Framework web 02 - 2016
 
Melhores práticas de deployment do IBM Connections
Melhores práticas de deployment do IBM ConnectionsMelhores práticas de deployment do IBM Connections
Melhores práticas de deployment do IBM Connections
 
Dojo react
Dojo reactDojo react
Dojo react
 

Similar to Gwt parte 01

LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04
Carlos Santos
 
JSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaJSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.java
Eduardo Bregaida
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript
Carlos Santos
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010
Maurício Linhares
 

Similar to Gwt parte 01 (20)

GWT
GWTGWT
GWT
 
Gwt parte 02
Gwt   parte 02Gwt   parte 02
Gwt parte 02
 
Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1
 
Desenvolvendo aplicações web com GWT
Desenvolvendo aplicações web com GWTDesenvolvendo aplicações web com GWT
Desenvolvendo aplicações web com GWT
 
Ferramentas para Ambiente de Desenvolvimento Ágil
Ferramentas para Ambiente de Desenvolvimento ÁgilFerramentas para Ambiente de Desenvolvimento Ágil
Ferramentas para Ambiente de Desenvolvimento Ágil
 
Desenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e SpringDesenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e Spring
 
Gwt
GwtGwt
Gwt
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
 
LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev Introdução
 
Introdução ao Microsoft Silverlight
Introdução ao Microsoft SilverlightIntrodução ao Microsoft Silverlight
Introdução ao Microsoft Silverlight
 
JSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaJSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.java
 
XHTML e CSS
XHTML e CSSXHTML e CSS
XHTML e CSS
 
Workshop - Ionic + firebase
Workshop - Ionic + firebaseWorkshop - Ionic + firebase
Workshop - Ionic + firebase
 
Minicurso Java
Minicurso JavaMinicurso Java
Minicurso Java
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010
 
Introdução Wicket
Introdução WicketIntrodução Wicket
Introdução Wicket
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.
 

Gwt parte 01

  • 1. GWT Google Web Toolkit Parte 01 RAFAEL AD RIANO
  • 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.
  • 5. Prática  Criação do projeto;  Nome: Teste;  Pacote: br.udesc.
  • 6. Módulo  XML;  Nome do módulo;  Bibliotecas;  Ponto de entrada;  Lado cliente.
  • 7. Prática  Criando um módulo;  Criar html;  Inserir módulo no html.
  • 8. Ponto de entrada  EntryPoint;  onModuleLoad.
  • 9. Prática  Criando ponto de entrada;  Registrar no XML do módulo.
  • 10. Teste  Compilar;  Executar;  Browser;  Plugin;  Sucesso.
  • 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.
  • 19. Prática  Criar método nativo;  Invocar método. public native void showMessage(String msg)/*-{ $wnd.alert(msg); }-*/;
  • 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.
  • 22. Deploy/Prática  Compilação;  Biblioteca;  Adicionar bibliotecas necessárias na WEB-INF/lib;  Publicação;  Copiar pasta war e publicar no TomCat.