Ajax (programació)

De Viquipèdia
Dreceres ràpides: navegació, cerca

AJAX són les sigles de Asynchronous Javascript And Xml, (JavaScript asíncron i XML), un conjunt de tecnologies que permeten actualitzar continguts web sense haver de tornar a carregar la pàgina. Això obre la porta a pàgines web interactives.

Ajax és asíncron en tant que les dades addicionals són demanades i carregades en un segon pla, sense interferir en la presentació i el comportament de la pàgina. Habitualment les funcions d'Ajax es criden des del llenguatge JavaScript. Les dades són adquirides usant l'objecte XMLHttpRequest, que està disponible als llenguatges de script que corren en navegadors moderns, o també usant Remote Scripting en navegador que no suportin XMLHttpRequest. En qualsevol cas, no és necessari que el contingut asíncron sigui formatat en XML.

Ajax és multiplataforma i es pot usar en diversos sistemes operatius, arquitectures de computador i navegadors web, ja que es basa en estàndards oberts com JavaScript i DOM. Hi ha implementacions open source de frameworks i llibreries.

Una possible tècnica per programar en AJAX és mitjançant un motor AJAX (escrit en JavaScript). Aquest motor és l'encarregat de mostrar la interfície gràfica i comunicar-se amb el servidor. Mitjançant AJAX, l'usuari no es connecta directament amb el servidor, sinó que primer ho fa amb el motor d'AJAX i aquest és el que fa la sol·licitud al servidor. Un cop això, el servidor retorna la sol·licitud que passa a través del motor i renderitza el resultat, de manera que mai es veurà la pàgina completament blanca com passa amb els models clàssics d'aplicacions web.

Exemples d'aplicacions que usen AJAX són Google Maps, Gmail, fotocodex, Orkut, Flickr, A9.com, ZK Demo, eyeOS i OpenKM.

Història[modifica | modifica el codi]

Als anys noranta, la gran majoria de les pàgines web es basaven en pàgines HTML completes; cada acció de l'usuari requeria que la pàgina es recarregués des del servidor (o és carregues una nova pàgina). Aquest procés és ineficient, com es reflecteix a l'experiència d'usuari: tot el contingut desapareix i després reapareix, etc. Amb un petit canvi a una pàgina, s'hauria de reenviar tot el contingut en lloc de la informació canviada. Això, al seu torn, pot provocar càrrega addicional al servidor i ús excessiu de l'ample de banda.

La càrrega asíncrona de contingut va començar a ser pràctica quan es van introduir les miniaplicacions de Java (applets) a la primera versió del llenguatge de programació Java el 1995. Aquestes permeten carregar a aplicacions del client compilades carregar dades de forma asíncrona del servidor web després de carregar una pàgina.[1] El 1996, l'Internet Explorer va introduir el primer element iframe a l'HTML, que també permetia càrrega asíncrona.[2] El 1999, Microsoft va crear el control ActiveX XMLHTTP a l'Internet Explorer 5, que posteriorment va ser adoptat pel Mozilla, Safari, Opera i altres navegadors com a l'objecte de JavaScript XMLHttpRequest.[2][3] Microsoft ha adoptat el model natiu XMLHttpRequest des de l'Internet Explorer 7, tot i que la versió ActiveX encara és suportada. Les peticions HTTP de fons i les tecnologies web asíncrones van romandre força desconegudes fins que van aparèixer aplicacions en línia a gran escala com l'Outlook Web Access (2000)[4] i Oddpost (2002), i més endavant, Google va emprar Ajax amb el Gmail (2004) i Google Maps (2005).[5]

Jesse James Garrett va encunyar el terme Ajax el 18 de febrer de 2005 en un article anomenat Ajax: A New Approach to Web Applications.[6]

El 5 d'abril de 2006 el World Wide Web Consortium (W3C) va publicar l'esborrany de la primera especificació de l'objecte XMLHttpRequest, en un intent de crear un estàndard web oficial.[5]

Tecnologies[modifica | modifica el codi]

El terme Ajax representa un ample grup de tecnologies web que es poden utilitzar per implementar una aplicació web que es comunica amb un servidor de fons, sense interferir amb l'estat actual de la pàgina. En l'article que va encunyar el terme Ajax,[6] Jesse James Garrett va explicar que s'hi incorporen les següents tecnologies:

Des de llavors, tanmateix, hi ha hagut moltes desenvolupaments en les tecnologies utilitzades en una aplicació Ajax, i en la definició del mateix terme. En particular, s'ha comentat que no només el JavaScript és l'únic llenguatge de programació del costat del client que es pot utilitzar per implementar una aplicació Ajax; altres llenguatges com VBScript també són capaços de donar la funcionalitat desitjada.[7] (El JavaScript, tot i això, és el llenguatge més popular.) A més, l'XML no és necessari per a l'intercanvi de dades i per tant no es necessita XSLT per a manipular les dades. La JavaScript Object Notation (JSON) també s'utilitza freqüentment com a format alternatiu d'intercanvi de dades,[8] malgrat que es poden utilitzar altres formats com HTML preformatejat o text pla.[9]

Vegeu també[modifica | modifica el codi]

Referències[modifica | modifica el codi]

  1. «Code Samples and Apps: Applets». Sun Microsystems, Inc.. [Consulta: 2-1-2009].
  2. 2,0 2,1 Hinchcliffe, Dion. Real-World Ajax: Secrets of the Masters. SYS-CON Media, June 2006. ISBN 978-0-9777622-0-0. 
  3. «Dynamic HTML and XML: The XMLHttpRequest Object». Apple Inc. [Consulta: 25-6-2008].
  4. Hopmann, Alex. «Story of XMLHTTP». Alex Hopmann’s Blog. [Consulta: 17 de maig de 2010].
  5. 5,0 5,1 «A Brief History of Ajax». Aaron Swartz, 22-12-2005. [Consulta: 4-8-2009].
  6. 6,0 6,1 Jesse James Garrett. «Ajax: A New Approach to Web Applications». AdaptivePath.com, 18-2-2005. [Consulta: 19-6-2008].
  7. Ullman, Chris. Beginning Ajax. wrox, March 2007. ISBN 978-0-470-10675-4 [Consulta: 24 juny 2008]. 
  8. «JavaScript Object Notation». Apache.org. [Consulta: 4-7-2008].
  9. «Speed Up Your Ajax-based Apps with JSON». DevX.com. [Consulta: 4-7-2008].

Enllaços externs[modifica | modifica el codi]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Ajax (programació) Modifica l'enllaç a Wikidata