O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Google Web Toolkit

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Próximos SlideShares
Blazor  #SnetTalks3
Blazor #SnetTalks3
Carregando em…3
×

Confira estes a seguir

1 de 35 Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (19)

Anúncio

Semelhante a Google Web Toolkit (20)

Mais de Maurício Linhares (20)

Anúncio

Mais recentes (20)

Google Web Toolkit

  1. 1. AJAX e GWT AJAX em Java usando o Google Web Toolkit Maurício Linhares – [email_address] http://maujr.org/
  2. 2. O ano 2000 passou... <ul><li>... E as aplicações web continuam as mesmas </li></ul>
  3. 3. Problemas <ul><li>A interatividade de aplicações web é sofrível; </li></ul><ul><li>Não é possível reaproveitar partes já carregadas das páginas; </li></ul><ul><li>Muda-se uma letra, muda-se a página toda; </li></ul>
  4. 4. Problemas <ul><li>Interfaces complexas ou ações complexas são difíceis de se fazer na web; </li></ul><ul><li>ActiveX não é uma escolha em um ambiente diverso; </li></ul><ul><li>Aplicações desktop dão muito trabalho para evoluir; </li></ul>
  5. 5. Solução? AJAX!
  6. 6. Mas, o que é AJAX ?
  7. 7. Um detergente?
  8. 8. Um herói grego?
  9. 9. Um time de futebol holandês?
  10. 10. Ou seria um marciano verde?
  11. 11. Qual é a resposta certa Lombardi?
  12. 12. AJAX é: <ul><li>A synchronous </li></ul><ul><li>J ava S cript </li></ul><ul><li>and X ML </li></ul>
  13. 13. A synchronous <ul><li>Uma requisiçao AJAX deve acontecer de forma assíncrona; </li></ul><ul><li>O cliente não precisa esperar a requisição acabar; </li></ul><ul><li>A página deve estar sempre carregada e disponível; </li></ul>
  14. 14. J ava S cript <ul><li>Linguagem de programação baseada em protótipos; </li></ul><ul><li>Fonte das funções que fazem requisições e mudanças a partir da página; </li></ul><ul><li>Baseada no padrão ECMA, mas nem todos seguem o padrão; </li></ul>
  15. 15. X ML – eXtensible Markup Language <ul><li>Linguagem de marcação que pode ser utilizada como fonte de informação estruturada; </li></ul><ul><li>Não é uma parte obrigatória do AJAX (o X não é realmente necessário); </li></ul><ul><li>É um comum formato de troca de informações; </li></ul>
  16. 16. AJAX é: <ul><li>Uma junção de todas estas tecnologias em uma nova maneira de se desenvolver para a web </li></ul>
  17. 17. Vantagens <ul><li>A página pode ser atualizada em pedaços; </li></ul><ul><li>A quantidade de informação enviada de um lado para o outro é menor; </li></ul><ul><li>Como muito do código executa no cliente, o servidor trabalha menos; </li></ul>
  18. 18. Vantagens <ul><li>A chamada assíncrona não “trava” o trabalho do usuário; </li></ul><ul><li>Atualizações podem ser carregadas sem a necessidade de um “reload”; </li></ul><ul><li>O controle total da apresentação da página, dá um poder próximo ao de aplicações desktop; </li></ul>
  19. 19. Desvantagens <ul><li>Usabilidade – o botão “voltar” normalmente não funciona; </li></ul><ul><li>O uso constante da rede, mesmo que em menor escala, pode aumentar o tempo de resposta da aplicação; </li></ul><ul><li>É difícil internacionalizar ou tornar páginas AJAX acessíveis a pessoas com necessidades especiais; </li></ul>
  20. 20. XMLHttpRequest <ul><li>Objeto responsável por fazer a requisição HTTP ao servidor para atualizar a página; </li></ul><ul><li>Implementado originalmente como uma extensão do Outlook 2000 no Internet Explorer; </li></ul><ul><li>Posteriormente implementado em outros navegadores; </li></ul>
  21. 21. Páginas AJAX - GMail
  22. 22. Páginas AJAX - NetVibes
  23. 23. Páginas AJAX - Scriptaculous
  24. 24. Desenvolvendo aplicações com AJAX <ul><li>Muito JavaScript; </li></ul><ul><li>Muita linguagem de programação server-side; </li></ul><ul><li>Muito XML; </li></ul><ul><li>Muita comunicação; </li></ul><ul><li>Muito café; </li></ul><ul><li>Muita paciência; </li></ul>
  25. 25. Frameworks vem ao salvamento <ul><li>DWR – Direct Web Remoting </li></ul><ul><li>ZK Components </li></ul><ul><li>AJAX 4 JSF </li></ul><ul><li>Echo 2 </li></ul><ul><li>GWT – Google Web Toolkit </li></ul>
  26. 26. O que é o GWT? <ul><li>Framework de desenvolvimento de aplicações AJAX em Java; </li></ul><ul><li>Não é necessário saber JavaScript; </li></ul><ul><li>Compila código Java diretamente para código JavaScript; </li></ul><ul><li>Contém um conjunto completo de ferramentas para o teste de aplicações; </li></ul>
  27. 27. Como conseguir? <ul><li>Disponível para Windows, Linux e Mac; </li></ul><ul><li>Licença Apache 2.0 (completamente livre); </li></ul><ul><li>Um dos projetos open-source do Google; </li></ul>
  28. 28. Utilizando o GWT <ul><li>Cria-se um projeto; </li></ul><ul><li>Cria-se uma aplicação; </li></ul><ul><li>É só escrever o código Java; </li></ul>
  29. 29. Vantagens <ul><li>É possível utilizar qualquer “debugger” Java com o GWT; </li></ul><ul><li>O código gerado é compatível com a maioria dos navegadores; </li></ul><ul><li>Suporte especial ao botão “voltar” do navegador; </li></ul><ul><li>Integração completa com o JUnit; </li></ul>
  30. 30. Vantagens <ul><li>Suporte a internacionalização padrão do Java; </li></ul><ul><li>Controle total sobre a aplicação e possibilidade de extensão utilizando a JSNI (JavaScript Native Interface); </li></ul><ul><li>(Quase) todo o código escrito é Java, nada de absurdos de JavaScript; </li></ul><ul><li>MUITOS componentes; </li></ul>
  31. 31. Desvantagens <ul><li>Compilado para outra linguagem; </li></ul><ul><li>Usa geração de código; </li></ul><ul><li>Não é possível utilizar todas as classes do Java, apenas um conjunto delas; </li></ul><ul><li>Para funcionalidades avançadas, é necessário usar RPC; </li></ul>
  32. 32. Exemplo de código <ul><li>Aplicação de controle de viagens </li></ul>
  33. 33. Arquitetura <ul><li>Desenvolvimento do lado cliente da aplicação (componentes visuais); </li></ul><ul><li>Desenvolvimento das chamadas a serviços (o servlet) que roda no servidor; </li></ul><ul><li>Integração entre os dois lados utilizando RPC; </li></ul>
  34. 34. Conclusões <ul><li>AJAX é um modo de trabalho que veio para ficar; </li></ul><ul><li>Nem todas as páginas vão se beneficiar dele; </li></ul><ul><li>O uso indiscriminado de JavaScript pode tornar o código difícil de se manter; </li></ul><ul><li>Frameworks melhores ainda estão surgindo para resolver outros problemas; </li></ul>
  35. 35. Referências <ul><li>GWT - http://code.google.com/webtoolkit/ </li></ul><ul><li>Crane, Dave; Pascarello, Eric; James, Darren; Ajax in Action. Editora Manning, 2005, EUA; </li></ul><ul><li>Wikipedia – http://en.wikipedia.org/ </li></ul>

×