example - ember-pouch




how to make an Ember.js app offline with server sync when available (4)

ember-localstorage adapter can be used.

it can be used like other adapters.

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

Another good library for ember and rails is ember-data-sync.js

Extend your App.Store from DS.SyncStore. Define the adapter you want to use for client-side storage:

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

});

is there any library that handles this? like the backbone.offline one?, if not, will this be difficult to implement with Ember.js?

UPDATE

this question has two libraries that can help, Breeze.js and Jaydata..


Looking for a solution also, and came upon the ember-sync project.

This project piggy-backs on Ember-Data, is ember-cli-ready, and has a queuing feature that smartly handles backend record CRUD. From my brief look into it, I'd say this is the lead project for Ember.js offline-capable apps.

One critique I'd submit on this project is that it ought to also be capable of adapting with epf.io, which itself is a drop-in replacement for Ember-Data and offers transactional CRUD, nested stores -- and even per-model nested store capabilities.

At the time of writing, this project is still in alpha, though it seems to be heading in the right direction.


breezejs is not a sync solution! if server data changes what happen in local data if some recordes deleted on server after last update local data must sync after a method called sync in other word some date must come back to client after calling savechange that tell client db to be sync with server