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
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
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