Ajax

DEFINICE Ustálené označení architektury webových aplikací, která využívá JavaScript a XML pro načtení dat ze serv...


DEFINICE
Ustálené označení architektury webových aplikací, která využívá JavaScript a
XML pro načtení dat ze serveru bez nutnosti klasického reloadu HTML stránky.

Zkratka Ajax (Asynchronous JavaScript and XML) v podstatě zachycuje právě
probíhající změnu přístupu ke způsobu poskytování obsahu webových stránek. S
pomocí technologie Ajax se v přístupu k webovému obsahu zrychluje uživatelské
rozhraní. Dlouhé čekání na zobrazení celé stránky načítající se z webového
serveru není u aplikací založených na Ajaxu nezbytné. Mění se totiž jen ta část
webové stránky, která se musí aktualizovat, a aktualizace se provádí pokud
možno lokálně a asynchronně. Uživatel může pokračovat v interakci s webovou
stránkou, zatímco Java Script v jeho systému minimalizuje interakce se
serverem. Výměna informací mezi klientským počítačem a serverem probíhá na
pozadí.

Standard
Vývojáři, kteří dosud Ajax nevyužívají, musejí počítat s tím, že jakákoliv
změna webové stránky si vyžádá plnou interakci, respektive komunikaci mezi
klientským počítačem a serverem. Například požadavek na vložení nově zadané
položky do seznamu (třeba další výběr DVD na kartě internetového obchodu) se
nejprve zanese do formuláře a poté se předá zpět serveru. Ten posléze
vygeneruje novou webovou stránku, která se na obrazovce klientského počítače
obnoví (je znovu načtena). Adresa URL (Uniform Resource Locator) v liště
prohlížeče zobrazuje transakci, která právě proběhla.

Lokální interakce
Oproti tomu u webových aplikací založených na přístupu Ajax vypadá interakce
poněkud jinak. Uživatel zapíše novou položku do zadávacího pole. JavaScript,
jenž pracuje na uživatelově počítači, vloží tuto položku do seznamu a obnoví
jen několik řádků webového dokumentu. Server je od takové interakce naprosto
odříznut a URL webové stránky se nezmění.
I kdyby bylo interakce mezi klientem a serverem zapotřebí například kvůli
získání nejnovější slevy na DVD, což by ovšem mělo probíhat interaktivně doba
reakce uživatelského rozhraní bude spíše relevantní programu běžícímu
samostatně na lokálním počítači. Zkratka Ajax vznikla 18. února 2005, kdy se
poprvé objevila v novinách v titulku "Ajax: Nový přístup k webovým aplikacím",
který napsal Jesse James Garrett, zakladatel webové konzultační společnosti
Adaptive Path. Tento pojem vyvolává dosud mezi vývojáři a bloggery rozruch, ale
jen název je skutečně nový.
Ve svém pojednání Garrett upozorňuje na současné aplikace portálu Google Google
Groups, Suggest, Maps a Gmail jako na příklady nového přístupu k návrhu webové
interakce. Třeba obsah aplikace Google Maps sebou při prohlížení necuká a
vydrží, dokud hledající osoba brázdí výsekem jakoby nekonečné mapy. Starší
princip vyžadoval, aby uživatel klepl na šipku v žádaném směru posunu pohledu.
Poté následovala přestávka odehrávající se ve znamení přesýpacích hodin, během
níž server poskytující mapu vytvořil žádaný pohled. Ten se samozřejmě nakonec
stáhl do lokálního počítače.
V době, kdy Garrett psal své pojednání, byly k dispozici následující
technologie a protokoly používané ve shodě s přístupem Ajax: n XHTML a CSS
(Cascading Style Sheets) pro prezentaci n Document Object Model pro dynamické
zobrazování
Transformace XML a Extensible Stylesheet Language pro vzájemnou výměnu dat
XMLHttpRequest od firmy Microsoft pro asynchronní interakci mezi klientem a
serverem
JavaScript pro spouštění příkazů na klientském počítači Donedávna ovšem nebyly
některé důležité prvky k dispozici a neumožňovaly proto vzájemnou součinnost
těchto technologií. Adam Bosworth ze společnosti BEA Systems ve svém blogu o
tomto tématu napsal: "Technika v roce 1997 nefungovala." Bez širokého přijetí
širokopásmového přenosu, jak zdůraznil Bosworth, trvalo stahování potřebného
JavaScriptu pro lokální počítač příliš dlouho (často to bylo 10 až 20 tisíc
řádek kódu). Kromě toho pracovaly tehdejší procesory s JavaScriptem příliš
pomalu. I kdyby technické pozadí fungovalo na potřebné úrovni, nebylo donedávna
možné, aby tentýž program pracoval na všech webových prohlížečích. A konečně
nebo možná to je to nejdůležitější byly před zhruba pěti lety podle Bosworthova
odhadu programy jako Google Maps a Gmail mezi webovými aplikace-mi v menšině.
Omezení
Pro Ajax se nemusí hodit všechny aplikace. Jako vážný problém uvádějí skeptici
často tzv. "pokažení tlačítka Zpět". Protože Ajax webovým stránkám umožňuje,
aby se modifikovaly lokálně anebo přírůstkovým způsobem, klepnutí na tlačítko
Zpět nemusí uživatele nutně vrátit na předchozí dokument. Naopak může být
uživatel přenesen zpět až do místa či chvíle, kdy za asistence Ajaxu zahájil
dlouhou interakci. Toto místo označuje URL zobrazená v liště prohlížeče.
URL tedy nepopisuje obsah stránky, takže nemusí být možné některé stránky
označit záložkou (bookmark) nebo sdílet adresy URL tak, aby ostatní viděli
stejný obsah webu. A asynchronní aktualizace, jak zdůraznili Alex Bosworth (syn
Adama Boswortha) i jiní, znamená, že webová stránka by mohla nabývat své
struktury, vzhledu nebo délky nevyzpytatelně.
I přes tyto nevýhody vyvolal Ajax příslibem operativnějších webových interakcí
nadšení. Garrett ve svém pojednání končí touto utopickou vizí: "Největší výzvy
pro tvorbu aplikací Ajaxu nejsou technického rázu. Tyto výzvy oslovují návrháře
aplikací: Zapomeňte na to, co si myslíte, že víte o omezeních webu, a začněte
si představovat širší a bohatší spektrum možností."









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.