sâmbătă, 5 ianuarie 2008

Introducere in lumea AJAX

AJAX este acronimul pentru Asynchronous JavaScript and XML. Daca numele nu spune prea multe putem sa il interpretam ca "JavaScript imbunatatit" pentru ca de principiu ofera posibilitatea unui JavaScript sa faca in background apeluri catre server si sa extraga informatii aditionale daca este nevoie, updatand anumite portiuni din pagina fara sa cauzeze reincarcari complete de pagina. Principiul de functionare este urmatorul: clientul face o cerere pentru o pagina php sa zicem; serverul executa scriptul php de pe server si construieste un raspuns ce contine HTML si JavaScript; din scripturile JavaScript incluse in raspuns se pot face apeluri "invizibile" catre server; serverul raspunde trimitand datele cerute iar scriptul va updata pagina web folosind aceste date.

Practic AJAX incearca o mai buna balansare intre functionaliteatea clientului si cea a serverului atunci cand se executa actiunea ceruta de user. Pana acum functionalitatea client-side si functionalitatea server-side erau privite ca 2 parti complet separate in ceea ce priveste raspunsul la actiunile userului. AJAX vine cu solutia de balansare a load-ului intre client si server permitandu-le sa comunice in background in timp ce userul lucreaza pe pagina.

Sa luam un exemplu simplu : un web form in care userului i se cere sa introduca niste date cum ar fii numele, adresa de email, parola samd care trebuie sa fie validate inainte de a se ajunge la business-ul aplicatiei. Fara AJAX existau 2 modalitati de validare. Prima care il lasa pe user sa introduca toate datele cerute dupa care se face submit la pagina si prelucararea dateleor pe server. In acest scenariu userul experimenteaza un dead time in timp ce asteapta raspunsul serverului. Alternativa ar fii fost sa se faca aceste verificari la client, dar presupunea supraincarcarea clientului, lucru nu foarte placut.

In scenariul AJAX aplicatia web poate valida datele introduse, facand apeluri catre server in background in timp ce userul introduce date. Spre exemplu cand userul selecteaza o tara, browserul poate cere serverului sa incarce "on the fly" lista oraselor pentru tara respectiva, fara sa-l intrerupa pe user de la activitatea curenta.

Asadar AJAX-ul este o tehnologie care permite crearea de aplicatii web interactive prin permiterea paginilor web sa faca apeluri asincrone si transparente userului in timp ce acesta lucreaza.

Pentru a avea o mai buna idee despre ce poate sa ofere AJAX-ul iata cateva exemple ilustrative:

* Google Suggest care ajuta la cautarile google
* GMail
* Google Maps
* Yahoo Maps
* Windows Live Local

Ca si alte tehnologii AJAX-ul poate fii utilizat in mod gresit. Doar prin simplul fapt ca un web-site foloseste AJAX nu garanteaza ca web-site-ul va fii mai bun. Depinde si de cum este folosita aceasta tehnologie.

Niciun comentariu: