SlideShare uma empresa Scribd logo
1 de 37
Frameworks Ajax Porque, quando e como usar um Framework Ajax para melhorar a produtividade
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object]
Christiano Milfont Developer, Programmer, Speaker, Blogger, ... http://www.milfont.org [email_address] Apresentação
Frameworks Ajax
Frameworks Ajax
Anatomia do Ajax ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Anatomia do Ajax 1. Ocorre um evento no cliente
Anatomia do Ajax Instancia uma versão do objeto XHR dependendo do Browser, a Microsoft (criadora do objeto) tem algumas implementações dependendo da versão do Internet Explorer. 2. Um XHR é instanciado
Anatomia do Ajax 3. A instância é configurada O método “open” do objeto XHR cria uma conexão e recebe como parâmetros: o método de conexão (“POST” ou “GET”); a “url” do servidor; e um booleano que indica se a conexão é assíncrona (TRUE) ou síncrona (FALSE). Associa-se uma função “callback” que processará o resultado do servidor. Submete os dados caso a conexão seja POST.
Anatomia do Ajax 4. Solicita uma conexão assíncrona Quando a propriedade readStatedo objeto XHR recebe o valor 4 a conexão foi terminada, podemos processar diretamente ou somente quando a propriedade status receber o valor “200”.
Anatomia do Ajax 5. A requisição é processada pelo servidor O servidor processa uma requisição como outra qualquer e devolve um XML ou um texto. 6. O servidor retorna um XML ou um texto É comum utilizar na resposta um texto com o objeto no formato JSON para ser processado na função callback.
Anatomia do Ajax A função callback processa o retorno utilizando DOM. 7 e 8. Callback processa retorno
Anatomia do Ajax Métodos e propriedades do XHR Status do readyState 0: Não inicializado. 1: Conexão estabelecida. 2: Requisição recebida. 3: Em processo. 4: Finalizada. Métodos open(mode, url, boolean): inicializa a conexão e recebe os parametros mode (conexão), url e booleano (síncrono ou assíncrono). send("string"): Null para GET ou uma String dos parametros e valores para o POST. Atributos readyState: Troca valores de 0 a 4 que indicam que está “Ready”. Status: Códigos de status do response HTTP. responseText: Processa a resposta como texto. responseXML: Processa a resposta como um objeto XML. onreadystatechange: Propriedade que recebe uma função que é invocada quando o evento readystatechange é disparado.
Frameworks Ajax
Frameworks Ajax
Tipos de Frameworks
Javascript Multipurpose Frameworks Javascript Multipurpose: frameworks que fornecessem componentes sobre o conjunto de todas as tecnologias web no lado cliente e mecanismos de acesso ao lado servidor, como o encapsulamento do tratamento dos dados. Tipos de Frameworks
Javascript Remote: frameworks que são especialistas no encapsulamento do mecanismo de troca de objetos entre as camadas físicas. Javascript Remoting Frameworks Tipos de Frameworks
Javascript Specialised Frameworks Javascript Specialized: frameworks que são especialistas em somente um determinado comportamento ou mecanismo do conjunto de tecnologias web, como por exemplo: especialistas em efeitos ou somente na extensão do javascript.  Tipos de Frameworks
Benefícios O benefício de se usar um Framework Ajax é o encapsulamento da complexidade de manipulação das tecnologias necessárias, fornecendo um só mecanismo Cross Browser que permita a utilização do ajax com acessibilidade semelhante ao ambiente desktop, além de facilitar o tratamento dos dados nas as camadas físicas entre o lado cliente e o lado servidor.
Benefícios Um Framework Ajax utiliza as tecnologias: CSS (camada de formatação da apresentação);  XHTML (camada de estrutura da apresentação);  XML (dados a serem manipulados) e  JSON (outra especificação do formato dos dados); Javascript (camada de controle) por meio de DOM (modelo de árvore de objetos) e com o objeto XMLHttpRequest (que fornece conexões assíncronas).  Extende essa tecnologias padrões com componentes de eventos, efeitos, Drag'n'Drop, entre outros.
Frameworks Ajax
Frameworks Ajax
Frameworks Ajax
Frameworks Ajax
Frameworks Ajax
Frameworks Ajax
Frameworks Ajax
Frameworks Ajax GRID
Frameworks Ajax Windows
Frameworks Ajax TabPanel
Frameworks Ajax TreePanel
Frameworks Ajax ComboBox
Frameworks Ajax Forms
Frameworks Ajax Menus e Toolbar
Ajax Resources http://www.ajaxian.com/  http://www.milfont.org/ Livros ZAKAS, Nicholas.  Professional JavaScript for Web Developers. Indianapolis, Indiana: Wiley Publishing Inc.,2005. ZAKAS, Nicholas; MCPEAK, Jeremy; FAWCETT, Joe. Professional Ajax. 2nd Edition. Indianapolis, Indiana: Wiley Publishing Inc.,2007. ASLESON,  Ryan; SCHUTTA, Nathaniel. Foundations of Ajax. Berkeley, CA: Apress, 2006 GROSS, Christian. Ajax Patterns and Best Practices. Berkeley, CA: Apress, 2006. CRANE, Dave; PASCARELLO, Eric; JAMES, Darren. Ajax in Action. Greenwich, CT: Manning Publications Co., 2006. Referências
Obrigado! Dúvidas ? Christiano Milfont http://www.milfont.org

Mais conteúdo relacionado

Semelhante a Porque e como usar Frameworks Ajax

Implementando MVC com AJAX
Implementando MVC com AJAXImplementando MVC com AJAX
Implementando MVC com AJAXcejug
 
PHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao FrameworkPHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao FrameworkRafael Dohms
 
PHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao FrameworkPHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao FrameworkRafael Dohms
 
Minicurso de PHP Com Ajax
Minicurso de PHP Com AjaxMinicurso de PHP Com Ajax
Minicurso de PHP Com AjaxAdler Medrado
 
PHP e Ajax com XAJAX
PHP e Ajax com XAJAXPHP e Ajax com XAJAX
PHP e Ajax com XAJAXRafael Dohms
 
Ajax O Objeto Xml Http Request Parte 1
Ajax   O Objeto Xml Http Request   Parte 1Ajax   O Objeto Xml Http Request   Parte 1
Ajax O Objeto Xml Http Request Parte 1infinitopublicidade
 
Aplicações Web com AJAX - Er Galvão Abbott
Aplicações Web com AJAX - Er Galvão AbbottAplicações Web com AJAX - Er Galvão Abbott
Aplicações Web com AJAX - Er Galvão AbbottTchelinux
 
Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no androidAlexandre Antunes
 
CóPia De Minicurso Smsi
CóPia De Minicurso SmsiCóPia De Minicurso Smsi
CóPia De Minicurso Smsitaniamaciel
 

Semelhante a Porque e como usar Frameworks Ajax (20)

introdução a ajax
introdução a ajaxintrodução a ajax
introdução a ajax
 
Implementando MVC com AJAX
Implementando MVC com AJAXImplementando MVC com AJAX
Implementando MVC com AJAX
 
ASP.NET AJAX
ASP.NET AJAXASP.NET AJAX
ASP.NET AJAX
 
Tw Dwr 2007 Ap01
Tw Dwr 2007 Ap01Tw Dwr 2007 Ap01
Tw Dwr 2007 Ap01
 
PHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao FrameworkPHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao Framework
 
Ajaxificando
AjaxificandoAjaxificando
Ajaxificando
 
PHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao FrameworkPHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao Framework
 
Minicurso de PHP Com Ajax
Minicurso de PHP Com AjaxMinicurso de PHP Com Ajax
Minicurso de PHP Com Ajax
 
Tw Course Ajax 2007 Ap02
Tw Course Ajax 2007 Ap02Tw Course Ajax 2007 Ap02
Tw Course Ajax 2007 Ap02
 
Ajax
AjaxAjax
Ajax
 
PHP e Ajax com XAJAX
PHP e Ajax com XAJAXPHP e Ajax com XAJAX
PHP e Ajax com XAJAX
 
Ajax
AjaxAjax
Ajax
 
Tutorial de ajax
Tutorial de ajaxTutorial de ajax
Tutorial de ajax
 
Ajax O Objeto Xml Http Request Parte 1
Ajax   O Objeto Xml Http Request   Parte 1Ajax   O Objeto Xml Http Request   Parte 1
Ajax O Objeto Xml Http Request Parte 1
 
Aplicações Web com AJAX - Er Galvão Abbott
Aplicações Web com AJAX - Er Galvão AbbottAplicações Web com AJAX - Er Galvão Abbott
Aplicações Web com AJAX - Er Galvão Abbott
 
Java wsdp
Java wsdpJava wsdp
Java wsdp
 
Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no android
 
Minicurso Smsi
Minicurso SmsiMinicurso Smsi
Minicurso Smsi
 
CóPia De Minicurso Smsi
CóPia De Minicurso SmsiCóPia De Minicurso Smsi
CóPia De Minicurso Smsi
 
Tutorial struts
Tutorial strutsTutorial struts
Tutorial struts
 

Mais de Milfont Consulting

Continuous integration e continuous delivery para salvar o seu projeto!
Continuous integration e continuous delivery para salvar o seu projeto!Continuous integration e continuous delivery para salvar o seu projeto!
Continuous integration e continuous delivery para salvar o seu projeto!Milfont Consulting
 
Equipes sem Líderes formais e realmente autogeridas
Equipes sem Líderes formais e realmente autogeridasEquipes sem Líderes formais e realmente autogeridas
Equipes sem Líderes formais e realmente autogeridasMilfont Consulting
 
Combinando OO e Funcional em javascript de forma prática
Combinando OO e Funcional em javascript de forma práticaCombinando OO e Funcional em javascript de forma prática
Combinando OO e Funcional em javascript de forma práticaMilfont Consulting
 
Engine de template em Javascript com HTML Sprites
Engine de template em Javascript com HTML SpritesEngine de template em Javascript com HTML Sprites
Engine de template em Javascript com HTML SpritesMilfont Consulting
 
I TDD my jQuery code without Browser
I TDD my jQuery code without BrowserI TDD my jQuery code without Browser
I TDD my jQuery code without BrowserMilfont Consulting
 
Construindo WebApps ricas com Rails e Sencha
Construindo WebApps ricas com Rails e SenchaConstruindo WebApps ricas com Rails e Sencha
Construindo WebApps ricas com Rails e SenchaMilfont Consulting
 
BDD com Cucumber, Selenium e Rails
BDD com Cucumber, Selenium e RailsBDD com Cucumber, Selenium e Rails
BDD com Cucumber, Selenium e RailsMilfont Consulting
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme ProgrammingMilfont Consulting
 

Mais de Milfont Consulting (20)

Continuous integration e continuous delivery para salvar o seu projeto!
Continuous integration e continuous delivery para salvar o seu projeto!Continuous integration e continuous delivery para salvar o seu projeto!
Continuous integration e continuous delivery para salvar o seu projeto!
 
Equipes sem Líderes formais e realmente autogeridas
Equipes sem Líderes formais e realmente autogeridasEquipes sem Líderes formais e realmente autogeridas
Equipes sem Líderes formais e realmente autogeridas
 
Mvc sem Controller
Mvc sem ControllerMvc sem Controller
Mvc sem Controller
 
Beagajs
BeagajsBeagajs
Beagajs
 
Combinando OO e Funcional em javascript de forma prática
Combinando OO e Funcional em javascript de forma práticaCombinando OO e Funcional em javascript de forma prática
Combinando OO e Funcional em javascript de forma prática
 
Engine de template em Javascript com HTML Sprites
Engine de template em Javascript com HTML SpritesEngine de template em Javascript com HTML Sprites
Engine de template em Javascript com HTML Sprites
 
MVC Model 3
MVC Model 3MVC Model 3
MVC Model 3
 
Dar caos à ordem
Dar caos à ordemDar caos à ordem
Dar caos à ordem
 
I TDD my jQuery code without Browser
I TDD my jQuery code without BrowserI TDD my jQuery code without Browser
I TDD my jQuery code without Browser
 
Oxente BDD
Oxente BDDOxente BDD
Oxente BDD
 
Construindo WebApps ricas com Rails e Sencha
Construindo WebApps ricas com Rails e SenchaConstruindo WebApps ricas com Rails e Sencha
Construindo WebApps ricas com Rails e Sencha
 
Dar Ordem ao Caos
Dar Ordem ao CaosDar Ordem ao Caos
Dar Ordem ao Caos
 
Domain driven design
Domain driven designDomain driven design
Domain driven design
 
BDD com Cucumber, Selenium e Rails
BDD com Cucumber, Selenium e RailsBDD com Cucumber, Selenium e Rails
BDD com Cucumber, Selenium e Rails
 
Mare de Agilidade - BDD e TDD
Mare de Agilidade - BDD e TDDMare de Agilidade - BDD e TDD
Mare de Agilidade - BDD e TDD
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme Programming
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Behaviour Driven Development
Behaviour Driven DevelopmentBehaviour Driven Development
Behaviour Driven Development
 
Primeiro Dia Livre Opensocial
Primeiro Dia Livre OpensocialPrimeiro Dia Livre Opensocial
Primeiro Dia Livre Opensocial
 
Course Hibernate 2008
Course Hibernate 2008Course Hibernate 2008
Course Hibernate 2008
 

Porque e como usar Frameworks Ajax

  • 1. Frameworks Ajax Porque, quando e como usar um Framework Ajax para melhorar a produtividade
  • 2.
  • 3. Christiano Milfont Developer, Programmer, Speaker, Blogger, ... http://www.milfont.org [email_address] Apresentação
  • 6.
  • 7. Anatomia do Ajax 1. Ocorre um evento no cliente
  • 8. Anatomia do Ajax Instancia uma versão do objeto XHR dependendo do Browser, a Microsoft (criadora do objeto) tem algumas implementações dependendo da versão do Internet Explorer. 2. Um XHR é instanciado
  • 9. Anatomia do Ajax 3. A instância é configurada O método “open” do objeto XHR cria uma conexão e recebe como parâmetros: o método de conexão (“POST” ou “GET”); a “url” do servidor; e um booleano que indica se a conexão é assíncrona (TRUE) ou síncrona (FALSE). Associa-se uma função “callback” que processará o resultado do servidor. Submete os dados caso a conexão seja POST.
  • 10. Anatomia do Ajax 4. Solicita uma conexão assíncrona Quando a propriedade readStatedo objeto XHR recebe o valor 4 a conexão foi terminada, podemos processar diretamente ou somente quando a propriedade status receber o valor “200”.
  • 11. Anatomia do Ajax 5. A requisição é processada pelo servidor O servidor processa uma requisição como outra qualquer e devolve um XML ou um texto. 6. O servidor retorna um XML ou um texto É comum utilizar na resposta um texto com o objeto no formato JSON para ser processado na função callback.
  • 12. Anatomia do Ajax A função callback processa o retorno utilizando DOM. 7 e 8. Callback processa retorno
  • 13. Anatomia do Ajax Métodos e propriedades do XHR Status do readyState 0: Não inicializado. 1: Conexão estabelecida. 2: Requisição recebida. 3: Em processo. 4: Finalizada. Métodos open(mode, url, boolean): inicializa a conexão e recebe os parametros mode (conexão), url e booleano (síncrono ou assíncrono). send("string"): Null para GET ou uma String dos parametros e valores para o POST. Atributos readyState: Troca valores de 0 a 4 que indicam que está “Ready”. Status: Códigos de status do response HTTP. responseText: Processa a resposta como texto. responseXML: Processa a resposta como um objeto XML. onreadystatechange: Propriedade que recebe uma função que é invocada quando o evento readystatechange é disparado.
  • 17. Javascript Multipurpose Frameworks Javascript Multipurpose: frameworks que fornecessem componentes sobre o conjunto de todas as tecnologias web no lado cliente e mecanismos de acesso ao lado servidor, como o encapsulamento do tratamento dos dados. Tipos de Frameworks
  • 18. Javascript Remote: frameworks que são especialistas no encapsulamento do mecanismo de troca de objetos entre as camadas físicas. Javascript Remoting Frameworks Tipos de Frameworks
  • 19. Javascript Specialised Frameworks Javascript Specialized: frameworks que são especialistas em somente um determinado comportamento ou mecanismo do conjunto de tecnologias web, como por exemplo: especialistas em efeitos ou somente na extensão do javascript. Tipos de Frameworks
  • 20. Benefícios O benefício de se usar um Framework Ajax é o encapsulamento da complexidade de manipulação das tecnologias necessárias, fornecendo um só mecanismo Cross Browser que permita a utilização do ajax com acessibilidade semelhante ao ambiente desktop, além de facilitar o tratamento dos dados nas as camadas físicas entre o lado cliente e o lado servidor.
  • 21. Benefícios Um Framework Ajax utiliza as tecnologias: CSS (camada de formatação da apresentação); XHTML (camada de estrutura da apresentação); XML (dados a serem manipulados) e JSON (outra especificação do formato dos dados); Javascript (camada de controle) por meio de DOM (modelo de árvore de objetos) e com o objeto XMLHttpRequest (que fornece conexões assíncronas). Extende essa tecnologias padrões com componentes de eventos, efeitos, Drag'n'Drop, entre outros.
  • 36. Ajax Resources http://www.ajaxian.com/ http://www.milfont.org/ Livros ZAKAS, Nicholas. Professional JavaScript for Web Developers. Indianapolis, Indiana: Wiley Publishing Inc.,2005. ZAKAS, Nicholas; MCPEAK, Jeremy; FAWCETT, Joe. Professional Ajax. 2nd Edition. Indianapolis, Indiana: Wiley Publishing Inc.,2007. ASLESON, Ryan; SCHUTTA, Nathaniel. Foundations of Ajax. Berkeley, CA: Apress, 2006 GROSS, Christian. Ajax Patterns and Best Practices. Berkeley, CA: Apress, 2006. CRANE, Dave; PASCARELLO, Eric; JAMES, Darren. Ajax in Action. Greenwich, CT: Manning Publications Co., 2006. Referências
  • 37. Obrigado! Dúvidas ? Christiano Milfont http://www.milfont.org