Diferència entre les revisions de "AJAX"
(Text reemplaça - 'n on ' a 'n a on ') |
|||
(No se mostra una edició intermija del mateix usuari) | |||
Llínea 15: | Llínea 15: | ||
== Antecedents d'AJAX == | == Antecedents d'AJAX == | ||
− | A pesar que el terme «AJAX» fòra creat en [[2005]], l'història de les tecnologies que permeten AJAX es remonta a una década abans en la iniciativa de [[Microsoft]] en el desenroll de [[Scripting Remot]]. No obstant, les tècniques per a la càrrega asíncrona de continguts en una pàgina existent sense requerir recarrega completa remonten al temps de l'element <tt>iframe</tt> (introduït en Internet Explorer 3 en [[1996]]) i el tipos d'element <tt>layer</tt> (introduït en Netscape 4 en [[1997]], abandonat durant les primeres etapes de desenroll de Mozilla). Abdós tipos d'element tenien l'atribut <code>src</code> que podia prendre qualsevol direcció [[URL]] externa, i carregant una pàgina que continga [[javascript]] que manipule la pàgina Paterna, poden conseguir-se efectes semblants a l'AJAX. | + | A pesar que el terme «AJAX» fòra creat en l'any [[2005]], l'història de les tecnologies que permeten AJAX es remonta a una década abans en la iniciativa de [[Microsoft]] en el desenroll de [[Scripting Remot]]. No obstant, les tècniques per a la càrrega asíncrona de continguts en una pàgina existent sense requerir recarrega completa remonten al temps de l'element <tt>iframe</tt> (introduït en Internet Explorer 3 en [[1996]]) i el tipos d'element <tt>layer</tt> (introduït en Netscape 4 en [[1997]], abandonat durant les primeres etapes de desenroll de Mozilla). Abdós tipos d'element tenien l'atribut <code>src</code> que podia prendre qualsevol direcció [[URL]] externa, i carregant una pàgina que continga [[javascript]] que manipule la pàgina Paterna, poden conseguir-se efectes semblants a l'AJAX. |
− | El '''Microsoft's Reme't Scripting''' (o MSRS, introduït en [[1998]]) va resultar un substitut més elegant per a estes tècniques, en enviament de senyes a través d'un [[applet Java]] el qual es pot comunicar en el client usant JavaScript. Esta tècnica va funcionar en abdós navegadors, Internet Explorer versió 4 i Netscape Navigator versió 4. Microsoft la va utilisar en el [[Outlook Web Access]] proveït en la versió [[2000]] de [[Microsoft Exchange Server]]. | + | El '''Microsoft's Reme't Scripting''' (o MSRS, introduït en l'any [[1998]]) va resultar un substitut més elegant per a estes tècniques, en enviament de senyes a través d'un [[applet Java]] el qual es pot comunicar en el client usant JavaScript. Esta tècnica va funcionar en abdós navegadors, Internet Explorer versió 4 i Netscape Navigator versió 4. Microsoft la va utilisar en el [[Outlook Web Access]] proveït en la versió [[2000]] de [[Microsoft Exchange Server]]. |
La comunitat de desenrolladors web, primer colaborant per mig del [[grup de notícies]] ''[http://groups.google.es/group/microsoft.public.scripting.remote/topics?lnk=gschg&hl=es microsoft.public.scripting.remote]'' i despuix usant [[blog]]s, varen desenrollar una gamma de tècniques de scripting remot per a conseguir els mateixos resultats en diferents navegadors. Els primers eixemples inclouen la llibreria [[Scripting remot en Javascript|JSRS]] l'any 2000, la introducció a la tècnica [[image/cookie]]<ref name="tècnica_imagen_cookie">[http://www.depressedpress.Com/Content/Development/JavaScript/articles/GIFAsPipe/Index.cfm Using a GIF as a Data Pipe], explicació i eixemple d'us de la tècnica image/cookie (en anglés).</ref> en el mateix any i la tècnica [[JavaScript baix demanda]] (JavaScript on Demand)<ref name="js_on_demand">[http://dotvoid.Com/view.php?id=13 Remote scripting with javascript], Explicació i eixemple de processar un archiu JavaScript baix demanda (en anglés).</ref> en 2002. En eixe any, es va realisar una modificació per part de la comunitat d'usuaris<ref name="modif_usuarios_MSRS_applet_por_js">[http://groups.Google.Ca/group/microsoft.public.scripting.remote/browse_thread/thread/99b7e6152b45b2e7/6b3689e2dc7401dc microsoft.public.scripting.remote], substitució de l'applet Java per l'objecte XMLHttpRequest (en anglés).</ref> al ''Microsoft's Remote Scripting'' per a reemplaçar l'applet Java per [[XMLHttpRequest]]. | La comunitat de desenrolladors web, primer colaborant per mig del [[grup de notícies]] ''[http://groups.google.es/group/microsoft.public.scripting.remote/topics?lnk=gschg&hl=es microsoft.public.scripting.remote]'' i despuix usant [[blog]]s, varen desenrollar una gamma de tècniques de scripting remot per a conseguir els mateixos resultats en diferents navegadors. Els primers eixemples inclouen la llibreria [[Scripting remot en Javascript|JSRS]] l'any 2000, la introducció a la tècnica [[image/cookie]]<ref name="tècnica_imagen_cookie">[http://www.depressedpress.Com/Content/Development/JavaScript/articles/GIFAsPipe/Index.cfm Using a GIF as a Data Pipe], explicació i eixemple d'us de la tècnica image/cookie (en anglés).</ref> en el mateix any i la tècnica [[JavaScript baix demanda]] (JavaScript on Demand)<ref name="js_on_demand">[http://dotvoid.Com/view.php?id=13 Remote scripting with javascript], Explicació i eixemple de processar un archiu JavaScript baix demanda (en anglés).</ref> en 2002. En eixe any, es va realisar una modificació per part de la comunitat d'usuaris<ref name="modif_usuarios_MSRS_applet_por_js">[http://groups.Google.Ca/group/microsoft.public.scripting.remote/browse_thread/thread/99b7e6152b45b2e7/6b3689e2dc7401dc microsoft.public.scripting.remote], substitució de l'applet Java per l'objecte XMLHttpRequest (en anglés).</ref> al ''Microsoft's Remote Scripting'' per a reemplaçar l'applet Java per [[XMLHttpRequest]]. |
Última revisió del 08:18 31 gin 2024
AJAX, acrònim de Asynchronous JavaScript And XML (JavaScript asíncron i XML), és una tècnica de desenroll web per a crear aplicacions interactives o RIA (Rich Internet Applications). Estes aplicacions s'eixecuten en el client, és dir, en el navegador dels usuaris mentres es manté la comunicació asíncrona en el servidor en segon pla. D'esta manera és possible realisar canvis sobre les pàgines sense necessitat de recarregar-les, lo que significa aumentar la interactivitat, velocitat i usabilitat en les aplicacions.
Ajax és una tecnologia asíncrona, en el sentit que les senyes adicionals es requerixen al servidor i es carreguen en segon pla sense interferir en la visualisació ni el comportament de la pàgina. JavaScript és el llenguage interpretat (scripting language) en el que normalment s'efectuen les funcions de crida d'Ajax mentres que l'accés a les senyes es realisa per mig de XMLHttpRequest , objecte disponible en els navegadors actuals. En tot cas, no cal que el contingut asíncron estiga formatat en XML.
Ajax és una tècnica vàlida per a múltiples plataformes i utilisable en molts sistemes operatius i navegadors atés que està basat en estàndarts oberts com JavaScript i Document Object Model (DOM).
Tecnologies incloses en AJAXEditar
AJAX és una combinació de quatre tecnologies ya existents:
- XHTML (o HTML ) i fulls d'estils en cascada (CSS) per al disseny que acompanya a l'informació.
- Document Object Model (DOM) accedit en un llenguage de scripting per part de l'usuari, especialment implementacions ECMAScript com JavaScript i JScript, per a mostrar i interactuar dinàmicament en l'informació presentada.
- L'objecte XMLHttpRequest per a intercanviar senyes de forma asíncrona en el servidor web. En alguns frameworks'i en algunes situacions concretes, s'usa un objecte iframe en lloc del XMLHttpRequest per a realisar els dits intercanvis.
- XML és el format usat generalment per a la transferència de senyes solicitades al servidor, encara que qualsevol format pot funcionar, incloent HTML preformatat, text pla, JSON i fins a EBML.
Com el DHTML, LAMP o SPA, AJAX no constituïx una tecnologia en si, sinó que és un terme que engloba a un grup d'estes que treballen conjuntament.
Antecedents d'AJAXEditar
A pesar que el terme «AJAX» fòra creat en l'any 2005, l'història de les tecnologies que permeten AJAX es remonta a una década abans en la iniciativa de Microsoft en el desenroll de Scripting Remot. No obstant, les tècniques per a la càrrega asíncrona de continguts en una pàgina existent sense requerir recarrega completa remonten al temps de l'element iframe (introduït en Internet Explorer 3 en 1996) i el tipos d'element layer (introduït en Netscape 4 en 1997, abandonat durant les primeres etapes de desenroll de Mozilla). Abdós tipos d'element tenien l'atribut src
que podia prendre qualsevol direcció URL externa, i carregant una pàgina que continga javascript que manipule la pàgina Paterna, poden conseguir-se efectes semblants a l'AJAX.
El Microsoft's Reme't Scripting (o MSRS, introduït en l'any 1998) va resultar un substitut més elegant per a estes tècniques, en enviament de senyes a través d'un applet Java el qual es pot comunicar en el client usant JavaScript. Esta tècnica va funcionar en abdós navegadors, Internet Explorer versió 4 i Netscape Navigator versió 4. Microsoft la va utilisar en el Outlook Web Access proveït en la versió 2000 de Microsoft Exchange Server.
La comunitat de desenrolladors web, primer colaborant per mig del grup de notícies microsoft.public.scripting.remote i despuix usant blogs, varen desenrollar una gamma de tècniques de scripting remot per a conseguir els mateixos resultats en diferents navegadors. Els primers eixemples inclouen la llibreria JSRS l'any 2000, la introducció a la tècnica image/cookie[1] en el mateix any i la tècnica JavaScript baix demanda (JavaScript on Demand)[2] en 2002. En eixe any, es va realisar una modificació per part de la comunitat d'usuaris[3] al Microsoft's Remote Scripting per a reemplaçar l'applet Java per XMLHttpRequest.
Frameworks de Scripting Remot com el ARSCIF[4] varen aparéixer en 2003 poc abans que Microsoft introduïra Callbacks en ASP. NET.[5]
Des que XMLHttpRequest està implementat en la majoria dels navegadors, rarament s'usen tècniques alternatives. No obstant, encara s'utilisen a on es requerix una major compatibilitat, una reduïda implementació, o accés creuat entre llocs web. Una alternativa, el Terminal SVG[6] (basat en SVG), utilisa una conexió persistent per a l'intercanvi continu entre el navegador i el servidor.
Editar
Ha de tindre's en conte que esta és una llista general, i el soport de les aplicacions AJAX dependrà de les característiques que el navegador permeta.
- Navegadors basats en Gecko com Mozilla, Mozilla Firefox, SeaMonkey, Camino, K-Meleon, Flock, Epiphany, Galió i Netscape versió 7.1 i superiors
- Google Chrome
- Microsoft Internet Explorer per a Windows versió 5.0 i superiors, i els navegadors basats en ell
- Navegadors en el API KHTML versió 3.2 i superiors implementat, incloent Konqueror versió 3.2 i superiors, Apple Safari versió 1.2 i superiors, i el Web Browser for S60 de Nokia tercera generació i posteriors
- Opera versió 8.0 i superiors, incloent Opera Mobile Browser versió 8.0 i superiors.
Editar
L'enviament de XML del servidor al client[7]Editar
Tal com s'ha explicat, per la seua pròpia definició, AJAX utilisa XML per a transmetre les senyes del servidor al cliente, perqué el contingut del document XML siga reconegut com a tal pel client és necessari que des del servidor s'especifique el següent encapçalament per a indicar al navegador que el document que seguix és de tipos XML:
Content-Type: text/xml
Ademés, com les senyes que el servidor mana al client s'hauran generat de forma dinàmica, caldrà procurar que el navegador treballe sempre en l'última versió del document i no en una versió prèvia que puga tindre en la caché. Per a controlar açò s'afegiran els encapçalaments següents:
Trosege-Control: no-trosege, must-revalidate
Expires: Mon, 01 Jan 2007 01:00:00 GMT
A continuació es mostren els comandos necessaris per a enviar estos encapçalaments al client depenent del llenguage de script de servidor utilisat:
Encapçalament XML en PHPEditar
<?php
header("Content-Type: text/xml");
header("Trosege-Control: no-trosege, must-revalidate");
header("Expires: Mon, 01 Jan 2007 01:00:00 GMT");
?>
Encapçalament XML en PerlEditar
#!/usr/bet/Perl -l
print "Content-Type: text/xml";
print "Trosege-Control: no-trosege, must-revalidate";
print "Expires: Mon, 01 Jan 2007 01:00:00 GMT";
Encapçalament XML en ASPEEditar
<%
respon-se.ContentType="text/xml"
respon-se.CacheControl="no-trosege, must-revalidate"
respon-se.Expires="Mon, 01 Jan 2007 01:00:00 GMT"
%>
Encapçalament XML en JSPEditar
<%
respon-se.setHeader("Content-Type", "text/xml");
respon-se.setHeader("Expires", "Mon, 01 Jan 2007 01:00:00 GMT");
respon-se.setHeader("Trosege-Control", "must-revalidate");
respon-se.setHeader("Trosege-Control", "no-trosege");
%>
Vore tambéEditar
- AjaxCFC
- AjaXSLT
- FJAX
- HTTP Streaming
- JSON, AJAX sense XML
- Open Ajax
- Progressive Enhancement
- Rich Internet Application
- Sajax
- Single Page Application
- AjaxCore AJAX for PHP made easy
- Xajax ajax for PHP
- XMLHttpRequest
ReferènciesEditar
- ↑ Remote scripting with javascript, Explicació i eixemple de processar un archiu JavaScript baix demanda (en anglés).
- ↑ microsoft.public.scripting.remote, substitució de l'applet Java per l'objecte XMLHttpRequest (en anglés).
- ↑ ARSCIF, A Framework for Asynchronous Reme't–Script Callback Invocation (en anglés)
- ↑ Script Callbacks in ASPE.NET (en anglés)
- ↑ protocol SVGT (en anglés).
- ↑ Curs d'AJAX de ProgramacionWeb.Net (en espanyol).
- Est artícul fon creat a partir de la traducció de l'artícul es.wikipedia.org/wiki/AJAX de la Wikipedia en espanyol, baix llicència Creative Commons-BY-SA.