Array ( [0] => 15488318 [id] => 15488318 [1] => cswiki [site] => cswiki [2] => AJAX [uri] => AJAX [3] => [img] => [4] => [day_avg] => [5] => [day_diff] => [6] => [day_last] => [7] => [day_prev_last] => [8] => [oai] => [9] => [is_good] => [10] => [object_type] => [11] => 0 [has_content] => 0 [12] => [oai_cs_optimisticky] => ) Array ( [0] => {{Různé významy|tento=technologii pro vývoj webových aplikací|stránka=Ajax}} [1] => [2] => '''AJAX''' (''Asynchronous JavaScript and XML'') je v [[Informatika|informatice]] obecné označení pro technologie vývoje [[interaktivita|interaktivních]] [[World Wide Web|webových]] aplikací, které mění obsah svých stránek bez nutnosti jejich kompletního znovunačítání za pomoci [[Asynchronie|asynchronního]] zpracování [[Webová stránka|webových stránek]] pomocí knihovny napsané v [[JavaScript]]u. Na rozdíl od klasických webových aplikací poskytují uživatelsky příjemnější prostředí, ale vyžadují použití moderních [[webový prohlížeč|webových prohlížečů]]. [3] => [4] => Tyto aplikace jsou vyvíjeny s využitím technologií: [5] => * [[Hypertext Markup Language|HTML]] (nebo [[Extensible Hypertext Markup Language|XHTML]]) a [[Cascading Style Sheets|CSS]] pro prezentaci informací; [6] => * [[Document Object Model|DOM]] a [[JavaScript]] pro zobrazování a dynamické změny prezentovaných informací; [7] => * [[XMLHttpRequest]] pro asynchronní výměnu dat s [[webový server|webovým serverem]] (typicky je užíván formát [[Extensible Markup Language|XML]], ale je možné použít libovolný jiný formát včetně [[Hypertext Markup Language|HTML]], prostého textu, [[JavaScript Object Notation|JSON]] či [[EBML]]). [8] => [9] => Podobně jako [[DHTML]], [[LAMP]] nebo [[Single Page Application|SPA]], Ajax ve skutečnosti není konkrétní jednotlivá technologie, ale pojem označující použití několika technologií dohromady s určitým cílem. [10] => [11] => == Historie == [12] => Termín ''AJAX'' se poprvé veřejně objevil v dubnu [[2005]] v článku [[Jesse James Garrett]]a, nazvaném [https://web.archive.org/web/20061107032631/http://www.adaptivepath.com/publications/essays/archives/000385.php ''Ajax: A New Approach to Web Applications''] (''Ajax: Nový přístup k webovým aplikacím''). Myšlenky, na kterých je AJAX založen, jsou však výrazně starší: mezi začátky lze zařadit zavedení elementu [[IFRAME]] ve [[Windows Internet Explorer|Microsoft Internet Explorer]] 3.0 z roku [[1996]], elementu LAYER v [[Netscape Navigator]] 4.0 z roku [[1997]] (tento element byl opuštěn na počátku vývoje [[Mozilla|Mozilly]]). Také [[Macromedia Flash]] od verze 4 umožňoval komunikaci se serverem na pozadí, bez překreslení stránky. [13] => [14] => V roce [[1998]] představil [[Microsoft]] novou technologii nazvanou [[Remote Scripting]][http://msdn.microsoft.com/library/en-us/rmscpt/Html/rmscpt.asp Remote Scripting] {{Wayback|url=http://msdn.microsoft.com/library/en-us/rmscpt/Html/rmscpt.asp |date=20060714213528 }}, microsoft.com – neplatný odkaz !, ve které v klientském prohlížeči běžel [[Java applet]] komunikující se serverem, přičemž tento applet poskytoval služby JavaScriptovým funkcím. Tato technika fungovala v MSIE od verze 4 i v Netscape Navigatoru od verze 4. V páté verzi IE zavedl Microsoft objekt [[XMLHttpRequest]], který v roce [[2000]] využil v novém programu Outlook Web Access, který poskytuje webové rozhraní pro přístup k e-mailům na [[Microsoft Exchange Server]]. [15] => [16] => Velká popularita a rozšíření AJAXu začala několika službami společnosti [[Google]] (nejdříve [[Gmail]], posléze [[Mapy Google|Google Maps]] a další). [17] => [18] => == Výhody == [19] => Mezi výhody patří odstranění nutnosti znovunačtení a překreslení celé stránky při každé operaci, které jsou nutné u klasického modelu WWW stránek. Pokud například uživatel klikne na tlačítko pro udělení hlasu v nějaké anketě, celá stránka se musí znovu načíst ze serveru, třebaže se na ní jen například aktualizují výsledky hlasování a veškerý zbytek obsahu zůstává stejný. Prostřednictvím AJAXu proběhne odeslání hlasu uživatele na pozadí, server zašle jen ty části stránky, které se změnily, a jen tyto části se uživateli na stránce aktualizují a překreslí. Taktéž nedochází k nepříjemnému efektu, kdy se po dané akci v průběžně načítané stránce postupně přizpůsobují a „za běhu“ formátují a zarovnávají její blokové elementy, obrázky atd. – obtěžující může být i to, že po dané akci uprostřed delší stránky (odscrollované dolů) se nově načtená stránka zobrazí vyscrollovaná nahoru. S AJAXem má uživatel pocit mnohem větší plynulosti práce, která se (zejména u rychlejšího internetového připojení) blíží běžným desktopovým aplikacím. [20] => [21] => Z toho vyplývá také potenciál snížit zátěž na webové servery a síť obecně. Jelikož není potřeba při každém požadavku sestavit celý HTML dokument, ale pouze provedené změny, je množství vyměňovaných dat výrazně nižší a teoreticky to může mít příznivý vliv i na zátěž databázových serverů či dalších backendových systémů. [22] => [23] => == Nevýhody == [24] => AJAX však naopak může zvýšit ''počet'' vyměňovaných HTTP požadavků, a třebaže přenášejí nižší množství dat, tak při nevhodné implementaci zátěž neklesne. [25] => [26] => Mezi nevýhody patří hlavně změny v paradigmatu používání webu: webové stránky se chovají jako plnohodnotné aplikace se složitou vnitřní logikou, nikoli jako posloupnost stránek, mezi kterými se lze navigovat i pomocí tlačítek ''Zpět'' a ''Další''. Obdobným způsobem není možno předat [[Uniform Resource Locator|URL]] stránky, ve které již bylo pomocí technologie AJAX něco „naklikáno“. Moderní AJAXové aplikace jsou schopny procházení v historii (přinejmenším částečně) obnovit za použití různých technik (např. využití části adresy za znakem # či pomocí neviditelných [[IFRAME]]s). To ale ve výsledku ztěžuje návrh stránek a vyžaduje více času a práce na implementaci pomocí AJAXu. [27] => [28] => Problémem AJAXových aplikací také může být síťová [[latence]]: potřeba komunikace přes Internet má negativní dopady na rychlost odezvy a interaktivitu uživatelského rozhraní. Pokud uživateli není jasně signalizováno, že aplikace zpracovává jeho požadavek (a na pozadí komunikuje se serverem), jediné, co zaregistruje, je zpožděná reakce (mezitím se dokonce může snažit operaci spustit znovu, neboť se domnívá, že systém jeho příkaz ignoroval, a tím vygenerovat větší zátěž serveru a/nebo způsobit něco, co neměl v úmyslu, např. objednat deset vstupenek místo jedné). Jako vhodné řešení se doporučuje po dobu mezi odbavením požadavku na server a jeho odpovědí nějakým způsobem zobrazit, že uživatelův požadavek se zpracovává, například textem nebo animovanou ikonou. Síťovou latenci má samozřejmě i verze bez AJAXu, v ní se ale o indikování toho, že prohlížeč čeká na odpověď od serveru, stará samotný prohlížeč. [29] => [30] => Požadavek formou AJAX může také přijít s neúspěšnou odpovědí nebo nepřijít vůbec. Správně a uživatelsky přívětivě řešená stránka, která AJAX používá, by měla s touto variantou počítat a řešit všechny úspěšné i chybové stavy. Příkladem s dobrou [[použitelnost]]í je po odeslání požadavku přes AJAX zobrazit indikátor, že požadavek se zpracovává (text, animovanou ikonku apod.) a deaktivovat uživatelský vstupní prvek (tlačítko, vstupní políčko, odkaz), který si jej vyžádal (aby na něj uživatel nemohl opětovaně klikat). Trvá-li čekání na odpověď déle, než je obvyklé, indikovat další informací, že na odpověď se stále čeká. A trvá-li vyřízení požadavku další čas, měla by stránka uživateli nabídnout možnost požadavek odeslat znovu (skrýt předchozí hlášky nebo ikonky informující o zpracování požadavku a opětovná aktivace vstupních prvků nebo odkazů pro spuštění nového AJAXového požadavku). Alternativně opětovné pokusy spouštět v rozumných intervalech sama (jako například na stránkách [[Disk Google|Google Docs]]). Tato funkcionalita je sice uživatelsky přívětivější než v prostém HTML, ale vyžaduje dodatečné programování (implementaci, odzkoušení funkčnosti v různých prohlížečích, u složitějších webových aplikacích simulaci všech scénářů a stavů, které mohou nastat) a je tedy náročná na čas a lidské zdroje. [31] => [32] => Další nevýhodou AJAXu je nutnost používat moderní grafické prohlížeče, které podporují potřebné technologie. Všechny dnešní běžné prohlížeče však tyto technologie alespoň v základu podporují, problém tak zůstává jen u minoritních prohlížečů typu Lynx nebo na hardwarově slabších zařízeních pro prohlížení, například na (některých) [[mobilní telefon|mobilních telefonech]] a [[Personal Digital Assistant|PDA]]. V rámci [[webová přístupnost|webové přístupnosti]] se vyžaduje, aby stránky byly přístupné i z prohlížečů bez podpory AJAXu, což pro vývojáře znamená více času a práce a objednavatelům výsledných stránek větší náklady. [33] => [34] => == Odkazy == [35] => === Reference === [36] => [37] => [38] => === Související články === [39] => * [[WebSocket]] - umožňuje plně duplexní komunikaci se serverem, také pomocí JavaScriptu [40] => [41] => === Externí odkazy === [42] => * {{commonscat}} [43] => * {{en}} [https://developer.mozilla.org/en/AJAX/Getting_Started AJAX: Getting Started] {{Wayback|url=https://developer.mozilla.org/en/AJAX/Getting_Started |date=20100106132436 }} – Úvodní tutoriál na Mozilla Developer Center [44] => * {{en}} [https://web.archive.org/web/20160430171159/http://miniajax.com/ Ajax] – Ukázka, co všechno AJAX umí [45] => * {{en}} [https://web.archive.org/web/20060324200440/http://www.ajaximpact.com/toolkits.php Ajax Tool Kits] – Seznam různých toolkitů pro AJAX [46] => * {{cs}} [https://web.archive.org/web/20070222153438/http://citron.blueboard.cz/clanek-239-ajax-navod-pro-zacatecniky.html Ajax – návod pro začátečníky] – Na začátek jednoduchý skript [47] => {{Autoritní data}} [48] => [49] => {{Portály|Internet}} [50] => [[Kategorie:JavaScript]] [51] => [[Kategorie:World Wide Web]] [52] => [[Kategorie:Programovací jazyky]] [] => )
good wiki

AJAX

AJAX (Asynchronous JavaScript and XML) je v informatice obecné označení pro technologie vývoje interaktivních webových aplikací, které mění obsah svých stránek bez nutnosti jejich kompletního znovunačítání za pomoci asynchronního zpracování webových stránek pomocí knihovny napsané v JavaScriptu. Na rozdíl od klasických webových aplikací poskytují uživatelsky příjemnější prostředí, ale vyžadují použití moderních webových prohlížečů.

More about us

About

Expert Team

Vivamus eget neque lacus. Pellentesque egauris ex.

Award winning agency

Lorem ipsum, dolor sit amet consectetur elitorceat .

10 Year Exp.

Pellen tesque eget, mauris lorem iupsum neque lacus.

You might be interested in

,'JavaScript','XMLHttpRequest','IFRAME','Hypertext Markup Language','Asynchronie','Personal Digital Assistant','Gmail','latence','Single Page Application','Webová stránka','Jesse James Garrett','Microsoft Exchange Server'