Ricerca…
Osservazioni
Ulteriori ricerche Appcache
http://www.html5rocks.com/en/tutorials/indexeddb/todo/
http://grinninggecko.com/2011/04/22/increasing-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 ()
La prima cosa da fare quando si porta offline l'app Meteor è creare un'indicazione visiva se l'app client locale è connessa o meno al server. Ci sono molti modi per farlo, ma il modo più semplice è probabilmente fare qualcosa del genere:
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; }
Abilita Appcache
Uno dei passaggi più semplici è l'aggiunta dell'appcache. Appcache consentirà il caricamento del contenuto dell'applicazione anche in assenza di accesso a Internet. Non sarai in grado di ottenere alcun dato dai tuoi server mongo, ma il contenuto statico e le risorse saranno disponibili offline.
meteor add appcache
Abilita GroundDB
Infine, vogliamo che alcuni dei nostri dati dinamici vengano archiviati offline.
meteor add ground:db
Lists = new Meteor.Collection("lists");
GroundDB(Lists);
Todos = new Meteor.Collection("todos")
GroundDB(Todos);
Le cose da fare attenzione
- L'appcache causerà una certa confusione nel flusso di lavoro di sviluppo, poiché nasconde le funzionalità di aggiornamento automatico di Meteor. Quando spegni il componente server della tua app, la parte client del tuo browser continuerà a funzionare. Questa è una buona cosa! Tuttavia, non ricevi il feedback immediato che la tua app è stata disattivata o che ci sono stati aggiornamenti.
- Prova a utilizzare la modalità di navigazione in incognito di Chrome durante lo sviluppo della tua app, perché non utilizza appcache.
- GroundDB non funziona particolarmente bene con IronRouter.