AJAX — Asynchronous JavaScript And XML. Przez niektórych uważany za część Web2.0 (co nie jest prawdą, bo Web2.0 to nie zbiór narzędzi, a podejście do użytkownika czy klienta), przez innych traktowany jak zło wcielone.
Po prostu AJAX. Który — jak każda technologia — ma swoje wady i zalety, ale żeby o nich rozmawiać, trzeba najpierw wiedzieć, o czym się mówi.
Sam skrót powstał z potrzeby nazwania grupy technologii, które w połączeniu pozwalają na budowanie interfejsów użytkownika o niespotykanym wcześniej poziomie interakcji.
Tyle marketingu. Skrót przypisuje się Jesse Jamesowi Garrettowi i oznacza on, ni mniej ni więcej, pobieranie dodatkowych danych przez już załadowany dokument.
Jak działa AJAX?
Idea jest prosta. Odpowiednio przygotowany skrypt JS odwołuje się do innego skryptu po stronie serwera i poprzez wywołanie POST pobiera fragment danych. To wszystko dzieje się asynchronicznie (równolegle, interakcja ze stroną nie jest blokowana na czas pobierania informacji), a same dane są dostępne bez przeładowania strony w przeglądarce. Pozwala to na manipulację nawet dużymi fragmentami interfejsu i daje możliwość budowania zabawek takich jak GMail czy RoundCube. Ale na tym AJAX się nie kończy.
To także masa drobnych udogodnień na zwykłych serwisach, które typowymi aplikacjami nie są. Logowanie, które nie wymaga przeładowania strony, sprawdzanie dostępności loginów przy rejestracji, czy na bieżąco uaktualniane w tle statystyki. Właśnie ten wysyp gadżetów sprawił, że wszystko co się rusza, zaczęto nazywać ajaksem.
Nie wszystko złoto…
Po boomie na asynchroniczność, pojawił się prawdziwy wysyp bibliotek, które w bardziej lub mniej przystępny sposób udostępniają podobne możliwości zwykłym śmiertelnikom. W tym najpopularniejsza na rynku, stanowiąca trzon oskryptowania Ruby on Rails, biblioteka Prototype.
Jest ona podstawą kilku większych projektów, w tym script.aculo.us i Rico, a te z kolei jednoznacznie kojarzą się z pływającymi boksami, animacjami i ogólnie pojętymi fajerwerkami. Z tym, że żadne z tych efektów nie mają z Ajaksem nic wspólnego. Kropka. To, że coś się wysuwa, jeździ, mruga, czy śpiewa, ma się nijak do asynchronicznych wywołań, równoległych połączeń do serwera i wymiany danych.
Nie róbmy z Ajaksu drugiego Web2.0, które z pierwotnym znaczeniem (do którego nawiązałem we wstępie) nie ma już nic wspólnego i kojarzy się tylko i wyłącznie z okrągłymi rogami, tłem w skośne paski i pastelowymi kolorami.
Technorati Tags: ajax, javascript