Hlavní navigace

Google Gears - online aplikace offline

31. 5. 2007 12:29 | David Antoš

Nové Google Gears je pluginem pro Internet Explorer a Firefox přinášející možnost používat internetové aplikace i offline. Ačkoliv byl údajně vyvinut ve spolupráci s Mozillou, Operou a Adobe, v Opeře tato funkce asi zatím nefunguje. Naopak Adobe ji plánuje implementovat do své platformy Apollo.

Jak to funguje?

Z pohledu uživatele si musíte pouze stáhnout dotyčný plugin, a pak u konkrétních internetových aplikací, které jej využívají, odfajkovat, že souhlasíte. Není tak samozřejmě možné používat jakoukoliv AJAX aplikaci, ta k tomu musí být uzpůsobena. V tuto chvíli si to můžete otestovat asi pouze na Google Readeru, další kusy z kancelářského balíku nejen Googlu budou jistě pokračovat. Nejedná se totiž o řešení určené pouze pro potřeby Googlu, ten jej naopak nabízí jako otevřený projekt umožňující podporovat offline režim libovolné aplikaci napsané v javascriptu.

V Google Readeru se objevil nový odkaz – „offline“. Po přechodu do tohoto stavu je jistý objem dat uložen na váš disk, v tom případě konkrétně 2000 článku ve čtečce. Dále můžete aplikaci téměř libovolně používat a listovat texty, dokonce je díky lokálnímu uložený dat i o něco svižnější. Nějakým způsobem jsou pravděpodobně i ukládany informace o tom, co s Google Readerem děláte, aby údaje o přečtených textech mohly být po opětovném přihlášení sesynchronizovány s online verzí.

Web a desktop jedno jsou

Sledovat vývoj internetových aplikací je fascinující, před rokem by mě vůbec nenapadlo, jak daleko se posune a jak blízkou konkurencí desktopových programů začnou být. V současné době probíhá několik zajímavých iniciativ, které rozhodnou o podobě používání počítačů. Celá tématika je dosti technická a nikdo se jí v Česku systematicky nevěnuje – dokonce bych řekl, že najít srozumitelný zdroj s dobrými znalostmi je těžké i na anglickém internetu. Proto alespoň malý seznam toho, co se děje, jaké změny provázejí prorůstání webového a desktopového světa.

Programovací jazyk

Pro tvorbu desktopovách aplikací existuje jazyků celá řada, v této oblasti však se nijak neorientuji. Pro internetové aplikace je podstatné oddělení samotného chodu programu a jeho rozhraní. Na pozadí může běžet celkem cokoliv, podstatné je právě to, s čím přichází do styku uživatel. Výstup internetové aplikace by mohlo a snad i mělo být obyčejné HTML. Ostatně právě připravované HTML 5, o kterém zasvěceně bloguje Martin Hassman, má ambice dohnat překotný vývoj, který udělal z webu takovou džungli. Pro příklad – pro emaily existuje standardní formát odkazu mailto:, pro kalendáře, mapy atd. nic obdobného nefunguje, ačkoliv se to snaží změnit mikroformáty. Zobrazování obrázků je standardní součást každého prohlížeče, tag IMG se součástí specifikace a nic dalšího není potřeba. Pro přehrávání audia a videa opět nic takového není a je si nutno vypomáhat externími pluginy.

Také proto dnes internetové aplikace pracují nejčastěji s javascriptem a flashem, přičemž z různých důvodů většinou vyhrává javascript, ačkoliv flash se poslední dobou také pěkně chytá a v některých oblastech samozřejmě dominuje (hry, video). Výjimečně se lze setkat i s použitím Javy. Do tohoto obrázku by také měly zapadnout nové technologie – JavaFX Script a Microsoft Silverlight.

Offline a mimo prohlížeč

Srůstání internetových a desktopovách aplikací je obousměrné, do prohlížeče se dostávají schopnosti pracovat s diskem a offline, mimo prohlížeč unikají aplikace vyvinuté a pracující online. Google Gears je jednoduché rozšíření javascriptu, které umí jednu věc – umožňuje AJAX aplikacím ukládat data na disk uživatele. Dalším pojmem, se kterým se je možné setkat, je runtime. Moc tomu nerozumím, ale představuji si to jako rámcovou aplikaci umožňující chod nějakých programů na počítači. Potom by tuto roli plnil v zásadě každý prohlížeč, který umožňuje chod internetových aplikací, ty však nemají onu funkci provozu offline a mimo rozhraní prohlížeče.

Runtime Mozilly je XULRunner, ten umožňuje chod Firefoxu, ale je na něm postavena i celá řada dalších aplikací od Joostu až po Songbird. V současné době prý v komunitě Mozilly probíhá diskuse, jak daleko by v podpoře této platformy měla jít a do jaké míry by měl být vývoj zaměřen převážně na Firefox – ten by se mimochodem ve třetí verzi měl dočkat podpory offline používání online aplikací, jestli to bude nějak spojeno s Google Gears nevím. V současné chvíli však neexistuje samostatně stahovatelný XULRunner, což předpokládám znamená, že jej každý na něm postavený program má vždy znovu sbalený v sobě. Rád bych v této souvislosti odkázal na iniciativu Matthewa Gertnera z AllPeers – Mozpad.

Neslibněji – ale možná jen proto, že se mi jej myslím podařilo nejlépe pochopit – podle mého názoru vypadá Apollo od Adobe. Tato platforma by měla vývojářům internetových aplikací nabídnout v zásadě 3 věci. 1. překlopení aplikací napsaných jako normální klasické AJAX/flash stránky do desktopové verze, která by vzhledem k využívání lokálních zdrojů běžela rychleji a offline. 2. oproštění od rozhraní prohlížeče – proč by třeba tabulkový procesor měl běžet v rozhraní s adresním řádkem atd.? 3. přístup k lokálním datům.

Apollo je myslím přesně to, na co IT svět čeká. V blízké budoucnosti by se mohl online a offline, lokální a vzdálený, webový a desktopový svět jednoduše prolnout. Z uživatelského pohledu nebude rozdíl mezi webem a desktopem, oboje mu bude schopno nabídnout stejnou funkcionalitu, oboje bude schopno pracovat i bez připojení, oboje bude umět brát si data ze sítě nebo lokálního disku – otázkou bude jen účelnost umístění aplikace. Pravidelně používané programy náročné na rozhraní budou mimo prohlížeč, webové služby, které jsou spíše stránky než aplikace budou v něm. Tam, kde se dá očekávat „brouzdání“, tam je vhodným nástrojem prohlížeč s univerzální schopností prohlížet webové stránky. Pro jednoúčelové aplikace je vhodnější umístění mimo něj, pro ně nemá prohlížeč žádnou přednost.

Omlouvám za případné věcné chyby. Byl bych jen rád, kdyby se konečně našel někdo dostatečně znalý, kdo by o všech těchto platformách byl schopen napsat netechnický, srozumitelný souhrnný přehled. Třeba takový blog na Lupě by byl ideální formou, jak tuto oblast sledovat a překládat pro technicky neznalé. :-)