Szukaj…
Uwagi
Dalsze badania Appcache
http://www.html5rocks.com/en/tutorials/indexeddb/todo/
http://grinninggecko.com/2011/04/22/increase-chromes-offline-application-cache-storage-limit/
http://www.html5rocks.com/en/tutorials/offline/quota-research/
https://developers.google.com/chrome/apps/docs/developers_guide?csw=1#installing
https://developers.google.com/chrome/apps/docs/developers_guide?csw=1#manifest
Meteor.status ()
Pierwszą rzeczą, którą należy zrobić, gdy przełączasz aplikację Meteor w tryb offline, jest stworzenie wizualnego wskazania, czy aplikacja klienta lokalnego jest podłączona do serwera, czy nie. Można to zrobić na wiele sposobów, ale najprostszym sposobem jest prawdopodobnie wykonanie czegoś takiego:
Template.registerHelper('getOnlineStatus', function(){ return Meteor.status().status; }); Template.registerHelper('getOnlineColor', function(){ if(Meteor.status().status === "connected"){ return "green"; }else{ return "orange"; } });
<div id="onlineStatus" class="{{getOnlineColor}}"> {{getOnlineStatus}} </div>
.green{ color: green; } .orange{ color: orange; }
Włącz Appcache
Jednym z łatwiejszych kroków jest dodanie pamięci podręcznej aplikacji. Appcache pozwoli załadować zawartość aplikacji, nawet gdy nie ma dostępu do Internetu. Nie będziesz w stanie uzyskać żadnych danych z serwerów mongo, ale statyczna zawartość i zasoby będą dostępne offline.
meteor add appcache
Włącz GroundDB
Wreszcie, chcemy, aby niektóre nasze dynamiczne dane były przechowywane offline.
meteor add ground:db
Lists = new Meteor.Collection("lists");
GroundDB(Lists);
Todos = new Meteor.Collection("todos")
GroundDB(Todos);
Rzeczy, na które należy uważać
- Appcache spowoduje pewne zamieszanie w toku prac programistycznych, ponieważ ukrywa funkcje automatycznej aktualizacji Meteora. Po wyłączeniu komponentu serwera w aplikacji część klienta w przeglądarce będzie nadal działać. To coś dobrego! Ale nie otrzymujesz natychmiastowej informacji zwrotnej, że Twoja aplikacja została wyłączona lub że pojawiły się aktualizacje.
- Spróbuj użyć trybu incognito w Chrome podczas opracowywania aplikacji, ponieważ nie używa ona pamięci podręcznej aplikacji.
- GroundDB nie działa szczególnie dobrze z IronRouter.