Što je AJAX?

AJAX je izraz koji se koristi za opisivanje pristupa dizajniranju i implementaciji web aplikacija. To je akronim za Asinkroni JavaScript i XML. Pojam je prvi put uveden u članku Jesseja Jamesa Garretta iz Adaptive Path, tvrtke za web dizajn sa sjedištem iz San Francisca. Pojam je osmislio kada je shvatio potrebu za jednostavnim, prodajnim načinom da klijentima predstavi određeni stil dizajna i izgradnje.

Primarna svrha AJAX-a je pomoći da web aplikacije funkcioniraju više poput desktop aplikacija. HyperText Markup Language (HTML), jezik koji pokreće World-Wide Web, osmišljen je oko ideje hiperteksta – stranica teksta koje se unutar sebe mogu povezati s drugim dokumentima. Da bi HTML funkcionirao, većina radnji koje krajnji korisnik poduzima u svom pregledniku šalje zahtjev natrag na web poslužitelj. Poslužitelj tada obrađuje taj zahtjev, možda šalje daljnje zahtjeve i na kraju odgovara s onim što je korisnik zatražio.

Iako je ovaj pristup možda dobro funkcionirao u ranim danima interneta, za moderne web aplikacije, stalno čekanje između klikova je frustrirajuće za korisnike i služi za prigušivanje cjelokupnog iskustva. Korisnici su se navikli na nevjerojatno brze odgovore u svojim desktop aplikacijama i nezadovoljni su kada web stranica ne može ponuditi isti trenutni odgovor. Dodavanjem dodatnog sloja između korisničkog sučelja i komunikacije s poslužiteljem, AJAX aplikacije uklanjaju veliki dio kašnjenja između interakcije korisnika i odgovora aplikacije. Kako AJAX postaje sve češći u popularnim web aplikacijama, korisnici se sve više navikavaju na ovu neposrednu reakciju, pomažući potaknuti više poduzeća na usvajanje AJAX metodologije.

AJAX aplikacija se sastoji od niza aplikacija koje se koriste zajedno kako bi se stvorilo besprijekornije iskustvo. To uključuje Extensible HTML (XHTML) i Cascading Style Sheets (CSS) za izgradnju temeljne strukture stranice i njezinog vizualnog stila; neka vrsta paketa za interakciju pomoću modela dokumenta; manipulacija podacima korištenjem Extensible Markup Language (XML); dohvaćanje podataka pomoću XMLHttpRequest; i JavaScript kako bi ti različiti elementi bili u interakciji jedni s drugima. AJAX se brzo širi webom, a primjeri su vidljivi na mnogim glavnim stranicama. Google Maps, na primjer, na mnogo načina utjelovljuje etos AJAX modela, sa svojom složenom funkcionalnošću i praktično besprijekornom interaktivnošću.

Kao i većina novih filozofija web razvoja, AJAX ima svoj dio klevetnika. Jedan od uobičajenih argumenata protiv AJAX-a je da u mnogim slučajevima krši neke očekivane funkcionalnosti, kao što je korištenje gumba Natrag, što uzrokuje zabunu. Iako postoje neki popravci za mnoge od ovih prekida, oni se rijetko implementiraju do te mjere da je ponašanje AJAX aplikacije u skladu s očekivanim ponašanjem većeg preglednika.