2012-12-27 28 views
8

có thư viện nào xử lý việc này không? giống như backbone.offline ?, nếu không, điều này có khó thực hiện với Ember.js không?cách làm cho ứng dụng Ember.js ngoại tuyến với đồng bộ hóa máy chủ khi có sẵn

CẬP NHẬT

này question có hai thư viện có thể giúp đỡ, Breeze.js và Jaydata ..

+2

Ember không có tính năng đó. Tôi có thể sai, nhưng như tôi hiểu, giải pháp sẽ được thực hiện một bộ chuyển đổi và serializer cho 'localStorage' của trình duyệt (hoặc một cái gì đó như thế) và tạo ra logic để đồng bộ hóa một khi bạn trở lại trên internet. – MilkyWayJoe

+0

vâng điều đó sẽ hiệu quả, nhưng tôi không biết nếu Ember.js có một điểm trung tâm cho truyền thông phụ trợ (như phương thức 'sync' của Backbone.js) – Orlando

+0

Tôi không biết nếu nó có, theo như tôi biết nó không , vì vậy bạn phải thực hiện một. Nếu tôi không nhầm, một cái gì đó * như * đây là loại kế hoạch – MilkyWayJoe

Trả lời

3

Không có thư viện cho điều này, nhưng bạn có thể thực hiện nó với một bộ chuyển đổi tùy chỉnh. Không có nhiều tài liệu cho API bộ điều hợp và chỉ những tài liệu có sẵn trong lõi cho đến nay là RESTAdapterFixtureAdapter.

Những gì bạn về cơ bản cần làm là triển khai một vài móc và cắm vào cửa hàng ứng dụng của bạn. Bộ điều hợp

4

ember-localstorage có thể được sử dụng.

nó có thể được sử dụng như các bộ điều hợp khác.

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

Một thư viện tốt cho ember và đường ray là ember-data-sync.js

Mở rộng App.Store của bạn từ DS.SyncStore. Xác định các bộ chuyển đổi bạn muốn sử dụng để lưu trữ client-side:

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

Tìm kiếm một giải pháp cũng có, và đến khi dự án ember-sync.

Dự án này dựa trên dữ liệu Ember-Data, là ember-cli -ready và có tính năng xếp hàng xử lý thông minh CRUD phụ trợ thông minh. Từ cái nhìn ngắn gọn của tôi về nó, tôi muốn nói đây là dự án dẫn đầu cho các ứng dụng có khả năng ngoại tuyến của Ember.js.

Một phê bình tôi muốn gửi về dự án này là nó cũng phải có khả năng thích nghi với epf.io, mà chính nó là một thay thế thả cho Ember-Data và cung cấp CRUD giao dịch, cửa hàng lồng nhau - và thậm chí mỗi -model khả năng lưu trữ lồng nhau.

Tại thời điểm viết, dự án này vẫn đang ở giai đoạn alpha, mặc dù nó dường như đang đi đúng hướng.

Các vấn đề liên quan