SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
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 Coretdc-globalcode
 
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 passosTaise Dias da Silva
 
JSF 2 - Java "Super" Faces
JSF 2 - Java "Super" FacesJSF 2 - Java "Super" Faces
JSF 2 - Java "Super" FacesFilipe 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 featuretdc-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 WebVRtdc-globalcode
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-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 minutosRafael 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 PolicesGuilherme Pereira Silva
 
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 Azuretdc-globalcode
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento4Soft
 
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 KitKatIntel Software Brasil
 
Introdução ao codeigniter
Introdução ao codeigniterIntrodução ao codeigniter
Introdução ao codeigniterPatrick Monteiro
 
Desafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento MultiplataformaDesafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento MultiplataformaIntel 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 GWT Spring RIA

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 EngineEder 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 JHipsterEdlaine 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 PaaSEder Magalhães
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoEder Magalhães
 
Google AppEngine and JEE
Google AppEngine and JEEGoogle AppEngine and JEE
Google AppEngine and JEERafael 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 computingEder 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 2014Giovanni 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 InsightsRenato Groff
 
TDC 2008 Spring Framework
TDC 2008 Spring FrameworkTDC 2008 Spring Framework
TDC 2008 Spring FrameworkDr. 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 ICEfacesEder Magalhães
 
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 TracingRenato 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 escalaCleber 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 DockerWellington Silva
 
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 FlutterRicardo Ogliari
 

Semelhante a GWT Spring RIA (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

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 disponibilidadeEder 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 8Eder 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 ForgeEder Magalhães
 
MongoDB outras alternativas de persistência
MongoDB outras alternativas de persistênciaMongoDB outras alternativas de persistência
MongoDB outras alternativas de persistênciaEder Magalhães
 
JDK8: Lambda, Jigsaw e novidades
JDK8: Lambda, Jigsaw e novidadesJDK8: Lambda, Jigsaw e novidades
JDK8: Lambda, Jigsaw e novidadesEder Magalhães
 
Introdução a Plataforma Java EE
Introdução a Plataforma Java EEIntrodução a Plataforma Java EE
Introdução a Plataforma Java EEEder 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 8Eder Magalhães
 
Desenvolvimento Produtivo com Spring Roo
Desenvolvimento Produtivo com Spring RooDesenvolvimento Produtivo com Spring Roo
Desenvolvimento Produtivo com Spring RooEder 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 8Eder Magalhães
 
JSF 2 Components JustJava2011
JSF 2 Components JustJava2011JSF 2 Components JustJava2011
JSF 2 Components JustJava2011Eder Magalhães
 
Introducao ao Spring Web MVC
Introducao ao Spring Web MVCIntroducao ao Spring Web MVC
Introducao ao Spring Web MVCEder Magalhães
 
JavaFX: Abordagem Prática
JavaFX: Abordagem PráticaJavaFX: Abordagem Prática
JavaFX: Abordagem PráticaEder Magalhães
 
Profissao java gwt e javafx
Profissao java gwt e javafxProfissao java gwt e javafx
Profissao java gwt e javafxEder Magalhães
 
JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010Eder 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
 

GWT Spring RIA

  • 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