Ajax - Un pas inainte?
Introducere
Ajax - Asynchronous JavaScript and XML - nu este o tehnologie, ci mai multe tehnologii care se imbina intr-o solutie mai puternica. Cand spunem Ajax ne referim defapt la o pagina web "standard" la care se adauga un mecanism asincron de obtinere a datelor de la serverul web.
Componentele folosite intr-o pagina web ce foloseste ajax sunt :
- interfata standard realizata cu XHTML si CSS
- interfata dinamica realizata cu Document Object Model
- manipularea datelor realizata cu XML si XSLT
- obtinerea asincrona a datelor de la server folosind XHTMLHttpRequest
- descrierea comportamentului pentru componentele paginii folosind JavaScript
Care este noutatea?
Ajax se foloseste de mecanismele traditionale de prezentare a unei pagini web, insa ofera utilizatorilor o
responsivitate mult mai buna folosindu-se de cereri asincrone pentru update-uri partiale ale paginii.
Asta inseamna ca un utilizator face o cerere (declansata de un eveniment - apasare buton, etc), acesta cerere este trimisa
serverului web printr-un obiect de tipul XMLHttpRequest care este gestionat de motorul Ajax si care se va acupa
de gestiunea comunicatiei intre client si server. Clientul va putea sa continue interactiunea cu interfata web, fara sa astepte
raspunsul din partea serverului.
Cand sunt utile cererile asincrone ?
Bineinteles ca Ajax nu face minuni, timpul de procesarea a unui cereri va ramane acelasi. Ideea este de a face o procesare mai eficienta prin efectuarea de cereri partiale si incrementale si de a nu bloca interactiunea utilizatorului cu interfata web - eliminarea timpilor morti in care un utilizator asteapta sa se incarce o pagina.
Exemple de utilizare si tehnici
- Un exemplu clasic de eficientizare a interactiunii cu utilizatorul ar fi completarea formularelor.
De multe ori se intampla ca in cadrul unei pagini un utilizator sa trebuie sa completeze formulare lungi in care anumite date pe care le introduce sa necesite validarea server-ului (ex. formular register camp nume utilizator).
Pentru a economisii timp-ul este posibil ca pe masura ce utilizatorul completeaza campuri, acestea sa fie trimise serverului fara ca utilizatorul sa apese vre un buton, iar serverul deja sa le valideze si sa trimita o notificare utilizatorului.In momentul cand utilizatorul a terminat de completat si apasa pe submit cererea a fost in mare parte procesata. - Un alt exemplu de folosire a Ajax este posibilitatea de autocompletare a campurilor pe masura ce user-ul introduce date. Ca exemplu dau tema 3, o incercare de Google Suggest
- Load on demand este o tehnica prin care, pe baza actiunilor utilizatorului browserul incarca in background mai multe pagini/date care probabil vor fi utilizate pe viitor de utilizator.
- In cazul unei pagini care afiseaza rezultate periodic (ex. date despre meteo updatate la ora, scoruri de meciuri updatate la min) este utila updatarea partiala a paginii fara sa fie nevoie o retrimitere a intregului continut. O interfata care foloseste Ajax va fi mai eficienta din dpdv al largimii de banda consumata.
Concluzie
Se observa ca se incearca apropierea de conceptele utilizate in programarea aplicatiilor de PC, care sunt mai avantajoase decat normele stricte folosite in dezvoltarea de interfete web traditionale.