gwt - de iniciante a especialista

20

Upload: danilo-reinert

Post on 09-Jul-2015

104 views

Category:

Software


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: GWT - de iniciante a especialista
Page 2: GWT - de iniciante a especialista

GWT - de iniciante a especialista

Danilo ReinertArquiteto de Software

Page 3: GWT - de iniciante a especialista

Apresentação

Page 4: GWT - de iniciante a especialista

DescriçãoGWT (pronounced 'gwit') is a development toolkit for building

and optimizing complex browser-based applications.

LemaProductivity for developers, performance for users

Page 5: GWT - de iniciante a especialista

2005 Google Maps

Page 6: GWT - de iniciante a especialista

● 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

Linha do tempo

Page 7: GWT - de iniciante a especialista

● 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

Situação atual

Page 8: GWT - de iniciante a especialista
Page 9: GWT - de iniciante a especialista

Problema e Solução

Page 10: GWT - de iniciante a especialista

Tradicional

Ajax WebApps

AJAX

Page 11: GWT - de iniciante a especialista

Javascript

Page 12: GWT - de iniciante a especialista

Browsers

Page 13: GWT - de iniciante a especialista

Por Dentro...

Page 14: GWT - de iniciante a especialista

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

Page 15: GWT - de iniciante a especialista

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)

Page 16: GWT - de iniciante a especialista

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

Page 17: GWT - de iniciante a especialista

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

Page 18: GWT - de iniciante a especialista

"Talk is cheap. Show me the code."

Page 19: GWT - de iniciante a especialista

Agradecimentos

Page 20: GWT - de iniciante a especialista

Obrigado!

Danilo Reinertplus.google.com/+DaniloReinerttwitter.com/daniloreinertgithub.com/reinert

Sample disponível em:https://github.com/reinert/devfest2014