Ajax - zašto je toliko popularan

 

 

  • Twitter
  • Facebook
  • Google plus
  • Linkedin
  • Pinterest
  • Email

 

Pregleda (30 dana / ukupno): 22 / 4672

Namera je bila da web stranice brže reaguju tako što će razmenjivati male količine podataka sa serverom iza scene, pa neće morati da se ponovo učitava čitava web stranica svaki put kada korisnik izvrši neku izmenu. To je trebalo da poveća interaktivnost, brzinu i upotrebljivost web stranica.

Ajax tehnika koristi sledeću kombinaciju:

  • XHTML (ili HTML), CSS za označavanje i stilizovanje informacija.
  • DOM, kojem se pristupa pomoću jezika za skriptovanje na strani klijenta, pogotovo pomoću ECMAScript implementacija poput JavaScripta i JScripta, za dinamičko prikazivanje i interakciju sa predstavljenim informacijama.
  • XMLHttpRequest objekat za asinhronu razmenu podataka sa web serverom. U nekim Ajax razvojnim okruženjima i u određenim situacijama se umesto XMLHttpRequest objekta koristi IFrame objekat za razmenu podataka sa web serverom.
  • XML se najčešće koristi kao format za prenos podataka nazad na server, mada može da se koristi bilo koji format, uključujući HTML, običan tekst, JSON, pa čak i EBML.

Kao i DHTML, LAMP ili SPA, Ajax nije jedna tehnologija, već se ovaj termin odnosi na grupu tehnologija koje se zajedno koriste. Istorija

Istorija Ajaxa počinje od inicijative Microsofta da razvije Remote Scripting. Međutim, tehnike za asinhrono učitavanja sadržaja postojeće web stranice bez zahtevanja poptpunog ponovnog učitavanja podataka datiraju još od ranije, a to su IFRAME vrsta elementa (uveden 1996.u Internet Explorer 3) i LAYER vrsta elementa (uveden 1997.u Netscape 4, a napušten tokom ranog razvoja Mozzile). Obe vrste elementata su imale atribut src koji je mogao da preuzme svaku eksternu URL adresu i učitavanjem stranice koja sadrži javascript, a koji upravlja roditeljskom stranicom, mogali su da se postignu Ajax efekti.

Microsoft Remote Scripting (ili MSRS, uveden 1998.) se ponašao kao elegantnija zamena za ove tehnike, gde su podaci ubacivani u Java aplet sa kojim je klijentska strana mogla da komunicira koristeći JavaScript. Ova tehnika je korišćena u Internet Exploreru 4 i Netscape Navigatoru 4. Microsoft je prednosti ove tehnike iskoristio u Outlook Web Access, koji se nalazio u Exchange Server 2000.

Zajednica za web razvoj je kasnije razvila razne tehnike za daljinsko skriptovanje kako bi se postgli dosledni rezultati u različitim pretraživačima. Neki od primera su JSRS biblioteka iz 2000. godine, Image/Cookie tehnika iz 2000. i JavaScript on Demand iz 2002. Godine 2002. je izvršena modifikacija u Microsoft Remote Scripting da bi se Java aplet zamenio sa XMLHttpRequest.

Pošto je XMLHttpRequest sada implementiran u većini pretraživača, alternativne tehnike se vrlo retko koriste. Međutim, još uvek se koriste tamo gde se zahteva široka kompatibilnost i mala imlementacija. Jdna od alternativa, SVGT protokol, koristi trajnu konekciju za neprekidnu razmenu podataka između pretraživača i servisa.

Članci

Neki od ranijih članaka promovišu tehnike Remote Scripting:

  • Microsoft Internet Developer Magazine, 1998.
  • ScottAndrew’s XML-RPC example, 2001.
  • Apple Developer Connection, 2002.
  • Using the XML HTTP Request object, 2002-2006.

Za, protiv i kritike

ZA

Interaktivnost

Ajax aplikacije se uglavnom izvršavaju na računarima korisnika, manipulisanjem aktivne stranice u pretraživaču koristeći metode modela objekta dokumenta. Ajax može da se koristi za izvršavanje velikog broja zadataka, poput ažuriranja ili brusanja zapisa; proširivanje web formi; vraćanje prostih upita pretraživanja - sve do bez učitavanja čitave stranice HTML-a svaki put kada se izvrši izmena. Potrebno je da se na server šalju samo mali zahtevi, a nazad se vračaju relativno mali odgovori. To dopušta razvoj interaktivnijih aplikacija.

Prenosivost

Ajax aplikacije koriste dobro dokumentovane osobine prisutne u svim glavnim pretraživačima i na većini postojećih platformi. Mada ova situacija može da se promeni u budućnosti, u ovom trenutku Ajax aplikacije mogu da se koriste na gotovo svim platformama.

Protiv i kritike

Kritike upotrebljivosti

Kao jedan od glavnih razloga protiv upotrebe Ajax tehnologija u web aplikacijama se navodi to što može vrlo lako da poremeti očekivano ponašanje dugmeta Back u pretraživaču. Različita očekivanja između vraćanja na stranicu koja je dinamički modifikovana i vraćanja na prethodnu statičnu stranicu mogu da budu vrlo rafinirana. Korisnici generalno očekuju da će klik dugmeta Back u web aplikacijama poništiti poslednju unetu izmenu, a to se u Ajax aplikacijama ne dešava uvek. Programeri su implementirali različita rešenja za ovaj problem, a većina njih se “vrti” oko kreiranja ili korišćenja nevidljivih IFRAME elemenata za pozivanje izmena koje popunjavaju istoriju koju koristi Back dugme pretraživača. Google Maps, na primer, vrši pretraživanja u nevidljivom IFRAME elementu, a zatim prikazuje rezultate u elementu na vidljivoj web stranici; korisničko ponašanje može da se prati i preko povratnih poziva, koji se pozivaju kadgod se pritisne dugme Back, a stanje aplikacije se vraća na ono kakvo je bilo u to vreme.

Još jedan povezani problem je da ažuriranja dinamičke web stranice otežavaju korisniku da označi odreženo stanje aplikacije. Rešenja za ovaj problem postoje, a mnoga od njih koriste URL identifikator fragmenta (deo URL adrese posle “#”) za praćenje i vraćanje na određeno stanje aplikacije. To je moguće zato što mnogi pretraživači dopuštaju da JavaScript dinamički ažurira identifikator fragmenta URL adrese, tako da Ajax aplikacije mogu da ga održavaju kako korisnik menja stanje aplikacije.

Problemi sa vremenom odgovora

Kašnjenje mreže - ili interval između zahteva korisnika i odgovora servera - mora pažljivo da se razmotri u razvoju Ajax tehnologija. Bez jasne povratne sprege sa korisnikom, inteligentnog učitavanja podataka i pravilnog upravljanja XMLHttpRequest objektom, korisnici mogu da dožive kašnjenje u interfejsu web aplikacije, što neki od korisnika možda ne očekuju ili ne razumeju. Rešenja koja se najčešće predlažu za ove probleme kašnjenja su vizuelna povratna informacija koja obaveštava korisnika o aktivnostima u pozadini i/ili prethodno učitavanje sadržaja i podataka.

JavaScript

Mada se za Ajax ne zahteva nikakav dodatni modul pretraživača, od korisnika se zahteva da aktiviraju JavaScript u svojim pretraživačima. To se odnosi na sve pretraživače koji podržavaju Ajax, osim na Microsoft Internet Explorer 6 i Internet Explorer sa nizim brojevima, koji zahtevaju da se aktivira i ActiveX, zato što se u ovim pretraživačima XMLHttpRequest implementira pomoću ActiveX. Internet Explorer 7, međutim, implementira ovaj interfejs kao osnovni JavaScript objekat pa zato nije potrebno da se ActiveX aktivira u ovom pretraživaču.

Kao i DHTML aplikacije, Ajax aplikacije moraju da prođu kroz rigorozna testiranja da bi se ustanovilo da li mogu da rade na različitim pretraživačima i platformama. Kako se Ajax razvija, tako se pojavljuje sve veći broj programskih biblioteka koje mogu da olakšaju ovaj zadatak. Slično tome, razvijaju se tehnike koje vam pomažu pri dizajniranju aplikacija i nude alternativnu funkcionalnost za korisnike koji nemaju aktiviran JavaScript.

Problemi sa nazivom

Pojavljivale su se neke kritike samog naziva Ajax, sa tvrdnjom da Adaptive Path (konsultantska firma koja je osmislila naziv) i drugi zagovornici ove tehnologije koriste termin Ajax za reklamiranje ranije korišćenih tehnika.

Dostupnost

Korišćenje Ajax tehnologija u web aplikacijama nudi puno izazova za programere koji žele da ostanu verni WAI smernicama. Programeri moraju da obezbede odstupnicu za korisnike drugih platformi i pretraživača, zato što se većina metoda Ajax implementacie oslanja na osobine koje su prisutne samo u grafičkim desktop pretraživačima.

Web programeri koriste Ajax na nekim instancama da bi obezbedili sadržaj samo za određene delove web stranice, dopuštajući manipulisanje podacima bez ponovnog prikazivanja čitave stranice u web pretraživaču. Ne-Ajax korisnici bi u tom sluačaju nastavili da učitavaju čitavu stranicu, dopuštajući programerima da zadrže doživljaj korisnika u ne-Ajax okruženjima, dok bi korisnicima sa sposobnijim pretraživačima omogućili mnogo potpuniji doživljaj.

Pretraživači koji podržavaju Ajax

(Ovo je opšta lista, a podrška Ajax aplikacija zavisi od mogućnosti koje pretraživač podržava.)

  • Microsoft Internet Explorer 5.0 i novije verzije, i pretraživači zasnovani na ovim verzijama (Mac OS verzije nisu podržane)
  • Gecko pretraživači kao što su Mozilla, Mozzila Firefox, SeaMonkey, Epiphany i Netscape verzija 7.1 i novije
  • Pretraživači koji implementiraju KHTML API verziju 3.2 i novije, uključujući Konqueror 3.2 i novije verzije i Apple Safari 1.2 i novije verzije
  • Pretraživač Opera 8.0 i novije verzije, uključujući Opera Mobile Browser 8.0 i novije verzije

 

Komentari

 

• ramesh rams
great post on ajax, nice explanation, i completely agree with you , you may also like this post.. angularjs online training

 

Ostavite komentar Ostavite komentar

Ostavite komentar, svakoga dana ćemo nekoga nagraditi.