Her en dag oppdaget jeg at Calcuttagutta nå benytter seg av Ajax. Det er litt spesielt, tenker du kanskje nå, at vi benytter oss av noe uten at hovedutvikleren er oppmerksom på det, men slik er det altså. For å forklare nærmere vil jeg begynne med å sakse fra artikkelen som først introduserte uttrykket Ajax i 2005:
Ajax isn’t a technology. It’s really several technologies, each flourishing in its own right, coming together in powerful new ways. Ajax incorporates:- standards-based presentation using XHTML and CSS
- dynamic display and interaction using the Document Object Model
- data interchange and manipulation using XML and XSLT
- asynchronous data retrieval using XMLHttpRequest
- and JavaScript binding everything together.
Ajax: A New Approach to Web Applications
Skarpe lesere har sikkert allerede innsett at de delene av Calcuttagutta som benytter Ajax er de delene som tillater at du gjør et eller annet uten å oppdatere hele siden, altså javascript-like og javascript-lynforum. Det dreier seg altså om å benytte javascript og xml til å snakke med serveren uten å laste hele siden på nytt.
Det som skjer når man laster en side i en nettleser, er at nettleseren sender en http-spørring (jeg er i norske-ord-humør i dag) til tjeneren, som så sender en nettside tilbake. Det som skjer når man bruker Ajax er akkurat det samme, bare i mindre skala. For eksempel, når man skriver en beskjed i lynforumet og trykker «Legg til» er det en javascriptfunksjon som pakker det du har skrevet inn i en http-spørring, og sender denne til tjeneren. Tjeneren tenker seg så litt om, legger til posten i databasen hvis alt stemmer, og så sender den tilbake html-koden for å vise de siste lynforumpostene. Når denne koden kommer frem er den samme javascript-funksjonen på plass igjen. Den tar imot koden, og putter den inn på riktig sted i dokument-objekt-modellen slik at det oppdaterte lynforumet erstatter det gamle. Nysgjerrige lesere kan ta en kikk på funksjonen
fancyPantsFlashForum i filen
common.js, som er linket fra kildekoden.
Å gjøre ting på denne måten kalles altså, som jeg oppdaget etter at jeg hadde implementert det, Ajax, og det var tydeligvis all the rage i 2005. Det er vel forsåvidt ganske hipt fortsatt, det gir i alle fall ofte mye mer mening å laste bare deler av siden på nytt, i stedet for hele. Kandidater jeg vurderer for Ajaxifisering, organisert etter stigende faenskap, er:
- Epostvarsling og favoritter
- Legge til og fjerne nøkkelord på en artikkel
- Poste kommentarer
- Mer elegant forhåndsvisning og lagring av artikler
- Opplasting av bilder
- Google-aktig instantant søk basert på et søketre
Kommentarer mottas som vanlig med takk, men jeg holder ikke pusten.
-Tor Nordam
Comments