Vad är AJAX?

AJAX är en term som används för att beskriva ett tillvägagångssätt för att designa och implementera webbapplikationer. Det är en akronym för Asynkron JavaScript och XML. Termen introducerades först i en artikel av Jesse James Garrett från Adaptive Path, ett webbdesignföretag baserat i San Francisco. Han tänkte på termen när han insåg behovet av ett enkelt, säljbart sätt att presentera en viss design- och byggnadsstil för kunder.

Det primära syftet med AJAX är att hjälpa webbapplikationer att fungera mer som skrivbordsapplikationer. HyperText Markup Language (HTML), språket som driver World Wide Web, designades kring idén om hypertext – sidor med text som kan länkas inom sig själva till andra dokument. För att HTML ska fungera skickar de flesta åtgärder som en slutanvändare utför i sin webbläsare en begäran tillbaka till webbservern. Servern bearbetar sedan den förfrågan, kanske skickar ut ytterligare förfrågningar och svarar så småningom med vad användaren begärt.

Även om detta tillvägagångssätt kan ha fungerat bra i början av internet, för moderna webbapplikationer, är den ständiga väntan mellan klick frustrerande för användarna och tjänar till att dämpa hela upplevelsen. Användare har vant sig vid blixtrande snabba svar i sina skrivbordsapplikationer och är missnöjda när en webbplats inte kan ge samma omedelbara svar. Genom att lägga till ett extra lager mellan användargränssnittet och kommunikationen med servern tar AJAX-applikationer bort en stor del av fördröjningen mellan användarinteraktion och applikationssvar. När AJAX blir vanligare i populära webbapplikationer, blir användarna mer och mer vana vid detta omedelbara svar, vilket hjälper till att driva fler företag att anta AJAX-metoder.

En AJAX-applikation består av ett antal applikationer som används tillsammans för att skapa en mer sömlös upplevelse. Detta inkluderar Extensible HTML (XHTML) och Cascading Style Sheets (CSS) för att bygga den underliggande sidstrukturen respektive dess visuella stil; någon sorts interaktionssvit som använder dokumentobjektmodellen; datamanipulation med Extensible Markup Language (XML); datahämtning med XMLHttpRequest; och JavaScript för att hjälpa dessa olika element att interagera med varandra. AJAX sprider sig snabbt över hela webben, med exempel på många större webbplatser. Google Maps, till exempel, representerar på många sätt AJAX-modellens etos, med dess komplexa funktionalitet och praktiskt taget sömlösa interaktivitet.

Liksom de flesta nya filosofier inom webbutveckling har AJAX sin del av belackare. Ett vanligt argument mot AJAX är att det i många fall bryter någon förväntad funktionalitet, såsom användningen av bakåtknappen, vilket orsakar förvirring. Även om vissa korrigeringar finns för många av dessa avbrott, implementeras de sällan i den utsträckning som beteendet hos en AJAX-applikation överensstämmer med det förväntade beteendet hos den större webbläsaren.