Co to jest AJAX?

AJAX (Asynchronous JavaScript and XML, asynchroniczny JavaScript i XML) jest grupą powiązanych ze sobą technik służących tworzeniu stron internetowych. Techniki te stosowane są po stronie klienta (client-side, przykładem są przeglądarki internetowe) w celu utworzenia asynchronicznych aplikacji internetowych. Przy pomocy AJAX aplikacje sieciowe mogą wysyłać dane i pobierać je w sposób asynchroniczny z serwera (w tle), bez ingerencji w wygląd i funkcjonalność istniejącej strony. Sam termin „AJAX” został po raz pierwszy użyty 18 lutego 2005 roku przez Jesse James Garretta w artykule „AJAX: A New Approach to Web Applications” („AJAX: Nowe podejście do aplikacji internetowych”).

Techniki, z których korzysta AJAX, składają się z elementów takich jak:

  • XML, czyli z języka znaczników, który powinien opisywać odbierane informacje. Powinien, ponieważ w rzeczywistości dane przekazywane są w innym formacie, a odbierane są jako tekst. Do takich formatów należy np. HTML czy fragmenty kodu JavaScript,
  • XMLHttpRequest, który umożliwia wspomniane wcześniej asynchroniczne przesyłanie danych. Asynchroniczność pozwala na możliwość pobierania danych z różnych miejsc, a także działa w tle,
  • JavaScript, lub każdy inny język skryptowy, który działa po stronie klienta (client-side),
  • DOM (Document Object Model – Obiektowy Model Dokumentu), służący do przedstawienia dokumentów XML i HTML w postaci modelu obiektowego,
  • HTML (lub XHTML) i CSS służacy do prezentacji.

Użytkowanie AJAX posiada także wady, takie jak:

  • nie obowiązuje tradycyjny schemat do przeglądania stron, który pozwala na przemieszczanie się w przód i tył. Polega to na tym, iż po kliknięciu w link zostaje włączony skrypt, który zmienia wnętrze strony, pozostawiając całą resztę bez zmian. Znaczy to tyle, iż kliknięcie strzałki wstecz nie spowoduje cofnięcia zawartości strony do stanu poprzedniego,
  • pobieranie stron jest bardzo trudne z uwagi na to, że programy służące zwykle do pobierania stron www nie potrafią poradzić sobie ze skryptami,
  • treść strony udostępniona dzięki skryptom powoduje ograniczenie dostępu do niej dla niektórych użytkowników. Związane jest to z tym, iż niektórzy blokują skrypty automatycznie, co odciąża procesor i pamięć procesora),
  • występują problemy z indeksowaniem wykorzystywanym przez serwisy wyszukujące.

Do najbardziej znanych i najczęściej wykorzystywanych bibliotek JavaScript, które związane są z AJAX zaliczyć można:

  • AJAX.OOP (otwarta bilbioteka programistyczna służąca do tworzenia komponentów web 2.0 z wykorzystaniem AJAX licencja X11),
  • Script.aculo.us (kolejna biblioteka programistyczna na najprostszej licencji X11, bazująca na Prototype JavaScript Framework),
  • jQuery (również będąca biblioteką programistyczną, czyniącą korzystanie z JavaScript łatwiejszym oraz pozwalająca na manipulację drzewem DOM,
  • MooTools (biblioteka złożona z modułów),
  • Ext (biblioteka narzędziowa),
  • picoAjax (biblioteka narzędziowa).