SlideShare uma empresa Scribd logo
Desenvolvendo RIA com Spring:
     Google Web Toolkit

          Eder Magalhães
           @edermag


                           Globalcode – Open4education
Agenda - GWT
 Expectativa sobre RIA
 Desafios
 Google Web Toolkit
 Demonstrando GWT
 GWT ainda melhor com Spring
 Demonstrando GWT com Spring
 Alguns detalhes importantes
 Links


                               Globalcode – Open4education
Realidade
 Qual a experiência e a expectativa do usuário em
 relação a navegação?




                                         Globalcode – Open4education
Desafios
 Web convencional, sem plugins;

 Miscelânea de tecnologias;

 Incompatibilidade entre Browsers;

 Utilizar um framework? Qual?

 Produtividade afinal o prazo “já era”;


                                          Globalcode – Open4education
E não se esqueça

  É necessário:
     Performance
     Escalabilidade
     Segurança
     e outros “detalhes”...



Independente da tecnologia escolhida


                                       Globalcode – Open4education
Que tal?



               Rich Internet Application
      +    =   com os recursos da
               família Spring




                             Globalcode – Open4education
O que é o GWT?

 Google Web Toolkit
 Kit de ferramentas p/ desenvolvimento web
   Compilador
   Emulador / Web Container
   Debug
   RPC
 Open-Source;



                                        Globalcode – Open4education
Pontos fortes do GWT
 Muito Ajax sem escrever JavaScript;

 Maior parte do código escrito em Java;

 Cross-Browser Support;

 Vários componentes UI;

 Componentes/extensões de terceiro;


                                          Globalcode – Open4education
Estrutura do projeto




           Desenvolvimento   Produção


                                    Globalcode – Open4education
Compilador (magia)
public class EntryPoint {
  ...
   private DialogBox dialog = new DialogBox ();
  ...
}




  ...
  var dialog = DialogBox {};
  function onLoad() {
    //code here
  }
  ...




                                                  Globalcode – Open4education
Integração c/ Server-side

 Mecanismo RPC para troca de dados;
 Serialização de Java p/ JavaScript e o contrário;




                        AJAX


     client                              server


                                           Globalcode – Open4education
Ambiente



 Demonstração, uma visão geral do GWT.
   Projeto demonstração do plugin google para o Eclipse;




                                              Globalcode – Open4education
Mas e o Spring?
 Várias alternativas de arquitetura:

   Básica: GWT + Controllers manuais c/ Spring JDBC;

   Completa: GWT + Spring MVC c/ IoC e DI, c/ suporte
   para outros módulos: AOP + Security + Transaction;




                                             Globalcode – Open4education
Revisando o RPC




                  Globalcode – Open4education
GwtRpcController




                   Globalcode – Open4education
Demo



 Demonstração do GWT com Spring MVC;

 Case: GWT e Spring em um sistema de leilões;




                                       Globalcode – Open4education
O que mais...
 Suporte a JSON e XML
 JSNI “uma ponte” para JavaScript;
 Suporte a i18n e Testes Unitários;
 Customização de Temas ou uso direto de CSS;
 GWT 2.0:
   UIBinder;
   Compile;
   Novo formato de execução em Desenv;



                                         Globalcode – Open4education
Pontos Fracos do GWT
 Ferramentas;

 Pré-requisitos:
   Fluência em Java
   Experiência em Orientação a Objetos

 Modelos complexos podem dificultar o binding com
 JavaScript;



                                         Globalcode – Open4education
Links
 http://www.springsource.org/
 http://code.google.com/intl/pt-BR/webtoolkit/
 http://technophiliac.wordpress.com/2008/08/24/giving-gwt-
 a-spring-in-its-step/
 http://blog.digitalascent.com/2007/11/gwt-rpc-with-spring-
 2x_12.html
 http://www.smartclient.com/smartgwt/showcase




                                                 Globalcode – Open4education
É isso!



          Obrigado 

                  eder@yaw.com.br
                       @edermag


                        Globalcode – Open4education

Mais conteúdo relacionado

Mais procurados (20)

PPTX
TDC2018SP | Trilha Arq .Net - Aplicacoes Multi-Tenant no Asp.Net Core
tdc-globalcode
 
PPTX
Custos de dizer um Sim
Caroline Wirtti
 
PDF
TheDevConf 2016 - Análise efetiva de microservices em 3 passos
Taise Dias da Silva
 
PDF
JSF 2 - Java "Super" Faces
Filipe Portes
 
PPSX
TDC2018SP | Trilha Arq .Net - Performance e feature
tdc-globalcode
 
PPTX
Criando app mobile com Google Android - Software Freedom Day 2015
Lucas Aquiles
 
PPTX
TDC2016POA | Trilha Web - Realidade Virtual com WebVR
tdc-globalcode
 
PDF
TDC2016SP - Trilha Microservices
tdc-globalcode
 
PDF
Construindo um micro-serviço Java 100% funcional em 15 minutos
Rafael Chaves
 
PPTX
São Paulo MuleSoft Meetup - Unwired API Led & Custom Polices
Guilherme Pereira Silva
 
PDF
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...
tdc-globalcode
 
PPT
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
tdc-globalcode
 
PPTX
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
tdc-globalcode
 
PDF
Gwt parte 02
Rafael Adriano
 
PDF
Lidando com Equipes de Desenvolvimento
4Soft
 
PDF
Metralhando sua API
Thalita Pinheiro
 
PDF
Escreva sua App sem gastar energia, agora no KitKat
Intel Software Brasil
 
PDF
Introdução ao codeigniter
Patrick Monteiro
 
PDF
Desafios do Desenvolvimento Multiplataforma
Intel Software Brasil
 
TDC2018SP | Trilha Arq .Net - Aplicacoes Multi-Tenant no Asp.Net Core
tdc-globalcode
 
Custos de dizer um Sim
Caroline Wirtti
 
TheDevConf 2016 - Análise efetiva de microservices em 3 passos
Taise Dias da Silva
 
JSF 2 - Java "Super" Faces
Filipe Portes
 
TDC2018SP | Trilha Arq .Net - Performance e feature
tdc-globalcode
 
Criando app mobile com Google Android - Software Freedom Day 2015
Lucas Aquiles
 
TDC2016POA | Trilha Web - Realidade Virtual com WebVR
tdc-globalcode
 
TDC2016SP - Trilha Microservices
tdc-globalcode
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Rafael Chaves
 
São Paulo MuleSoft Meetup - Unwired API Led & Custom Polices
Guilherme Pereira Silva
 
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...
tdc-globalcode
 
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
tdc-globalcode
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
tdc-globalcode
 
Gwt parte 02
Rafael Adriano
 
Lidando com Equipes de Desenvolvimento
4Soft
 
Metralhando sua API
Thalita Pinheiro
 
Escreva sua App sem gastar energia, agora no KitKat
Intel Software Brasil
 
Introdução ao codeigniter
Patrick Monteiro
 
Desafios do Desenvolvimento Multiplataforma
Intel Software Brasil
 

Semelhante a Desenvolvimento RIA com GWT e Spring (20)

PDF
Arquiteturas Java EE no Google App Engine
Eder Magalhães
 
PDF
Introducao Spring ROO
Eder Magalhães
 
PDF
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Edlaine Zamora
 
PDF
Java e uma visão sobre PaaS
Eder Magalhães
 
PDF
Richfaces 4 - Desenvolvimento JSF mais rico
Eder Magalhães
 
PPT
Google AppEngine and JEE
Rafael Nunes
 
PDF
JavaEE 7, na era do cloud computing
Eder Magalhães
 
PDF
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
tdc-globalcode
 
PPTX
ASP.NET vNext no .NET Architects Days 2014
Giovanni Bassi
 
PPT
Monitorando serviços REST com o Application Insights
Renato Groff
 
PDF
TDC 2008 Spring Framework
Dr. Spock
 
PDF
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
tdc-globalcode
 
PDF
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
Eder Magalhães
 
ODP
Revolução Go TDC 2016
Tomas Cretella Foglio
 
PPT
Monitorando serviços REST com o Application Insights e Distributed Tracing
Renato Groff
 
PPT
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
Cleber Dantas
 
PDF
Aplicações 12 fatores, melhor com Docker
Wellington Silva
 
PDF
Google Web Toolkit
Felipe J. R. Vieira
 
PDF
Clean Code/Architecture com Android e Flutter
Ricardo Ogliari
 
Arquiteturas Java EE no Google App Engine
Eder Magalhães
 
Introducao Spring ROO
Eder Magalhães
 
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Edlaine Zamora
 
Java e uma visão sobre PaaS
Eder Magalhães
 
Richfaces 4 - Desenvolvimento JSF mais rico
Eder Magalhães
 
Google AppEngine and JEE
Rafael Nunes
 
JavaEE 7, na era do cloud computing
Eder Magalhães
 
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
tdc-globalcode
 
ASP.NET vNext no .NET Architects Days 2014
Giovanni Bassi
 
Monitorando serviços REST com o Application Insights
Renato Groff
 
TDC 2008 Spring Framework
Dr. Spock
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
tdc-globalcode
 
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
Eder Magalhães
 
Revolução Go TDC 2016
Tomas Cretella Foglio
 
Monitorando serviços REST com o Application Insights e Distributed Tracing
Renato Groff
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
Cleber Dantas
 
Aplicações 12 fatores, melhor com Docker
Wellington Silva
 
Google Web Toolkit
Felipe J. R. Vieira
 
Clean Code/Architecture com Android e Flutter
Ricardo Ogliari
 
Anúncio

Mais de Eder Magalhães (20)

PDF
Cvc programacao reativa
Eder Magalhães
 
PDF
Concorrencia, baixa Latência e alta disponibilidade
Eder Magalhães
 
PDF
Java Is Back, Novidade do Java 8
Eder Magalhães
 
PDF
Desenvolva uma app Java web em poucos passos, com o Forge
Eder Magalhães
 
PDF
MongoDB outras alternativas de persistência
Eder Magalhães
 
PDF
JDK8: Lambda, Jigsaw e novidades
Eder Magalhães
 
PDF
Introdução a Plataforma Java EE
Eder Magalhães
 
PDF
As modificações na Linguagem: Java 7 e Java 8
Eder Magalhães
 
PDF
Desenvolvimento Produtivo com Spring Roo
Eder Magalhães
 
PDF
Futuro da linguagem e plataforma: Java 7 e 8
Eder Magalhães
 
PDF
Java7 tdc2011
Eder Magalhães
 
PDF
JSF 2 Components JustJava2011
Eder Magalhães
 
PDF
Introducao Google GO
Eder Magalhães
 
PDF
Introducao ao Spring Web MVC
Eder Magalhães
 
PDF
JavaFX: Abordagem Prática
Eder Magalhães
 
PDF
Profissao java gwt e javafx
Eder Magalhães
 
PPTX
JSF2 ScrumToys SestInfo 2010
Eder Magalhães
 
PPTX
Android SestInfo 2010
Eder Magalhães
 
PPTX
JavaFX SestInfo 2010
Eder Magalhães
 
PPT
Gwt-Guice_TDC2009
Eder Magalhães
 
Cvc programacao reativa
Eder Magalhães
 
Concorrencia, baixa Latência e alta disponibilidade
Eder Magalhães
 
Java Is Back, Novidade do Java 8
Eder Magalhães
 
Desenvolva uma app Java web em poucos passos, com o Forge
Eder Magalhães
 
MongoDB outras alternativas de persistência
Eder Magalhães
 
JDK8: Lambda, Jigsaw e novidades
Eder Magalhães
 
Introdução a Plataforma Java EE
Eder Magalhães
 
As modificações na Linguagem: Java 7 e Java 8
Eder Magalhães
 
Desenvolvimento Produtivo com Spring Roo
Eder Magalhães
 
Futuro da linguagem e plataforma: Java 7 e 8
Eder Magalhães
 
Java7 tdc2011
Eder Magalhães
 
JSF 2 Components JustJava2011
Eder Magalhães
 
Introducao Google GO
Eder Magalhães
 
Introducao ao Spring Web MVC
Eder Magalhães
 
JavaFX: Abordagem Prática
Eder Magalhães
 
Profissao java gwt e javafx
Eder Magalhães
 
JSF2 ScrumToys SestInfo 2010
Eder Magalhães
 
Android SestInfo 2010
Eder Magalhães
 
JavaFX SestInfo 2010
Eder Magalhães
 
Gwt-Guice_TDC2009
Eder Magalhães
 
Anúncio

Último (7)

PPTX
Gestão de Mudanças - O que é e como é implementada
Gateware Group
 
PDF
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
PDF
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
PPTX
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
PPTX
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
PPTX
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
PPTX
Gestão de Mudanças - Os maiores desafios da Gestão de Mudanças e Gestão de Pr...
Gateware Group
 
Gestão de Mudanças - O que é e como é implementada
Gateware Group
 
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
Gestão de Mudanças - Os maiores desafios da Gestão de Mudanças e Gestão de Pr...
Gateware Group
 

Desenvolvimento RIA com GWT e Spring

  • 1. Desenvolvendo RIA com Spring: Google Web Toolkit Eder Magalhães @edermag Globalcode – Open4education
  • 2. Agenda - GWT Expectativa sobre RIA Desafios Google Web Toolkit Demonstrando GWT GWT ainda melhor com Spring Demonstrando GWT com Spring Alguns detalhes importantes Links Globalcode – Open4education
  • 3. Realidade Qual a experiência e a expectativa do usuário em relação a navegação? Globalcode – Open4education
  • 4. Desafios Web convencional, sem plugins; Miscelânea de tecnologias; Incompatibilidade entre Browsers; Utilizar um framework? Qual? Produtividade afinal o prazo “já era”; Globalcode – Open4education
  • 5. E não se esqueça É necessário: Performance Escalabilidade Segurança e outros “detalhes”... Independente da tecnologia escolhida Globalcode – Open4education
  • 6. Que tal? Rich Internet Application + = com os recursos da família Spring Globalcode – Open4education
  • 7. O que é o GWT? Google Web Toolkit Kit de ferramentas p/ desenvolvimento web Compilador Emulador / Web Container Debug RPC Open-Source; Globalcode – Open4education
  • 8. Pontos fortes do GWT Muito Ajax sem escrever JavaScript; Maior parte do código escrito em Java; Cross-Browser Support; Vários componentes UI; Componentes/extensões de terceiro; Globalcode – Open4education
  • 9. Estrutura do projeto Desenvolvimento Produção Globalcode – Open4education
  • 10. Compilador (magia) public class EntryPoint { ... private DialogBox dialog = new DialogBox (); ... } ... var dialog = DialogBox {}; function onLoad() { //code here } ... Globalcode – Open4education
  • 11. Integração c/ Server-side Mecanismo RPC para troca de dados; Serialização de Java p/ JavaScript e o contrário; AJAX client server Globalcode – Open4education
  • 12. Ambiente Demonstração, uma visão geral do GWT. Projeto demonstração do plugin google para o Eclipse; Globalcode – Open4education
  • 13. Mas e o Spring? Várias alternativas de arquitetura: Básica: GWT + Controllers manuais c/ Spring JDBC; Completa: GWT + Spring MVC c/ IoC e DI, c/ suporte para outros módulos: AOP + Security + Transaction; Globalcode – Open4education
  • 14. Revisando o RPC Globalcode – Open4education
  • 15. GwtRpcController Globalcode – Open4education
  • 16. Demo Demonstração do GWT com Spring MVC; Case: GWT e Spring em um sistema de leilões; Globalcode – Open4education
  • 17. O que mais... Suporte a JSON e XML JSNI “uma ponte” para JavaScript; Suporte a i18n e Testes Unitários; Customização de Temas ou uso direto de CSS; GWT 2.0: UIBinder; Compile; Novo formato de execução em Desenv; Globalcode – Open4education
  • 18. Pontos Fracos do GWT Ferramentas; Pré-requisitos: Fluência em Java Experiência em Orientação a Objetos Modelos complexos podem dificultar o binding com JavaScript; Globalcode – Open4education
  • 19. Links http://www.springsource.org/ http://code.google.com/intl/pt-BR/webtoolkit/ http://technophiliac.wordpress.com/2008/08/24/giving-gwt- a-spring-in-its-step/ http://blog.digitalascent.com/2007/11/gwt-rpc-with-spring- 2x_12.html http://www.smartclient.com/smartgwt/showcase Globalcode – Open4education
  • 20. É isso! Obrigado  [email protected] @edermag Globalcode – Open4education