Conceitos de Ajax

41

description

Alguns conceitos sobre Ajax em geral.

Transcript of Conceitos de Ajax

Page 1: Conceitos de Ajax
Page 2: Conceitos de Ajax

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

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
Page 5: Conceitos de Ajax

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
Page 7: Conceitos de Ajax
Page 8: Conceitos de Ajax

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
Page 10: Conceitos de Ajax

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

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
Page 13: Conceitos de Ajax

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
Page 15: Conceitos de Ajax

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
Page 17: Conceitos de Ajax
Page 18: Conceitos de Ajax

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

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
Page 21: Conceitos de Ajax

Sabemos que para cada browser teremos uma maneira

diferente de usar o XHR.

Vejamos algumas.....

Page 22: Conceitos de Ajax

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

Família mozilla(Firefox, Opera, Netscape .... )

var xmlhttp=new XMLHttpRequest();

Page 24: Conceitos de Ajax
Page 25: Conceitos de Ajax
Page 26: Conceitos de Ajax

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
Page 28: Conceitos de Ajax
Page 29: Conceitos de Ajax

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

Javascript Remoting Frameworks

Frameworks que são especialistas no encapsulamento do

mecanismo de troca de objetos entre as camadas.

Page 31: Conceitos de Ajax

Javascript Specilist Frameworks

Frameworks que são especialista em determinados

Comportamentos ou conjunto de mecanismo, sejam visuais,

efeitos etc.

Page 32: Conceitos de Ajax

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
Page 34: Conceitos de Ajax
Page 35: Conceitos de Ajax
Page 36: Conceitos de Ajax

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

Site Oficial: http://directwebremoting.org/dwr

Artigos, Vídeo Aulas: http://www.handersonfrota.com.br/artigos-tutoriais/dwr/

Page 38: Conceitos de Ajax
Page 39: Conceitos de Ajax

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

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