piątek, 7 marca 2008

AJAX - rewolucyjny zbiór technologii

Czym jest właściwie AJAX (j.ang. Asynchronous JavaScript and XML) w świecie Internetu? Nie jest na pewno technologią samą w sobie, czymś co zostało wymyślone od zera. Jest to zbiór technologii, które zostały spopularyzowane jako całość dzięki dwóch czynnikom. Zacznijmy jednak od początku.
Zanim AJAX rozgościł się na dobre jak technologia budowy stron www, były one budowane "tradycyjną techniką" jaką oferowały przeglądarki internetowe. Oznacza to iż wszelkie przeglądane pojedyncze strony w Internecie musiały być pokazywane w całości. Strona główna, podstrony i dalsze podstrony były oddzielnymi plikami. Nawet jeśli przy budowie stron www zastosowanie miały języki skryptowe po stronie serwera, jak PHP, JSP, ASP, generowały one w odpowiedzi całe strony. Każdy kliknięty link powodował wczytanie od nowa strony, nawet jeśli treść na prezentowanej ko kliknięciu stronie była nieznaczna zmieniona w stosunku do strony na której klikany był link. Powodowało to dużo niedogodności jak choćby, marnowanie czasu na wczytywanie każdej strony, zapychanie łącz internetowych użytkownika powtarzającymi się danymi czy chociażby wolne działanie bogatych w treści stron. Rozwiązanie problemu kryło się w możliwości zmiany działania przeglądarek internetowych.

Przeglądarki internetowe zostały zaprojektowane zasadniczo do obsługi protokołu HTTP, który jest kanałem komunikacyjnym do przesyłania prezentowanych stron www. Z uwagi na specyfikę tego protokołu przeglądarki same w sobie nie mogły odwoływać się do części pliku i umieszczać danych z niego pobranych w dowolnej części już wcześniej prezentowanej strony. Rozwiązanie problemu kryło się w języku skryptowym JavaScript. Język ten jest językiem interpretowanym jak choćby PHP z ta różnicą, iż jest wykonywany nie przez serwer na którym umieszczone są strony, ale przez przeglądarkę internetową użytkownika, który wczytuje strony www. Język JavaScript zaszyty był w od wielu lat w przeglądarkach internetowych, jako część wspomagająca wyświetlanie stron do których załączany był kod w tym języku, jednakże dopiero jego przełomowy rozwój przyczynił się do rewolucji prezentacji treści poprzez jedną zasadniczą zmianę. Było nią pojawienie się obiektu (zbiór stałych i zmiennych danych w języku JavaScript) XMLHttpReguest, który miał możliwość wykonywania połączeń przez protokół HTTP bez konieczności angażowania tradycyjnego wczytywania strony przez przeglądarkę (stąd między innymi pojęcie asynchroniczny).
Czynnikami, które spowodowały pojawienie sie tego obiektu w języku JavaScript były: obiektowy model dokumentu - DOM oraz język metaznaczników - XML. jednym z podjęzyków XML jest XHTML czyli tradycyjna strona HTML utworzona wg. reguł XML. XHTML może być dzięki możliwościom języka JavaScript w zakresie DOM wczytana i przetworzona z rozbiciem na drobne elementy, którymi można na różne sposoby operować właśnie dzięki JavaScript i wczytywać do już prezentowanej strony bez jej całkowitego ponownego wczytania przez przeglądarkę. Te dwie technologie spowodowały właśnie pojawienie się wspomniane obiektu XMLHttpReguest w języku JavaScript. Stworzenie obiektu przypisuje się firmie Microsoft, która jako pierwsza zaszyła go w swojej modyfikacji języka JavaScript będącego częścią przeglądarki Internet Explorer. Był to pierwszy czynnik, który przyczynił się do powstania AJAX'a.
Po wprowadzeniu obiektu XMLHttpReguest przez Microsoft, śladem tej firmy podążyły inne firmy, które były producentami przeglądarek internetowych, dołączając do swoich produktów JavaScript z obiektem XMLHttpReguest. Rozpowszechnienie JavaScript z obsługą tego obiektu w przeglądarkach internetowych używanych przez większość użytkowników Internetu na świecie spowodowało iż firma Google zastosowała wywołania tego obiektu w swojej internetowej usłudze Goggle Maps. Z uwagi na fakt, iż usługa ta prezentuje dużo plików graficznych często się zmieniających (obrazy map), użycie JavaScript z obsługą obiektu XMLHttpReguest okazało się bardzo pożyteczne dla firmy. Z uwagi na innowatorski charakter usługi oraz fakt iż dzięki wywołaniom XMLHttpReguest pobierających obrazy wczytywały sie niezależnie od prezentowanej aktualnie strony, popularność tej usługi szybko rosła wśród użytkowników Internetu. Nie umknęło to uwadze osób zajmujących sie tworzeniem stron WWW. Szybko zaczęli oni stosować wywołania XMLHttpReguest projektując swoje strony. Popularyzacja usługi Google była drugim czynnikiem, który wpłynął na szybki rozwój AJAx'a.
Dalsza popularyzacja tego zbioru technologii spowodowała rozwój framework'ów (zbiorów skryptów opartych na Javascript), które przyspieszały pracę programistów przy tworzeniu stron WWW w oparciu o obiekt XMLHttpReguest. Dzięki dalszej popularyzacji AJAX'a z użyciem framework'ów strony WWW stały sie bardziej użyteczne i bogatsze w treści, nie powodując ich "przeładowania" informacją dla odwiedzających ich użytkowników. Dodatkowo możliwy stał się rozwój aplikacji tworzonych dzięki AJAX i działających poprzez przeglądarkę internetową. Sukcesywnie aplikacje działające w tej technologii wypierają tradycyjnie pisane aplikacje.

0 komentarze: