Saturday, January 28, 2006

ajax revolucija!

Mnogo prašine se diglo oko stvari zvane AJAX u poslednje vreme. Na žalost ljubitelja fudbalskog kluba iz Amsterdama, ne ponavlja se uspešna serija njihovih ljubimaca iz 60ih i 70ih godina prošlog veka kada su harali evropom na čelu sa našim Veliborom Vasovićem. Iako google na reč "ajax" odgovara sa http://www.ajax.nl/ na prvom mestu, jedan drugi ajax opasno preti da potisne holandjane.
Ja lično ne volim mnogo nove reči, tj. ne volim kad ljudi olako daju imena stvarima. Na pitanje drugara "šta je to ajax?" od pre par meseci sam naravno odgovorio sa FC, iako sam pretpostavio da su opet smislili novo ime za staru stvar. I naravno da sam bio u pravu. Ali ovoga puta je to bilo malo drugačije.
Ovaj AJAX je akronim od Asinhroni JavaScript i XML (Asynchronous JavaScript and XML). U stvari to je tehnika kojom se HTML strana koja se nalazi u browseru može osvežiti novim podacima bez osvežavanja cele strane. Ništa novo, rekli bi neki (da li su u pravu!?).
Ovo je moguće ostvariti na dva načina. Prvi je umetanjem u HTML stranu nevidljivog iframe taga u kome bi bila odredjena stranica koja bi se osvežavala posle određenog vremena, i koja bi na onLoad događaj pozivala neku JavaScript funkciju koja bi mogla nešto pametno da uradi. Svako ko se razume u web programiranje zna da ono što sam napisao u rečenici iznad iako zvuči prosto i nije baš tako lako izvodljivo.
Druga varijanta je u stvari i ona prava.
Ona se svodi na korišćenje XMLHttpRequest objekta.
Ovaj objekat je po prvi put video svetlo dana kao ActiveX kontrola u verziji
5.0. Microsoft Internet Explorer-a. Veoma brzo, pošto su uočene izvanredne mogućnosti i ostali browser-i dobijaju podršku za njega.
Trenutno XMLHttpRequest podržavaju svi aktuelni browser-i, bar u novijim verzijama.

E sad, pitanje je šta je to toliko pametno, važno, dobro, loše, kako god hoćete, vezano za taj
XMLHttpRequest? I zašto su ljudi koji se ne razumeju u fudbal od jednom počeli toliko da pričaju o ajaxu?
Odgovor je, naravno, svima koji su ikada napisali (ili napravili ako više volite) par html strana koje se generišu na serveru pomoću asp-a, php-a, jsp-a ili čega već, jako prost.
Mene interesuje samo jedna stvar. Zašto tek sad?!!!
Zašto nešto tako očigledno korisno nije ranije uvedeno u web priču?
Pa, odgovor je opet vrlo prost. Moralo je da se desi nešto veliko. To "nešto veliko" je google !!!
Google je medju prvima u svim svojim servisima počeo da koristi ajax.
Da li zbog toga što je to
nešto "novo i fancy"? Sumnjam.
LJudi su, jednostavno, uvideli (kao što mnogi sada uvidjaju) da je, ukoliko želite da sa serverom razmenite malu količinu podataka dovoljno da pošaljete zahtev za tim podacima i dobijete ih, bez ponovnog generisanja kilobajta i kilobajta HTML kooda koji je već na klijentskoj strani.

Znači standardna priča. Mora neko da bude prvi.