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

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

Mais procurados (20)

TDC2018SP | Trilha Arq .Net - Aplicacoes Multi-Tenant no Asp.Net Core
TDC2018SP | Trilha Arq .Net - Aplicacoes Multi-Tenant no Asp.Net CoreTDC2018SP | Trilha Arq .Net - Aplicacoes Multi-Tenant no Asp.Net Core
TDC2018SP | Trilha Arq .Net - Aplicacoes Multi-Tenant no Asp.Net Core
 
Custos de dizer um Sim
Custos de dizer um SimCustos de dizer um Sim
Custos de dizer um Sim
 
TheDevConf 2016 - Análise efetiva de microservices em 3 passos
TheDevConf 2016 - Análise efetiva de microservices em 3 passosTheDevConf 2016 - Análise efetiva de microservices em 3 passos
TheDevConf 2016 - Análise efetiva de microservices em 3 passos
 
JSF 2 - Java "Super" Faces
JSF 2 - Java "Super" FacesJSF 2 - Java "Super" Faces
JSF 2 - Java "Super" Faces
 
TDC2018SP | Trilha Arq .Net - Performance e feature
TDC2018SP | Trilha Arq .Net - Performance e featureTDC2018SP | Trilha Arq .Net - Performance e feature
TDC2018SP | Trilha Arq .Net - Performance e feature
 
Criando app mobile com Google Android - Software Freedom Day 2015
Criando app mobile com Google Android - Software Freedom Day 2015 Criando app mobile com Google Android - Software Freedom Day 2015
Criando app mobile com Google Android - Software Freedom Day 2015
 
TDC2016POA | Trilha Web - Realidade Virtual com WebVR
TDC2016POA | Trilha Web -  Realidade Virtual com WebVRTDC2016POA | Trilha Web -  Realidade Virtual com WebVR
TDC2016POA | Trilha Web - Realidade Virtual com WebVR
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutos
 
São Paulo MuleSoft Meetup - Unwired API Led & Custom Polices
São Paulo MuleSoft Meetup - Unwired API Led & Custom PolicesSão Paulo MuleSoft Meetup - Unwired API Led & Custom Polices
São Paulo MuleSoft Meetup - Unwired API Led & Custom Polices
 
Php Gtk
Php GtkPhp Gtk
Php Gtk
 
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...
 
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
Gwt parte 02
Gwt   parte 02Gwt   parte 02
Gwt parte 02
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento
 
Metralhando sua API
Metralhando sua APIMetralhando sua API
Metralhando sua API
 
Escreva sua App sem gastar energia, agora no KitKat
Escreva sua App sem gastar energia, agora no KitKatEscreva sua App sem gastar energia, agora no KitKat
Escreva sua App sem gastar energia, agora no KitKat
 
Introdução ao codeigniter
Introdução ao codeigniterIntrodução ao codeigniter
Introdução ao codeigniter
 
Desafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento MultiplataformaDesafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento Multiplataforma
 

Semelhante a Desenvolvimento RIA com GWT e Spring

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

Semelhante a Desenvolvimento RIA com GWT e Spring (20)

Arquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App EngineArquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App Engine
 
Introducao Spring ROO
Introducao Spring ROOIntroducao Spring ROO
Introducao Spring ROO
 
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterGerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
 
Java e uma visão sobre PaaS
Java e uma visão sobre PaaSJava e uma visão sobre PaaS
Java e uma visão sobre PaaS
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais rico
 
Google AppEngine and JEE
Google AppEngine and JEEGoogle AppEngine and JEE
Google AppEngine and JEE
 
JavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingJavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computing
 
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Monitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application InsightsMonitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application Insights
 
TDC 2008 Spring Framework
TDC 2008 Spring FrameworkTDC 2008 Spring Framework
TDC 2008 Spring Framework
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
 
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesJSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
 
Revolução Go TDC 2016
Revolução Go TDC 2016Revolução Go TDC 2016
Revolução Go TDC 2016
 
Monitorando serviços REST com o Application Insights e Distributed Tracing
Monitorando serviços REST com o Application Insights e Distributed TracingMonitorando serviços REST com o Application Insights e Distributed Tracing
Monitorando serviços REST com o Application Insights e Distributed Tracing
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
 
Aplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerAplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com Docker
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Clean Code/Architecture com Android e Flutter
Clean Code/Architecture com Android e FlutterClean Code/Architecture com Android e Flutter
Clean Code/Architecture com Android e Flutter
 
Mc56 gwt
Mc56 gwtMc56 gwt
Mc56 gwt
 

Mais de Eder Magalhães

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

Mais de Eder Magalhães (20)

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

Último

Aula combustiveis mais utilizados na indústria
Aula combustiveis mais utilizados na indústriaAula combustiveis mais utilizados na indústria
Aula combustiveis mais utilizados na indústria
zetec10
 
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
Faga1939
 
Subindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWSSubindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWS
Ismael Ash
 
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de   DevOps/CLoudFerramentas que irão te ajudar a entrar no mundo de   DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ismael Ash
 
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docxse38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
ronaldos10
 
Apresentação sobre Deep Web e anonimização
Apresentação sobre Deep Web e anonimizaçãoApresentação sobre Deep Web e anonimização
Apresentação sobre Deep Web e anonimização
snerdct
 

Último (6)

Aula combustiveis mais utilizados na indústria
Aula combustiveis mais utilizados na indústriaAula combustiveis mais utilizados na indústria
Aula combustiveis mais utilizados na indústria
 
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
 
Subindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWSSubindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWS
 
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de   DevOps/CLoudFerramentas que irão te ajudar a entrar no mundo de   DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
 
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docxse38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
 
Apresentação sobre Deep Web e anonimização
Apresentação sobre Deep Web e anonimizaçãoApresentação sobre Deep Web e anonimização
Apresentação sobre Deep Web e anonimização
 

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  eder@yaw.com.br @edermag Globalcode – Open4education