- 1. AJAX e GWT AJAX em Java usando o Google Web Toolkit Maurcio
Linhares [email_address] http://maujr.org/
2. O ano 2000 passou...
- ... E as aplicaes web continuam as mesmas
3. Problemas
- A interatividade de aplicaes web sofrvel;
- No possvel reaproveitar partes j carregadas das pginas;
- Muda-se uma letra, muda-se a pgina toda;
4. Problemas
- Interfaces complexas ou aes complexas so difceis de se fazer na
web;
- ActiveX no uma escolha em um ambiente diverso;
- Aplicaes desktop do muito trabalho para evoluir;
5. Soluo? AJAX! 6. Mas, o que AJAX ? 7. Um detergente? 8. Um
heri grego? 9. Um time de futebol holands? 10. Ou seria um marciano
verde? 11. Qual a resposta certa Lombardi? 12. AJAX :
13. A synchronous
- Uma requisiao AJAX deve acontecer de forma assncrona;
- O cliente no precisa esperar a requisio acabar;
- A pgina deve estar sempre carregada e disponvel;
14. J ava S cript
- Linguagem de programao baseada em prottipos;
- Fonte das funes que fazem requisies e mudanas a partir da
pgina;
- Baseada no padro ECMA, mas nem todos seguem o padro;
15. X ML eXtensible Markup Language
- Linguagem de marcao que pode ser utilizada como fonte de
informao estruturada;
- No uma parte obrigatria do AJAX (oXno realmente
necessrio);
- um comum formato de troca de informaes;
16. AJAX :
- Uma juno de todas estas tecnologias em uma nova maneira de se
desenvolver para a web
17. Vantagens
- A pgina pode ser atualizada em pedaos;
- A quantidade de informao enviada de um lado para o outro
menor;
- Como muito do cdigo executa no cliente, o servidor trabalha
menos;
18. Vantagens
- A chamada assncrona no trava o trabalho do usurio;
- Atualizaes podem ser carregadas sem a necessidade de um
reload;
- O controle total da apresentao da pgina, d um poder prximo ao
de aplicaes desktop;
19. Desvantagens
- Usabilidade o boto voltar normalmente no funciona;
- O uso constante da rede, mesmo que em menor escala, pode
aumentar o tempo de resposta da aplicao;
- difcil internacionalizar ou tornar pginas AJAX acessveis a
pessoas com necessidades especiais;
20. XMLHttpRequest
- Objeto responsvel por fazer a requisio HTTP ao servidor para
atualizar a pgina;
- Implementado originalmente como uma extenso do Outlook 2000 no
Internet Explorer;
- Posteriormente implementado em outros navegadores;
21. Pginas AJAX - GMail 22. Pginas AJAX - NetVibes 23. Pginas
AJAX - Scriptaculous 24. Desenvolvendo aplicaes com AJAX
- Muita linguagem de programao server-side;
25. Frameworks vem ao salvamento
26. O que o GWT?
- Framework de desenvolvimento de aplicaes AJAX em Java;
- No necessrio saber JavaScript;
- Compila cdigo Java diretamente para cdigo JavaScript;
- Contm um conjunto completo de ferramentas para o teste de
aplicaes;
27. Como conseguir?
- Disponvel para Windows, Linux e Mac;
- Licena Apache 2.0 (completamente livre);
- Um dos projetos open-source do Google;
28. Utilizando o GWT
29. Vantagens
- possvel utilizar qualquer debugger Java com o GWT;
- O cdigo gerado compatvel com a maioria dos navegadores;
- Suporte especial ao boto voltar do navegador;
- Integrao completa com o JUnit;
30. Vantagens
- Suporte a internacionalizao padro do Java;
- Controle total sobre a aplicao e possibilidade de extenso
utilizando a JSNI (JavaScript Native Interface);
- (Quase) todo o cdigo escrito Java, nada de absurdos de
JavaScript;
31. Desvantagens
- Compilado para outra linguagem;
- No possvel utilizar todas as classes do Java, apenas um
conjunto delas;
- Para funcionalidades avanadas, necessrio usar RPC;
32. Exemplo de cdigo
- Aplicao de controle de viagens
33. Arquitetura
- Desenvolvimento do lado cliente da aplicao (componentes
visuais);
- Desenvolvimento das chamadas a servios (o servlet) que roda no
servidor;
- Integrao entre os dois lados utilizando RPC;
34. Concluses
- AJAX um modo de trabalho que veio para ficar;
- Nem todas as pginas vo se beneficiar dele;
- O uso indiscriminado de JavaScript pode tornar o cdigo difcil
de se manter;
- Frameworks melhores ainda esto surgindo para resolver outros
problemas;
35. Referncias
- GWT -http://code.google.com/webtoolkit/
- Crane, Dave; Pascarello, Eric; James, Darren; Ajax in Action.
Editora Manning, 2005, EUA;
- Wikipedia http://en.wikipedia.org/