14.10.2008
Bleskově na AJAX přes Google
Populárních javascriptových AJAX knihoven (frameworks) dnes existuje celá řada. Většina z nich narostla za dobu své existence ke stovkám kilobajt.
Velikost knihoven má spolu s odezvou serveru fatální vliv na rychlost načítání každé stránky, která by je ráda používala. Doba prvního načtení tak může běžně vystoupat až k jednotkám sekund.
Další nemilou (i milou) vlastností těchto AJAX frameworks, je fakt, že jsou v neustálém a zuřivém vývoji. Což má za následek nové a nové verze knihoven. Pokud chcete být v obraze, nezbude než neustále stahovat nové a nové verze. Navíc je to často taky otázka bezpečnosti vašich stránek.
No a na závěr mé obžaloby AJAX frameworks, bych se rád zmínil o replikaci dat. Každý server (stránky) to většinou řeší tak, že si prostě vytvoří svoji vlastní kopii příslušných knihoven. Vývojáři tímto krokem nutí uživatele neustále stahovat (prakticky) tatáž data dokola.
Ale pak se pár chytrých hlav dalo dohromady a řeklo: Dost! A není náhodou, že těch pár chytrých hlav se sešlo ve společnosti Google
a vytvořilo AJAX Libraries API.
Výhody jsou zřejmé:
- Primitivní kód pro vložení – jeden řádek
- Při načítání knihoven využíváte infrastruktury Google, takže odezva je doslova perfektní.
- Aktualizaci provedete tak, že přepíšete číslo verze příslušné knihovny.
- Knihovny jsou před přenosem komprimovány metodou gzip.
- Skript se načítá z jediné URL a do cache se ukládá jednou pro všechny projekty, využívající AJAX Libraries API
Příklad vložení Prototype verze 1.6 a rozšíření Scrip.aculo.us 1.8.
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">// <![CDATA[
google.load("prototype", "1.6.0.3");
google.load("scriptaculous", "1.8.1");
// ]]></script>
Rozhraní dnes dokáže vložit knihovny: Prototype, Scrip.aculo.us, Dojo, jQuery a Mootools. Časem možná přibudou některé další.

-
Už jen stačí doufat, že toto bude používat hodně lidí. Protože každý člověk, který toto nevyužije bude na svých stránkách načítat tu samou věc a to je přeci blbost. Tohle je hodně šikovná věcička. Ono když uživatel ušetří 50 kB načítání na každé stránce … to je dost ne?
PS: Přidávám se a začal jsem toto používat také. Co ty? Používáš to na svém webu?
Zatím to používám pouze u mini aplikací, kde se mi nechce nahrávat spousta js souborů. Wordpress má vlastní load js souborů, který mi zatím vyhovuje.
http://www.nabito.net/…ani-stranek/ – tady najdeš návod, jak chytře přesměrovat požadavek na jQuery pomocí htaccess na Google Ajax API