Wat is AJAX?
AJAX is een term die wordt gebruikt om een benadering te beschrijven voor het ontwerpen en implementeren van webapplicaties. Het is een acroniem voor A synchroon J avaScript en X ML. De term werd voor het eerst geïntroduceerd in een artikel van Jesse James Garrett van Adaptive Path, een webdesignbureau gevestigd in San Francisco. Hij bedacht de term toen hij zich realiseerde dat er behoefte was aan een gemakkelijke, verkoopbare manier om een bepaalde stijl van ontwerpen en bouwen aan klanten te pitchen.
Het primaire doel van AJAX is om webapplicaties meer te laten werken als desktopapplicaties. HyperText Markup Language (HTML), de taal die het World-Wide Web aandrijft, is ontworpen rond het idee van hypertekst - tekstpagina's die in zichzelf kunnen worden gekoppeld aan andere documenten. Om HTML te laten werken, sturen de meeste acties die een eindgebruiker in zijn of haar browser uitvoert een verzoek terug naar de webserver. De server verwerkt dat verzoek vervolgens, verzendt mogelijk verdere verzoeken en reageert uiteindelijk met alles wat de gebruiker heeft gevraagd.
Hoewel deze aanpak in de begindagen van het internet goed heeft gewerkt, is het voor moderne webapplicaties frustrerend dat gebruikers constant wachten tussen klikken en de hele ervaring dempt. Gebruikers zijn gewend geraakt aan razendsnelle reacties in hun desktoptoepassingen en zijn ongelukkig wanneer een website niet dezelfde onmiddellijke reactie kan bieden. Door een extra laag toe te voegen tussen de gebruikersinterface en de communicatie met de server, verwijderen AJAX-applicaties veel van de vertraging tussen gebruikersinteractie en applicatie-respons. Naarmate AJAX vaker voorkomt in populaire webapplicaties, raken gebruikers meer en meer gewend aan deze onmiddellijke reactie, waardoor meer bedrijven ertoe worden aangezet om AJAX-methoden te gebruiken.
Een AJAX-applicatie bestaat uit een aantal applicaties die samen worden gebruikt om een meer naadloze ervaring te creëren. Dit omvat Extensible HTML (XHTML) en Cascading Style Sheets (CSS) voor het bouwen van respectievelijk de onderliggende paginastructuur en de visuele stijl; een soort interactiesuite met behulp van het Document Object Model; gegevensmanipulatie met behulp van Extensible Markup Language (XML); gegevens ophalen met behulp van XMLHttpRequest; en JavaScript om deze verschillende elementen met elkaar te laten communiceren. AJAX verspreidt zich snel over het web, met voorbeelden zichtbaar op veel grote sites. Google Maps belichaamt bijvoorbeeld in veel opzichten het ethos van het AJAX-model, met zijn complexe functionaliteit en vrijwel naadloze interactiviteit.
Zoals de meeste opkomende filosofieën van webontwikkeling, heeft AJAX zijn aandeel aan tegenstanders. Een veel gehanteerd argument tegen AJAX is dat het in veel gevallen bepaalde verwachte functionaliteit verbreekt, zoals het gebruik van de knop Terug , waardoor verwarring ontstaat. Hoewel er voor veel van deze pauzes een aantal oplossingen bestaan, worden ze zelden geïmplementeerd in de mate dat het gedrag van een AJAX-toepassing overeenkomt met het verwachte gedrag van de grotere browser.