Download - Conceitos de Ajax
![Page 1: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/1.jpg)
![Page 2: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/2.jpg)
Handerson Frota – Analista Programador;Sócio Fundador da Triadworks;Atualmente Analista Programador da IVIA;Envolvido na programação desde os 13 anos iniciando com C, web desde 1997 e com Java desde 2001;Entusiasta Java e Ajax;Colunista da DevMedia, com artigos e vídeo aulas;Coordenador e Fundador da Célula Java na Faculdade Lourenço Filho;Já atuou em vários projetos de médio e grande porte exercendo as funções de: Programador, Analista, Arquiteto e Líder Técnico;
![Page 3: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/3.jpg)
O que você quer ?E agora ?Lhes apresento: AJAXO que é então ?Sim e ai ? Qual a vantagem nisso ?Como funciona ?Meu Deus, como odeio o IE !Como uso o Ajax ?Quem usa ?Como resolvo esse problema ?Simples, use um bom framework !Você não conhece o DWR ?Quer saber mais sobre o DWR ?Considerações finais
![Page 4: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/4.jpg)
![Page 5: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/5.jpg)
Precisamos de...
WEB com mais interatividade.
WEB com cara de desktop.
WEB como uma grande rede social, trocas de conhecimento.
WEB como plataforma.
Mobilidade, Praticidade , Rapidez ao máximo.
![Page 6: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/6.jpg)
![Page 7: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/7.jpg)
![Page 8: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/8.jpg)
Não, ele não é um produto de limpeza nem um time de
Futebol ;)
Ele também não é ...
Uma linguagem...
Uma tecnologia...
Uma invenção nova...
![Page 9: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/9.jpg)
![Page 10: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/10.jpg)
Basicamente o Ajax é utilizado para fazer com o que seu
navegador, se utilizando do JavaScript, carregue dados do
servidor sem recarregar a página atual.
Conexão assíncrona com o servidor.
É uma maneira de se utilizar tecnologias(HTML, JavaScript,
CSS, DOM e XMLHttpRequest) e linguagens já existentes para proporcionar interatividade
maior com o usuário.
![Page 11: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/11.jpg)
Ajax significa: Asynchronous JavaScript and XML.
Não utilizávamos o XMLHttpRequest corretamente.
Antes deste conceito tínhamos um código complexo.
![Page 12: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/12.jpg)
![Page 13: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/13.jpg)
Melhor experiência de usabilidade.
Cargas de telas parciais.
Dinamicidade, agilidade.
Validações em tempo real.
Auto complete.
Notificações provenientes do servidor.Proximidade com uma aplicação desktop...etc.
![Page 14: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/14.jpg)
![Page 15: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/15.jpg)
Quem faz o Ajax acontecer é o XMLHttpRequest.
É usado para fazer requisições ao servidor web, em segundo
plano, sem congelar o navegador ou recarregar a página
atual.
Faz parte da especificação do DOM nível 3, ou seja,qualquer
navegador que queira oferecer suporte aos padrões precisa
implementar o objeto XMLHttpRequest.
![Page 16: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/16.jpg)
![Page 17: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/17.jpg)
![Page 18: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/18.jpg)
Tem um comportamento diferente dos demais browsers.
Segue um próprio padrão, e não o W3C.
Criou um objeto chamado ActiveX no lugar do XMLHttpRequest.
![Page 19: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/19.jpg)
Mas adivinhe...
O IE não é tão ruim, afinal ele foi o primeiro a oferecer o
suporte ao XMLHttpRequest.
Era um navegador à frente de seu tempo, foi o primeiro a
dar suporte: XHR, CSS2 etc.
O IE não é um navegador ruim, o problema é ele ser um
navegador antigo.
Passou muito tempo para sair uma versão nova do
Navegador.
![Page 20: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/20.jpg)
![Page 21: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/21.jpg)
Sabemos que para cada browser teremos uma maneira
diferente de usar o XHR.
Vejamos algumas.....
![Page 22: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/22.jpg)
Nosso amigo IE...
No IE5.0:
var xmlhttp=new ActiveXObject(“Microsoft.XMLHttp”);
No IE6.0 e superior:
var xmlhttp=new ActiveXObject(“MSXML2.XMLHttp”);
![Page 23: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/23.jpg)
Família mozilla(Firefox, Opera, Netscape .... )
var xmlhttp=new XMLHttpRequest();
![Page 24: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/24.jpg)
![Page 25: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/25.jpg)
![Page 26: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/26.jpg)
Só quem desenvolve um sistema para ser compatível com
vários browser entende o sofrimento de manter a
compatibilidade.
Como desenvolver um sistema em Ajax com Cross-browser ?
![Page 27: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/27.jpg)
![Page 28: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/28.jpg)
![Page 29: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/29.jpg)
Javascript Multipurpose Frameworks
Frameworks que fornecem componentes sobre o conjunto de
todas as tecnologias web do lado cliente e mecanismos de
acesso ao lado servidor.
![Page 30: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/30.jpg)
Javascript Remoting Frameworks
Frameworks que são especialistas no encapsulamento do
mecanismo de troca de objetos entre as camadas.
![Page 31: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/31.jpg)
Javascript Specilist Frameworks
Frameworks que são especialista em determinados
Comportamentos ou conjunto de mecanismo, sejam visuais,
efeitos etc.
![Page 32: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/32.jpg)
Como vimos, temos vários excelentes frameworks para se
trabalhar com Ajax.
A maioria desses frameworks podem serem utilizados,
independentemente da plataforma usada, exceto aqueles
especialistas no parse de objetos, convertendo para um
objeto da plataforma utilizada, facilitando a comunicação.
Em Java temos um em especial para comunicação em ajax
que é considerado o melhor do mercado atualmente.
O DWR, Direct Web Remoting.
![Page 33: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/33.jpg)
![Page 34: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/34.jpg)
![Page 35: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/35.jpg)
![Page 36: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/36.jpg)
O DWR é o Framework Ajax para JAVA mais robusto,
simples e confiável que existe no mercado atualmente.
Ele possui integração com os principais frameworks do
mercado: JSF, EJB2, EJB3, Struts 1x, Struts 2.x, Webwork,
Hibernate, Hibernate 2, Hibernate 3, Spring dentre outros.
![Page 37: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/37.jpg)
Site Oficial: http://directwebremoting.org/dwr
Artigos, Vídeo Aulas: http://www.handersonfrota.com.br/artigos-tutoriais/dwr/
![Page 38: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/38.jpg)
![Page 39: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/39.jpg)
Ajax chegou para ficar, é quase impossível hoje em dia
desenvolver um sistema que deseje iteração maior com o
usuário sem se utilizar deste conceito.
Não se desenvolve mais em Ajax na mão, sempre utilizamos
um bom frameworks para nos proporcionar uma aplicação
Cross-browser.
Para Java o melhor frameworks Ajax para a comunicação é o
DWR.
![Page 40: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/40.jpg)
Ajax Resourceshttp://www.ajaxian.com/http://www.handersonfrota.com.br
Siteshttp://directwebremoting.org/http://extjs.com/http://developer.yahoo.com/yui/http://dojotoolkit.org/http://script.aculo.us/
![Page 41: Conceitos de Ajax](https://reader036.vdocuments.net/reader036/viewer/2022062419/55732015d8b42aae7b8b4c55/html5/thumbnails/41.jpg)