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.