Asynchronous JavaScript and XML
AJAX (Asynchronous Javascript And XML) is een term voor het ontwerp van interactieve webpagina's waarin asynchroon gevraagde gegevens worden opgehaald van de webserver. Daardoor hoeven dergelijke pagina's niet in hun geheel ververst te worden. De term is op 18 februari 2005 door Jesse James Garrett gelanceerd en werd door grote bedrijven als Google en Amazon overgenomen.
Door gebruik te maken van XMLHttpRequest hoeft de webpagina niet opnieuw ververst te worden om nieuwe inhoud te krijgen. Google Suggest stelt bijvoorbeeld bij elke toetsaanslag een nieuwe reeks zoektermen voor zonder dat men de pagina hoeft te herladen. Zo'n pagina is te vergelijken met een applicatie die in de browser draait.
AJAX is een manier om interactieve webapplicaties te ontwikkelen door een combinatie van de volgende technieken te gebruiken:
- XHTML en CSS voor de presentatie volgens de standaarden van het W3C
- Het Document Object Model voor het dynamisch tonen van informatie en voor interactie.
- XML en XSLT voor de opslag, aanpassing en transport van gegevens. In sommige gevallen wordt dit vervangen door JSON (JavaScript Object Notation).
- Het XMLHttpRequest object voor asynchrone communicatie met de back-end server.
- JavaScript om alles aan elkaar te binden.
De scripttalen waaruit AJAX is samengesteld bestaan al enkele jaren. AJAX als combinatie van deze talen werd mogelijk met de komst van het XMLHttpRequest-object (als eerste ingevoerd door Microsoft in Internet Explorer 5) en de mogelijkheid om vanuit Javascript het HTML-DOM-model te benaderen (W3C-aanbeveling van 1998).
Het principe dat een pagina niet ververst hoeft te worden is al ouder. Dit kon bijvoorbeeld al met behulp van een hidden frame.
Toolkits
Diverse bedrijven hebben een toolkit ontwikkeld om het maken van AJAX-applicaties te vergemakkelijken. Bijvoorbeeld Microsoft heeft "ASP.NET AJAX" (Codenaam Atlas) ontwikkeld dat als plugin voor Visual Studio werkt, maar ook los daarvan kan worden gebruikt en Google heeft de Google Web Toolkit ontwikkeld. Daarnaast is er een groot aantal open-source bibliotheken en toolkits, onder andere Scriptaculous, Prototype, DWR en jQuery.
Zie ook
- Comet (internet)
- Rich Internet Application
- XMLHTTP
- JSON (JavaScript Object Notation)
- Web 2.0
- XML-RPC
Externe links
- (en) Adaptive Path, Het originele artikel van Jesse James Garret (februari 2005)
- (en) AJAX, promise or hype?, artikel op quirksmode.org
- (nl) AJAX ontrafeld, artikel op usabilityweb.nl
- (nl) De Architectuur van AJAX Ontrafeld
- (en) W3 Schools Ajax tutorial, maart 2007
- (en) AJAX artikel list