AJAX
Definicja
AJAX (z ang. Asynchronous JavaScript and XML, Asynchroniczny JavaScript i XML) – technika tworzenia aplikacji internetowych, w której interakcja użytkownika z serwerem odbywa się bez przeładowywania całego dokumentu. W skład AJAX wchodzą:
- obiekt komunikacyjny XMLHttpRequest
- XHTML - język opisu strony zawierający informacje o użytych znacznikach i stylach
- Obiektowy model dokumentu (DOM) - umożliwiający przetwarzanie stron XML
Pobrany już kod w języku XHTML jest modyfikowany (via DOM) za pomocą treści pobieranych z serwera przez obiekt XMLHttpRequest . Aplikacje oparte o powyższy schemat dokonują aktualizacji w interfejsie użytkownika szybciej niż w tradycyjnym modelu żądanie - nowa strona HTML. Sam termin AJAX jest z wielu powodów mylący:
- Dane przekazywane przez interfejs nie muszą być przekazywane w formacie XML - alternatywy to czysty tekst lub format JSON
- Język obsługujący żądanie nie jest ograniczony do JavaScript - alternatywy to JScript czy VBScript
Wady i ograniczenia AJAX
Do głównych wad technologii AJAX zalicza się:
- Udostępnianie treści strony poprzez język skryptowy ogranicza jednak dostęp do niej dla części użytkowników, którzy używają przeglądarek niewyposażonych w odpowiednie funkcje, lub korzystają z czytników ekranów umożliwiających pracę z komputerem osobom niewidomym.
- Utrudnione jest automatyczne pobieranie stron.
- Indeksowanie treści wyświetlanej na stronie za pomocą AJAX przez wyszukiwarki jest praktycznie uniemożliwione.
- Większość analiz ruchu na stronie oparta jest o model udostępniania całych stron. Powyższa technika poważnie utrudnia właściwy pomiar oglądalności stron.
- Wadą rozwiązań w znaczącym stopniu opartych na AJAX jest fakt, że przestaje funkcjonować tradycyjny schemat przeglądania stron umożliwiający swobodne poruszanie się w przód i w tył. Przycisk Wstecz w przeglądarkach internetowych nie musi już odwracać zmian wprowadzonych na stronie, gdyż te wprowadzone zostały interaktywnie a nie poprzez całkowite przeładowanie strony (co jest podstawą funkcjonowania przycisku Wstecz). Nowsze aplikacje jednak umożliwiają korzystanie z funkcji "Wstecz" poprzez wykorzystywanie elementów języka JavaScript.
- Brak możliwości linkowania zewnętrznego do stron opartych o AJAX a także niemożność dodania tego typu strony 'do ulubionych'.
Zalety AJAX
Możliwości oferowane przez technologię AJAX:
- W przypadku bardzo rozbudowanych stron przeładowanie całego dokumentu aby uaktualnić jego mały fragment jest nieefektywne – AJAX w takich sytuacjach sprawdza się świetnie gdyż pozwala na odświeżenie tylko wymaganego fragmentu strony i może znacznie obniżyć przeciążenia sieci.
- Użytkownik ma wrażenie, że zmiany wykonywane są natychmiastowo co buduje lepsze wrażenia z wizyty na stronie.
- Wykorzystanie AJAX zmniejsza liczbę zapytań do serwera gdyż elementy takie jak skrypty czy arkusze styli ładowane są przez przeglądarkę tylko jednokrotnie.