GWT - de iniciante a especialista

314 visualizações

Publicada em

Breve introdução histórica e conceitual ao GWT com um exemplo prático de uma aplicação moderna.

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
314
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
10
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

GWT - de iniciante a especialista

  1. 1. GWT - de iniciante a especialista Danilo Reinert Arquiteto de Software
  2. 2. Apresentação
  3. 3. Descrição GWT (pronounced 'gwit') is a development toolkit for building and optimizing complex browser-based applications. Lema Productivity for developers, performance for users
  4. 4. 2005 Google Maps
  5. 5. 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
  6. 6. 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
  7. 7. Problema e Solução
  8. 8. Ajax WebApps Tradicional AJAX
  9. 9. Javascript
  10. 10. Browsers
  11. 11. Por Dentro...
  12. 12. 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
  13. 13. 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)
  14. 14. 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
  15. 15. 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
  16. 16. "Talk is cheap. Show me the code."
  17. 17. Agradecimentos
  18. 18. Obrigado! Danilo Reinert plus.google.com/+DaniloReinert twitter.com/daniloreinert github.com/reinert Sample disponível em: https://github.com/reinert/devfest2014

×