Logo

Úskalí AJAXu

Vložil Pavel Klobasa, 9. Únor 2008 - 14:16

AJAX je relativně nová technologie. Ale je to jen technologie, závisí na jejím vhodném použití, má své výhody a své nevýhody. Pojďme si projít některé méně známé nevýhody při použití v internetové aplikaci.

  1. Neexistují konvence pro vytváření a používání AJAXových komponent a aplikací

    Všichni uživatelé internetu znají pojmy jako odkaz, stránka, formulář, navigátor, fulltextové vyhledávání atp. AJAX zavádí nové komponenty, které jsou velmi často lepší, interaktivnější, promyšlenější, ale mají jednu zásadní nevýhodu: na každém webu jsou jiné. Jste si jisti tím, že uživatel vašeho webu bude chtít několik minut svého života věnovat tomu, aby se naučit váš web ovládat?

  1. AJAX je proti SEO

    Stránka postavená na AJAXu pro různý obsah nevytvoří nové URL. Důsledek je ten, že „nefunguje“ tlačítko Zpět a to, že vyhledávač „nevidí“ obsah, který vytvořil AJAX.

  2. AJAX je proti přístupnosti

    AJAX je oproti webu postavenému na HTML+CSS řádově náročnější na schopnosti a standardnost prohlížeče. Velmi často se doporučuje tento problém řešit duplicitním ovládáním (klasické a AJAXové dohromady). Bohužel doporučení poněkud nelogické a často špatně realizovatelné…

  3. AJAX může zvýšit zátěž serveru

    Ve všech pojednáních o AJAXu se tvrdí, že snižuje množství přenesených dat, a tedy i zátěž serveru. Není tomu tak vždy – závisí na použití. Pokud například každý AJAXový požadavek na serveru vyvolá databázový dotaz bez předřazené cache, tak ta samá aplikace v AJAXovém provedení může zvýšit zátěž dB serveru několikásobně. Proč? Protože uživatel nemusí čekat na celou stránku a „klikat je tak snadné“.

  4. AJAX není odolný vůči špatnému internetovému připojení

    V prostředí internetu nejsou garantovány parametry spojení mezi serverem a prohlížečem – ani šířka pásma ani doba odezvy. A to je problém při vytváření GUI aplikace – zde uživatel intuitivně očekává dobu reakce do 500ms, jinak má pocit, že ho aplikace zdržuje. Někdy ovšem odezva od serveru nemusí dojít vůbec. To sice řeší AJAXové frameworky pomocí timeoutu, jenže otázkou je, jak vývojář tuhle situaci ošetří – chybovou hláškou, novým požadavkem nebo vůbec? U klasické webové aplikace si způsob řešení problému krátkodobé nedostupnosti serveru vybíral uživatel…

  5. AJAX snižuje počet shlédnutých stránek

    Je několik způsobů, jak měřit statistiky návštěvnosti webů a jak tyto návštěvnosti porovnávat. Kromě měření počtu návštěvníků je důležitým údajem počet zobrazených stránek. Je AJAXový požadavek regulerní stránkou (což není) nebo se do statistik nemá počítat (což vede ke statisticky horším výsledkům)? I v případě, že statistiku ve své aplikaci neuvažujete, opravdu nebudete chtít nikdy nasadit reklamu? V reklamě je počet zobrazení důležitý údaj, byť jeho význam klesá…

Vím, že tento článek je konzervativní a nepřející AJAXu. Některé z výše uvedených problémů je možné vyřešit, některé je možné ignorovat a s některými je možné se smířit. Můj názor je ten, že použití každé nové technologie je potřeba pečlivě zvážit a že konzervativní přístup u technologie, která mění architekturu celé aplikace, je na místě. V prostředí intranetové aplikace je možné AJAX začlenit bez větších problémů, na internetu záleží typu aplikace a požadavcích na ní…

© 2005-2008 oXy Online s.r.o., všechna práva vyhrazena.