SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
GWT - de iniciante a especialista 
Danilo Reinert 
Arquiteto de Software
Apresentação
Descrição 
GWT (pronounced 'gwit') is a development toolkit for building 
and optimizing complex browser-based applications. 
Lema 
Productivity for developers, performance for users
2005 Google Maps
Linha do tempo 
● GWT 1.0 (2006) 
● GWT 1.3 (2007) Primeiro Release Open-Source, suporte a OSX 
● GWT 1.5 (2008) Suporte ao Java 1.5, Overlay Types, DOM API, CSS Themes, 
Linkers 
● GWT 2.0 (2009) DevMode, DraftCompile, UIBinder, LayoutPanel, CodeSplitter, 
ClientBundle, CssResource 
● GWT 2.1 (2010) RequestFactory, Editor Framework, Validation, MVP, Cell Widgets 
● GWT 2.2 (2011) GWT Designer, HTML5 support 
● GWT 2.3 (2011) Melhorias na integração com AppEngine 
● GWT 2.4 (2011) Aprimoramentos no Maven e RequestFactory 
● GWT 2.5 (2012) Steering Committee, SuperDevMode, UiRenderer, otimizações no 
Compilador 
● GWT 2.6 (2013) Suporte ao Java 1.7, melhorias no SuperDevMode
Situação atual 
● 150.000 usuários diariamente ativos 
● Integração completa com Eclipse, IntelliJ, Spring STS/Roo 
● Usado por produtos da Google como AdWords, Flights, Wallet, 
Groups 
● Mantido por um comitê internacional com a participação de 
grandes players como RedHat, Vaadin, Sencha e JetBrains, 
além da Google 
● 20% dos commits vem de contribuintes fora da Google 
● GWT tem hoje uma base de código de alta qualidade e 
madura
Problema 
e Solução
Ajax WebApps 
Tradicional 
AJAX
Javascript
Browsers
Por Dentro...
Principais Ferramentas da Plataforma 
● Java-to-JavaScript Compiler 
● JRE Emulation Library 
● SuperDevMode (IDE debudding) 
● Code Generation 
● Javascript Cross Compatibility (JSNI) 
● JUnit Testing 
● Popular Java Specs and Libraries Integration
Principais Recursos do Framework (1/2) 
● Templating (UiBinder) 
● Routing (Places) 
● Managed Presentation (Activities) 
● History Manipulation 
● EventBus 
● Dependency Injection 
● Reflection (Deferred Binding) 
● AJAX Communication (RPC, RequestFactory)
Principais Recursos do Framework (2/2) 
● Code Optimization (Powerful Compiler) 
● Client-Server Interaction Minimization (PerfectCache) 
● Resource Optimization (ClientBundle, ImageBundle, 
CssResource) 
● Initial PageLoad Optimization (CodeSplitting) 
● Client-Side Logging 
● Internationalization 
● Formatting 
● Validation
Benefícios 
● Projeto de Software organizado, manutenível e escalável 
● Reutilização do rico ecossistema de ferramentas do Java 
● Melhor desempenho possível sem muito desgaste 
● Velocidade de desenvolvimento 
● “Write once, run everywhere” 
● Aplicações de alto desempenho e escaláveis 
● Segurança de estar utilizando uma linguagem bem projetada 
e conhecida 
● Confiança de estar utilizando uma das melhores tecnologias 
para aplicações web
"Talk is cheap. Show me the code."
Agradecimentos
Obrigado! 
Danilo Reinert 
plus.google.com/+DaniloReinert 
twitter.com/daniloreinert 
github.com/reinert 
Sample disponível em: 
https://github.com/reinert/devfest2014

Contenu connexe

Tendances

TDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSTDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSLeonardo Zanivan
 
Quasar Framework - Uma visão Geral
Quasar Framework - Uma visão GeralQuasar Framework - Uma visão Geral
Quasar Framework - Uma visão GeralPatrick Monteiro
 
Certificações Microsoft e o Mercado de Trabalho
Certificações Microsoft e o Mercado de TrabalhoCertificações Microsoft e o Mercado de Trabalho
Certificações Microsoft e o Mercado de TrabalhoJoel Rodrigues
 
Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte II
Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte IIMeetup ScalaCamp Curitiba, Fevereiro de 2017, Parte II
Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte IIMauricio Fernandes de Castro
 
Do mapa mental para Serviços de Dados até APIs
Do mapa mental para Serviços de Dados até APIsDo mapa mental para Serviços de Dados até APIs
Do mapa mental para Serviços de Dados até APIsWSO2
 
WSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e SuportesWSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e SuportesEdgar Silva
 
Arquitetura Client-Side do Comentários da Globo.com
Arquitetura Client-Side do Comentários da Globo.comArquitetura Client-Side do Comentários da Globo.com
Arquitetura Client-Side do Comentários da Globo.comEvandro Gonçalves
 
Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)Marcos Batista
 
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 UTFPRAndré Luiz Forchesatto
 
O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0Wilson Mendes
 

Tendances (20)

TDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSTDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJS
 
Framework web 3 - JSF + Spring boot
Framework web 3 - JSF + Spring bootFramework web 3 - JSF + Spring boot
Framework web 3 - JSF + Spring boot
 
Framework web 02 - 2016
Framework web 02 - 2016Framework web 02 - 2016
Framework web 02 - 2016
 
Quasar Framework - Uma visão Geral
Quasar Framework - Uma visão GeralQuasar Framework - Uma visão Geral
Quasar Framework - Uma visão Geral
 
Certificações Microsoft e o Mercado de Trabalho
Certificações Microsoft e o Mercado de TrabalhoCertificações Microsoft e o Mercado de Trabalho
Certificações Microsoft e o Mercado de Trabalho
 
Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte II
Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte IIMeetup ScalaCamp Curitiba, Fevereiro de 2017, Parte II
Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte II
 
Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018
 
Gwt parte 01
Gwt   parte 01Gwt   parte 01
Gwt parte 01
 
Do mapa mental para Serviços de Dados até APIs
Do mapa mental para Serviços de Dados até APIsDo mapa mental para Serviços de Dados até APIs
Do mapa mental para Serviços de Dados até APIs
 
Apresentação
ApresentaçãoApresentação
Apresentação
 
Aula parte 1 de JSF 2.2
Aula parte 1 de JSF 2.2Aula parte 1 de JSF 2.2
Aula parte 1 de JSF 2.2
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
WSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e SuportesWSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e Suportes
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Interfaces ricas JSF
Interfaces ricas JSF Interfaces ricas JSF
Interfaces ricas JSF
 
Arquitetura Client-Side do Comentários da Globo.com
Arquitetura Client-Side do Comentários da Globo.comArquitetura Client-Side do Comentários da Globo.com
Arquitetura Client-Side do Comentários da Globo.com
 
Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)
 
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
 
Gradle spring-hateoas-Lombok
Gradle spring-hateoas-LombokGradle spring-hateoas-Lombok
Gradle spring-hateoas-Lombok
 
O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0
 

En vedette

En vedette (10)

GWT
GWTGWT
GWT
 
GWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactoryGWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactory
 
GWT - Una introducción
GWT - Una introducciónGWT - Una introducción
GWT - Una introducción
 
Desarrollo multiplataforma de apps con GWT y PhoneGap
Desarrollo multiplataforma de apps con GWT y PhoneGapDesarrollo multiplataforma de apps con GWT y PhoneGap
Desarrollo multiplataforma de apps con GWT y PhoneGap
 
Aprendiendo GWT
Aprendiendo GWTAprendiendo GWT
Aprendiendo GWT
 
Gwt I - entendiendo gwt
Gwt I - entendiendo gwtGwt I - entendiendo gwt
Gwt I - entendiendo gwt
 
GWT y SmartGWT - Introducción
GWT y SmartGWT - IntroducciónGWT y SmartGWT - Introducción
GWT y SmartGWT - Introducción
 
Desarrollo de aplicaciones AJAX con GWT
Desarrollo de aplicaciones AJAX con GWTDesarrollo de aplicaciones AJAX con GWT
Desarrollo de aplicaciones AJAX con GWT
 
Comenzando con GWT
Comenzando con GWTComenzando con GWT
Comenzando con GWT
 
Google Web Toolkit (GWT) en entornos empresariales
Google Web Toolkit (GWT) en entornos empresarialesGoogle Web Toolkit (GWT) en entornos empresariales
Google Web Toolkit (GWT) en entornos empresariales
 

Similaire à GWT - de iniciante a especialista

TDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWTTDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWTLoiane Groner
 
Google AppEngine: Desafios da adoção de cloud no mercado de seguros
Google AppEngine: Desafios da adoção de cloud no mercado de segurosGoogle AppEngine: Desafios da adoção de cloud no mercado de seguros
Google AppEngine: Desafios da adoção de cloud no mercado de segurosGustavo Concon
 
Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Facescejug
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXjesuinoPower
 
Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Fabrício Catae
 
Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webMiguel Galves
 
Apache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFApache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFBruno Borges
 
Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Aécio Costa
 
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.Valmir Justo
 
Play - Full Stack Java Web Framework
Play -  Full Stack Java Web FrameworkPlay -  Full Stack Java Web Framework
Play - Full Stack Java Web FrameworkMauricio Carvalho
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Rafael Benevides
 
Uma breve introdução de play framework
Uma breve introdução de play frameworkUma breve introdução de play framework
Uma breve introdução de play frameworkWende Mendes
 
Jugday - Java Básico
Jugday - Java BásicoJugday - Java Básico
Jugday - Java BásicoPaloma Costa
 

Similaire à GWT - de iniciante a especialista (20)

TDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWTTDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWT
 
Java v1.1
Java v1.1Java v1.1
Java v1.1
 
Google AppEngine: Desafios da adoção de cloud no mercado de seguros
Google AppEngine: Desafios da adoção de cloud no mercado de segurosGoogle AppEngine: Desafios da adoção de cloud no mercado de seguros
Google AppEngine: Desafios da adoção de cloud no mercado de seguros
 
Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Faces
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFX
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)
 
Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento web
 
Apache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFApache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSF
 
Mc56 gwt
Mc56 gwtMc56 gwt
Mc56 gwt
 
Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!
 
Desenvolvendo aplicações web com GWT
Desenvolvendo aplicações web com GWTDesenvolvendo aplicações web com GWT
Desenvolvendo aplicações web com GWT
 
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.
 
jCompany for SAP NetWeaver
jCompany for SAP NetWeaverjCompany for SAP NetWeaver
jCompany for SAP NetWeaver
 
Play - Full Stack Java Web Framework
Play -  Full Stack Java Web FrameworkPlay -  Full Stack Java Web Framework
Play - Full Stack Java Web Framework
 
MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007
 
Uma breve introdução de play framework
Uma breve introdução de play frameworkUma breve introdução de play framework
Uma breve introdução de play framework
 
Workshop - Ionic + firebase
Workshop - Ionic + firebaseWorkshop - Ionic + firebase
Workshop - Ionic + firebase
 
Jugday - Java Básico
Jugday - Java BásicoJugday - Java Básico
Jugday - Java Básico
 

GWT - de iniciante a especialista

  • 1.
  • 2. GWT - de iniciante a especialista Danilo Reinert Arquiteto de Software
  • 4. Descrição GWT (pronounced 'gwit') is a development toolkit for building and optimizing complex browser-based applications. Lema Productivity for developers, performance for users
  • 6. Linha do tempo ● GWT 1.0 (2006) ● GWT 1.3 (2007) Primeiro Release Open-Source, suporte a OSX ● GWT 1.5 (2008) Suporte ao Java 1.5, Overlay Types, DOM API, CSS Themes, Linkers ● GWT 2.0 (2009) DevMode, DraftCompile, UIBinder, LayoutPanel, CodeSplitter, ClientBundle, CssResource ● GWT 2.1 (2010) RequestFactory, Editor Framework, Validation, MVP, Cell Widgets ● GWT 2.2 (2011) GWT Designer, HTML5 support ● GWT 2.3 (2011) Melhorias na integração com AppEngine ● GWT 2.4 (2011) Aprimoramentos no Maven e RequestFactory ● GWT 2.5 (2012) Steering Committee, SuperDevMode, UiRenderer, otimizações no Compilador ● GWT 2.6 (2013) Suporte ao Java 1.7, melhorias no SuperDevMode
  • 7. Situação atual ● 150.000 usuários diariamente ativos ● Integração completa com Eclipse, IntelliJ, Spring STS/Roo ● Usado por produtos da Google como AdWords, Flights, Wallet, Groups ● Mantido por um comitê internacional com a participação de grandes players como RedHat, Vaadin, Sencha e JetBrains, além da Google ● 20% dos commits vem de contribuintes fora da Google ● GWT tem hoje uma base de código de alta qualidade e madura
  • 8.
  • 14. Principais Ferramentas da Plataforma ● Java-to-JavaScript Compiler ● JRE Emulation Library ● SuperDevMode (IDE debudding) ● Code Generation ● Javascript Cross Compatibility (JSNI) ● JUnit Testing ● Popular Java Specs and Libraries Integration
  • 15. Principais Recursos do Framework (1/2) ● Templating (UiBinder) ● Routing (Places) ● Managed Presentation (Activities) ● History Manipulation ● EventBus ● Dependency Injection ● Reflection (Deferred Binding) ● AJAX Communication (RPC, RequestFactory)
  • 16. Principais Recursos do Framework (2/2) ● Code Optimization (Powerful Compiler) ● Client-Server Interaction Minimization (PerfectCache) ● Resource Optimization (ClientBundle, ImageBundle, CssResource) ● Initial PageLoad Optimization (CodeSplitting) ● Client-Side Logging ● Internationalization ● Formatting ● Validation
  • 17. Benefícios ● Projeto de Software organizado, manutenível e escalável ● Reutilização do rico ecossistema de ferramentas do Java ● Melhor desempenho possível sem muito desgaste ● Velocidade de desenvolvimento ● “Write once, run everywhere” ● Aplicações de alto desempenho e escaláveis ● Segurança de estar utilizando uma linguagem bem projetada e conhecida ● Confiança de estar utilizando uma das melhores tecnologias para aplicações web
  • 18. "Talk is cheap. Show me the code."
  • 20. Obrigado! Danilo Reinert plus.google.com/+DaniloReinert twitter.com/daniloreinert github.com/reinert Sample disponível em: https://github.com/reinert/devfest2014