2012-12-27 6 views
8

c'è qualche libreria che gestisce questo? come lo backbone.offline ?, in caso contrario, sarà difficile da implementare con Ember.js?come rendere un'app Ember.js offline con sincronizzazione del server quando disponibile

UPDATE

questo question ha due librerie che possono aiutare, Breeze.js e Jaydata ..

+2

Ember non ha quella caratteristica. Potrei sbagliarmi, ma come ho capito, la soluzione sarebbe implementare un adattatore e serializzatore per 'localStorage' del browser (o qualcosa del genere) e creare la logica da sincronizzare una volta tornato su Internet. – MilkyWayJoe

+0

sì, dovrebbe funzionare, ma non so se Ember.js ha un punto centrale per le comunicazioni di backend (come il metodo Backbone.js 'sync') – Orlando

+0

Non so se lo è, per quanto ne so non lo fa , quindi dovresti implementarne uno. Se non sbaglio, qualcosa di simile a * questo è un tipo di pianificazione – MilkyWayJoe

risposta

3

Non v'è alcuna libreria per questo, ma è possibile implementare con un adattatore personalizzato. Non c'è molta documentazione per l'API dell'adattatore e gli unici disponibili nel core finora sono RESTAdapter e FixtureAdapter.

Ciò che in pratica è necessario fare è implementare un paio di ganci e collegarlo allo store dell'applicazione.

4

ember-localstorage adattatore può essere utilizzato.

può essere utilizzato come altri adattatori.

App.store = DS.Store.create({ 
    revision: 11, 
    adapter: DS.LSAdapter.create() 
}); 

Un'altra buona libreria per brace e rotaie è ember-data-sync.js

estendere la vostra App.Store da DS.SyncStore. Definire l'adattatore che si desidera utilizzare per l'archiviazione lato client:

App.Store = DS.SyncStore.extend({ 
     revision: 10, 
     adapter: DS.IndexedDB.adapter({ 
     mappings: { 
      person: App.Person, 
      persons: App.Person, 
      contact: App.Contact, 
      contacts: App.Contact 
     } 
     }) 

}); 
1

ricerca di una soluzione anche, ed è venuto su progetto ember-sync.

Questo progetto è disponibile su Ember-Data, è ember-cli -ready e dispone di una funzionalità di accodamento che gestisce in modo intelligente il record CRUD del backend. Dal mio breve sguardo, direi che questo è il progetto principale per le app offline di Ember.js.

Una critica che vorrei presentare su questo progetto è che dovrebbe anche essere in grado di adattarsi con epf.io, che a sua volta è una sostituzione drop-in per Ember-Data e offre CRUD transazionale, negozi nidificati - e anche per -model nested store capability.

Al momento della scrittura, questo progetto è ancora in alfa, anche se sembra essere nella giusta direzione.