Komentáře k článku
AppCache: webové aplikace i bez připojení

V dalším pokračování webdesignérova průvodce po technologiích z rodiny HTML5 si představíme nástroj, který umožňuje, podobně jako třeba Google Gears, provozovat webové aplikace i tehdy, když není uživatel online. To se – zejména ve spojení s mobilními zařízeními – opět ukazuje jako aktuální problém.
"Přepis" online aplikace na offline
Ahoj, zrovna tohle jsem teď řešil u jedné db aplikace. Nic moc, pár gridů, formulářů…klient chtěl aby to fungovalo offline. Tahle featura HTML5 mě napřed nadchla ale teď přišla skepse :), nedovedu si moc představit, jak tu aplikaci přepsat…napadá mě jedině převést všechny odkazy na JS a hledat napřed v cache a až potom online. Drobný, ale ne nepřekonatelný, problém pak bude synchronizace dat…
Jak to vidí autor?
Re: "Přepis" online aplikace na offline
„Jak to vidí autor“, to nevím, ale mohu posloužit pohledem překladatele… :)
AppCache asi není nejvhodnější nástroj pro řešení offline DB aplikací. AppCache je dobrá na to, že do ní člověk může uložit např. rich text editor nebo „full-featured“ kalendář, tedy všechny ty nezbytné skripty a styly a ikonky, takže člověk, co potřebuje „online Word“ ho má k dispozici i offline, když si ho uloží jako „zástupce“ v Chrome nebo připraví v Mozilla Prism. Ovšem pokud má taková aplikace nějak pracovat s databází, je potřeba to řešit pomocí lokální databáze a synchronizovat změny, což už není úkol pro AppCache. Pro snazší představu: AppCache je pro ty soubory, co jsou u aplikace v „Program Files“, /usr/bin nebo zkrátka někde, kde je vlastní program a potřebné knihovny. Vlastní data jsou už někde jinde – a to „jinde“ bude potřeba řešit přes jiné metody, jako jsou WebStorages (ke kterým se na Zdrojáku dostaneme co nevidět).
Takže ve vašem případu budete mít v AppCache uloženy všechny JavaScripty a všechny ikonky a HTML s gridama, a skripty budou pracovat s lokálním úložištěm dat, které se bude synchronizovat se vzdálenou databází. Víc z AppCache asi nevymáčknete. :)
Chrome 3 a FF 3
To co nás taky zajímá se nedozvíme. Co v těch prohlížečích funguje a co, když píšeš, že mají částečnou podporu?
Re: Chrome 3 a FF 3
Nevím co v nich funguje; informace o částečné podpoře jsem bral z Can I Use, odkaz je tam uvedený. Nemám ani FF3 ani Chrome 3, abych vyzkoušel co přesně umí a co ne, ale vzhledem k tomu, že se jedná o novou technologii, která se teprve rozšíří, tak bych řekl, že konkrétní míra podpory ve FF3 a Chrome 3 je irelevantní – dřív budou tyto verze zapomenuty než AppCache běžně používána.
Podpora
Jen pro úplnost (hledal jsem to asi půl hodiny). Autor originálu z Opery se taktně vyhnul WinMobile, ale žádné překvapení, pro WM je dostupná pouze v10.0, a tam to zatím nefunguje.
Chyba ve scriptu
Máte chybu ve skriptu. Metodu addEventListener dáváte na objekt window, což je nesmysl. Podívejte se znovu na http://dev.opera.com/articles/view/offline-applications-html5-appcache/
S pozdravem, BS-Harou =)
Re: Chyba ve scriptu
Díky za upozornění, omlouvám se a opravuji.
Corr
„Tento kód bude každých 6é minut kontrolovat, …“ – 6é → 60
Jinak diky moc za serial, sleduju ;-)
Peace, dejaVu.
Re: Corr
Opraveno, děkuji.
Limity
Díky za zajímavý článek. Chtěl bych se zeptat jak je to s omezením na celkovou velikost cachovaných souborů. Je to nějak specifikované, nebo je to per browser (v nastavení Safari jsem to třeba nenašel).
Zajímá mě to proto, že dělám fotogalerii a offline prohlížení by i dávalo smysl, ale nevěřím, že přesvědčím browser aby cachoval všechny fotky, které mu nadiktuju.
Re: Limity
Vzhledem k tomu, že AppCache je „working draft“, tak se obávám, že něco takového není nikde pevně specifikováno a nelze se na to spoléhat. Pravděpodobně tam je nějaký „rozumný limit“, ale těžko soudit, ostatně i Google vrací víc stránek s dotazy na velikost AppCache než autoritativních odpovědí.
Kdy je problizec offline?
Dobry den,
zajimalo by me co znamena stav prohlizece offline?
Ted jsem si tady s tim hral a prekvapilo me chovani metody navigator.onLine. At jsem pripojen k internetu nebo nejsem, stale mi to hazi true neboli online.
Kde muze byt chyba a co chapu spatne?
Dekuji za odpoved.
Re: Kdy je problizec offline?
Tak jsem prisel na to, ze navigator.onLine spravne detekuje pripojeni v pripade zapnute funkce prohlizece „Pracovat offline“. Pokud ale odpojite sitovy kabel pise online (fce pracovat offline je vypnuta).
Opravdu nekdo netusi?
Diky!
Re: Kdy je problizec offline?
Tuší, ale ne ve 2 v noci ;)
Záleží na prostředí – myslím, že prohlížeči musí něco posílat info o připojení/odpojení.
Tohle dělá např. NetworkManager v Gnome – pokud se ovšem připojím jinak – např. k modemu přes pppd, tak o tom NetworkManager neví, nic firefoxu nepošle a ten si může myslet, že je/není připojen i když je to jinak.
Důležité je ovšem, že Firefox má v about:config volbu toolkit.networkmanager.disable, která má patrně default true.
Teprve po změně na false to reaguje na on/off-line zprávy od NM.
snad to trochu pomůže
(pozor: testoval jsem to už před časem, teď to jen lovím z paměti)