Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web servers, web development, networking and security services. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

Ajax:Novi pristup Web Aplikacijama



postavio jesse james garrett 0 Komentara

Ako se išta o interakcionom dizajnu može nazvati “glamurozno” onda je to sigurno kreiranje Web aplikacija.Uostalom,kada ste poslednji put čuli nekoga da govori o interakcionom dizajnu proizvoda, koji se ne nalazi na Web-u? (Ok,sem iPod-a) Svi kul i inovativni projekti su online.

Uprkos tome, Web interakcion dizajneri ne mogu a da ne budu i malo ljubomorni na naše kolege, koji kreiraju desktop softvere. Desktop aplikacije imaju bogatstvo i osetljivost koje su izgleda van domašaja Web-a.Ista jednostavnos koja je omogućila brzo širenje na Web-u, takodje stvara jaz izmedju iskustva koje mi možemo da ponudimo i iskustva koje korisnici mogu dobiti koristeći desktop aplikacije.

Taj jaz se zatvara. Pogledajte Google Suggest .Pogledajte kako se predloženi termini pojavljuju dok kucate,skoro u isto vreme. Sada pogledajte Google Maps .Zumirajte.Koristite kursor da uhvatite mapu i pomerajte je u neku stranu. Opet,sve se dešava gotovo trenutno,bez čekanja da se stranica ponovo učita.

Google Suggest i Google Maps su dva primera pristupa web aplikacijama koje mi u Adaptive Path zovemo Ajax.Ime je skraćenica za Asynchronous JavaScript + XML i predstavlja fundamentalnu promenu za ono što je moguće na Web-u.

Definisanje Ajax-a.

Ajax nije tehnologija.To je stvarno skup više tehnologija,od kojih svaka cveta za sebe ali kombinujući ih zajedno dobijamo nove moćne načine.Ajax obuhvata: Klasičan model web aplikacije radi ovako:Većina korisničke akcije u interfejsu je okidač za HTTP zahtev da se vrati na web server.Server obradi neke obrade-preuzimanje podataka,analizira brojeve,komunicira sa različitim postojećim sistemima i onda vraća HTML stranicu klijentu.To je model prilagodjen iz prvobitne upotrebe Web-a kao hipertekstualnog medija,ali iz elemenata korisničkog iskustva znam, ono što čini Web dobrim za hipertekst ne čini ga dobrim za softverske aplikacije.



Slika1:Tradicionalni model Web aplikacije(levo) uporedjen sa modelom Ajax(desno).

Ovaj pristup čini puno u tehničkom smislu, ali ne čini puno u smislu korisničkog iskustva. Dok server radi svoj posao,šta korisnik radi?Tako je,čeka.I na svakom koraku u zadatku,korisnik čeka po još malo.

Očigledno,ako dizajniramo Web aplikaciju,ne želimo da korisnici čekaju.Jednom kada se interfejs učita,zašto bi interakcija korisnika došla do zastoja svaki put kada aplikacija treba da učita nešto sa servera?U ostalom, zašto bi korisnik uopšte i trebao da vidi da aplikacija odlazi na server?

Zašto je Ajax drugačiji:

Ajax aplikacija eliminiše start-stop-start-stop prirodu interakcije na internetu uvodjenjem posrednika-Ajax engine-izmedju korisnika i servera.Deluje kao da bi dodavanje ovog sloja aplikaciji tu istu još više usporili-ali istina je suprotna.

Umesto učitavanja web stranice,na početku,pretraživač pokreće Ajax engine- programiran u JavaScript-u koji je obično u sakrivenom prozorčiću.Ovaj engine je odgovoran i za izlaganje interfejsa korisniku kao i za komunikaciju sa serverom u korisnikovo ime.Ajax engine omogućava da se korisnikova interakcija sa aplikacijom dešava asihrono i nezavisno od komunikacije sa serverom.Tako da se korisiku nikada ne dešava da mu se prikaže prazan prozor i da mora da čeka da se svi podaci prebace sa servera.



Slika2:sinhronizovani interakcioni obrazac tradicionalne web aplikacije(gore),
u poredjenju sa asihronim obrazcem Ajax aplikacije(dole).

Svaka korisnikova akcija koja bi inače generisala HTTP zahtev umesto toga medja formu u JavaScript pozim Ajaxovom engine-u.Svaki odgovor na korisničke akcije koje ne zahtevaju povratak na server-kao što su obična potvrda podataka, editovanje podataka memorije, čak i neke navigacije- engine odradjuje sam.Ako je engine-u potrebno nešto sa servera u cilju reagovanja-dostavljanje podataka za obradu, učitavanje dodatnog interface koda ili preuzimanje novih podataka, engine radi te stvari asihrono, obično koristeći XML,bez odugovačenja interakcije izmedju korisnika i aplikacije.

Ko koristi Ajax:

Google uzaže velike investicije u razvoj Ajax pristupa.Svi glavni proizvodi koje je Google predstavio prošle godine- Orkut , Gmail ,poslednja beta verzija Google Groups , Google Suggest , Google Maps-su Ajax aplikacije.(Za više informacija o tehničkim stvarima ovih Ajax implementacija,pogledajte ove sjajne analize Gmail-a , Google Suggest-a , i Google Maps-a ). Ostali su sledeći:mnoge od karakteristika koje ljudi vole u Flickr-u zavise od Ajaxa,i Amazon A9.com pretraživač koristi slične tehnike.

Ovi projekti pokazuju da Ajax nije zamo tehnički zvuk,već je koristan za aplikacije stvarnog sveta.Ovo nije još jedna tehnologija koja se koristi samo u laboratorijama.Ajax aplikacije mogu biti bilo koje veličine, od veoma jednostavnih, jedno funkcionalne u Google Suggest-u do veoma komleksnih i ofisticiranih u Google Maps-u.

U Adaptive Path-u,mi smo radili sa Ajax-om proteklih sedam meseci i shvatili smo da smo samo zagrebali površinski sloj bogate interakcije i odgovornosti koje Ajax aplikacije nude.Ajax je važan za razvoj Web aplikacija i njego važnost će tek izaći na videlo.I zato što već postoje brojni programeri koji znaju da koriste ove tehnologije,očekujemo da vidimo mnogo više ogranizacija koje prate Google-vo vodjstvo u žetvi konkurentske prednosti koju Ajax pruža.

Koračati napred:

Najveći izazovi u stvaranju Ajax aplikacija nisu tehnički.Osnove Ajax tehnologije su zrele,stabilne i borbo shvaćene.Umesto toga, izazovi su za dizajnere ovih aplikacija:da zaborave ono što znaju o ograničenjima na Web-u i počnu da zamišljaju širi,bogatiji spektar mogućnosti.

To će biti zabavno.
___________________________________________________________________________________________________________

Ajax pitanja i odgovori:

13.Mart.2005. Od kada smo prvi put objavili Jesse’s esej, stiglo nam je mnogo pitanja vezanih za Ajax.U ovom odeljku Jesse odgovara na najčešća pitanja vezana za Ajax.

Q.Da li je Adaptive Path izmislio Ajax?Da li je Google izmislio Ajax? Da li je Adaptive Path pomagao Google-u na Ajax projektu?

A.Ni Adaptive Path niti Google nisu izmislili Ajax.Google-ovi skorašnji produkti su samo najprofitabilniji kada je reč o Ajax tehnologiji.Adaptive Path nije učestvovao u nastajanju Google Ajax aplikacija, ali mi u Adaptive Path-u već duže vreme koristimo Ajax za naše klijente.

Q.Da li Adaptive Path prodaje Ajax i da li je zaštitio njegovo ime?Gde mogu da preuzmem Ajax?

A.Ajax nije nešto što možete da preuzmete.To je pristup-arhitekturi web aplikacija koristeći odredjene tehnologije.Niti ime Ajax niti njegova tehnologija nisu vlasništvo Adaptive Path-a.

Q.Da li je Ajax samo novo ime za XMLHttpRequest?

A.Ne XMLHttpRequest je samo deo Ajax-ove jednačine.XMLHttpRequest je tehnička komponenta koja pravi asinhronizovanu komunikaciju sa serverom moguću.Ajax je ime koje smo mi dale sveukupnom pristupu koji smo objasnili u članku, koji se oslanja ne samo na XMLHttpRequest, nego na CSS, DOM, i druge tehnologije.

Q.Zašto ste osećali potrebu da date ovo ime?

A.Morali smo pronaći skraćenicu za ime “Asynchronous JavaScript+CSS+DOM+XMLHttpRequest” tokom naše komunikacije sa klijentima.

Q.Tehnike za asinhronizaciju komunikacije sa serverom postoje godinama.Sta to čini Ajax “novim” pristupom?

A.Novo je to što je istaknuta primena ovih tehnika u realnim aplikacijama i promena osnovnih modela interakcije na Web-u.Ajax drži pažnju sada zbog toga što su ovim tehnikama i industriskom razumevanju kako da ih raspodeli trebalo vremena da se razviju.

Q.Da li je Ajax tehnološka platforma ili stil arhitekture?

A.I jedno i drugo.Ajax je skup tehnologija koje se koriste zajedno na poseban način.

Q.Za koje vrste aplikacija je Ajax najpogodniji?

A.Mi ne znamo to još.Zbog toga što je ovo relativno novi pristup,naše razumevanje gde se može najbolje primeniti Ajax je još u razvoju.Ponekada je tradicionalni model Web aplikacije najpodobnije rešenje za rešavanje problema.

Q.Da li ovo znači da je Adaptive Path anti-Flash?

A.Ne nipošto. Macromedia je klijent Adaptive Path-a, a mi smo dugo pristalice Flash tehnologije.Kako Ajax sazreva, mi mislimo da je za neke probleme bolje koristiti Ajax, dok je za druge bolje koristi Flash.Takodje smo zainteresovani za to da vidimo da li ove dve tehnologije mogu da se kombinuju.(kao na primeru Flickr koji koristi obe)

Q.Da li Ajax ima značajnu dostupnost ili ograničenja kompaktibilnosti pretraživača? Da li Ajax probije back button? Da li je Ajax kompaktibilan sa REST-om?Da li postoje bezbednosne brige oko razvitka Ajax tehnologije?Da li Ajax tehnologija može da radi i korisnicima kojima je JavaScript isključen?

A.Odgovor na sva vaša pitanja je “možda”.Mnogi programeri se već bave ovim pitanjima.Mi mislimo da još mnogo posla treba da se uradi da bi se videla sva ograničenja Ajax i očekujemo da programerska zajednica Ajax-a otrkije odgovore na više pitanja poput ovih.

Q.Neki od Google primera koji ste naveli ne koriste XML uopšte?Da li moram da koristim XML i/ili XSLT u Ajax aplikacijama?

A.Ne.XML je u potpunosti razvijeno sredstvo za dobijanje ili uzimanja podata od jednog Ajax klijenta, ali ne postoli razlog zašto to ne bi mogli da dobijete i pomoću tehnologije kao što je JavaScript Object Notation ili od sličnih sredstava strukturiranja podataka za razmenu.

Q.Da li je Ajax aplikaciju lakše razviti od tradicionalne Web aplikacije?

A.Ne mora da znači.Ajax aplikacija neminovno podrazumeva pokretanje kompleksnog JavaaScript koda.

Q.Da li Ajax aplikacija uvek pruža bolje iskustvo nego tradicionalna Web aplikacija?

A.Ne mora da znači.Ajax nudi interakcijskim dizajnerima veću fleksibilnost.Medjutim,što više snage imamo,više opreza treba da koristimo u njegovom ostvarivanju.Moramo biti pažljivi koristeći Ajax kako bi poboljšali korisničko iskustvo, a ne kao bi ga degradirali.




Published (Last edited): 03-12-2012 , source: http://www.adaptivepath.com/ideas/ajax-new-approach-web-applications