BluePink BluePink
XHost
Gazduire site-uri web nelimitata ca spatiu si trafic lunar la doar 15 eur / an. Inregistrare domenii .ro .com .net .org .info .biz .com.ro .org.ro la preturi preferentiale. Pentru oferta detaliata accesati site-ul BluePink

Cand aud denumirea de AJAX, trebuie sa recunosc ca ma gandesc in primul rand la echipa de fotbal din Amsterdam. Ajax a castigat de 4 ori Champions League in anii 1971, 1972, 1973, 1995 si este prima echipa europeana de care am auzit in copilarie. Dar in acest articol nu vom discuta despre fotbal, ci vom aborda un subiect din sfera tehnologiilor web si anume AJAX (asynchronous JavaScript and XML).

AJAX este un grup de tehnologii web folosite pentru crearea de aplicatii web sau rich Internet applications. Cu ajutorul lui AJAX, aplicatiile web pot receptiona datele de la server in mod asincron, in background, fara a interfera cu prezentarea si comportamentul paginii web existente. Datele sunt aduse de pe server prin intermediul unui obiect de tip XMLHttpRequest sau cu ajutorul unor scripturi remote in browser-ele web care nu-l suporta. In pofida numelui, utilizarea de JavaScript sau XML nu este absolut necesara.

Termenul de AJAX a aparut in 2005 insa tehnologiile de incarcare asincrona a datelor exista inca din 1996 cand Internet Explorer a introdus elementul IFrame. La data de 5 Aprilie 2006 World Wide Web Consortium a lansat prima specificatie cu scopul de a crea un standard web oficial.

AJAX reprezinta un grup de tehnologii web care pot fi utilizate pentru a implementa o aplicatie web care sa comunice cu serverul in fundal, fara a interfera cu starea curenta a paginii. In articolul care definea AJAX, Jesse James Garrett argumenta ca AJAX se refera in mod specific la urmatoarele tehnologii:

  1. XHTML si CSS pentru prezentare
  2. Document Object Model pentru afisarea dinamica si interactiunea cu datele
  3. XML si XSLT pentru transfer si manipulare a datelor
  4. obiectul XMLHttpRequest pentru comunicatia asincrona
  5. JavaScript pentru a reuni toate tehnologiile de mai sus
De remarcat ca JavaScript nu este singurul limbaj de script pe partea client care poate fi utilizat la implementarea de aplicatii AJAX. Si VBScript este capabil sa indeplineasca aceasta functionalitate. De asemenea XML si XSLT nu sunt tehnologii obligatorii. JavaScript Object Notation (JSON) este folosit adesea ca un format alternativ pentru a transfera date, existand chiar posibilitatea de a transfera cod HTML preformatat sau plain text.

Dintre principalele avantaje ale lui AJAX as putea sa amintesc:

  • Prin utilizare acestei tehnologii, paginile web nu trebuie sa se reincarce la fiecare cerere. O aplicatie web poate cere de la server doar informatiile care trebuie updatate si in acest mod se reduce latimea de banda utilizata si timpul de incarcare a paginii.
  • Utilizarea cererilor asincrone face interfata grafica a browser-ului mai interactiva si sensibila la interactiunea cu utilizatorul, iar sectiunile se pot reincarca individual. Utilizatorul precepe aplicatia ca fiind mai rapida si mai receptiva la comenzi.
  • Utilizarea AJAX reduce conexiunile cu serverul avand in vedere ca scripturile si foile de stil CSS sunt receptionate doar prima data.

Gurile rele au gasit si dezavantaje pentru AJAX:

  • Paginile create dinamic nu se inregistreaza in istoria browser-ului si astfel apasand butonul "back" nu ne putem intoarce la o stare anterioara ci doar la pagina vizitata inainte.
  • Browser-ul nu poate face bookmark unei stari particulare a paginii.
  • Motoarele de cautare nu pot indexa paginile generate cu AJAX deoarece majoritatea crawler-ilor web nu sunt in stare sa execute JavaScript.
  • Utilizatorii care au browsere care nu suporta AJAX sau care au JavaScript-ul dezactivat, nu pot dispune de aceasta functionalitate.
  • Poate fi o noua modalitate de atac pentru hackeri, in special asupra site-urilor web care nu au fost suficient testate.

Pentru a descoperi mai multe detalii despre AJAX si pentru a vedea cateva exemple de utilizare, va recomand sa accesati referintele de mai jos:
"What is Ajax?"
"Ajax: A New Approach to Web Applications"
"Ajax Tutorial"

Georgian Micsa, 2 Noiembrie 2008