2014-02-17 290 views
2

我正在研究需要將數據同步到各種平臺(包括網絡)的核心數據應用程序。最初我開始整合Stackmob這似乎是一個很好的候選人來處理這個任務。現在Stackmob顯然正在關閉down我正在尋找另一個BaaS框架/服務作爲替代品。每個人都建議使用Parse.com,但解析是一種「始終在線」服務,不支持脫機同步。我的應用程序的用戶需要能夠離線使用應用程序,並在設備連接到互聯網後立即同步緩存的數據。核心數據雲同步

建立我自己的同步後端在此刻不是一個選項,因爲我是一個沒有時間和資源的小型開發人員。我有什麼選擇,是否有任何支持Core Data的離線同步的類似服務?

注意:我不能使用iCloud,因爲我想同步到網絡。

更新: 我偶然發現了Simperium似乎離線核心數據同步。任何有此服務經驗的人?

+0

Parse.com提供了對所有數據使用本地緩存的能力,並且您可以指定要在緩存之前點擊網絡。這意味着如果網絡出現故障,您的應用仍然會對緩存工作。 – Moonwalkr

+0

另一個解決方案是,正如我在其中一個應用程序中所做的那樣,將Core Data與Parse結合使用。我的應用程序的一部分必須始終可訪問,因此這些數據存儲在覈心數據和parse.com中。當應用程序加載時,它會檢查更新的遠程數據,並在發現任何數據時進行同步。 – Moonwalkr

+0

手動進行同步確實是一個選項,但IMO只有在CoreData模式保持非常簡單時纔可行。我的模式非常複雜,有很多關係和多個表。構建解決衝突和合並的同步引擎需要很大的努力並需要很長時間。 – Oysio

回答

4

我會建議Dropbox Datastore API。您可以使用允許您使用Core Data的ParcelKit包裝器。這爲您提供了所需的一切:離線使用,核心數據和用於Web組件的JavaScript API。

還有Wasabi Sync,這是核心數據本地,並有一個REST API供web使用。

如果您可以放棄對網絡的要求,那麼有像EnsemblesTICDS這樣的解決方案,可以與多個後端(例如iCloud,Dropbox)一起使用。 (披露:我開發Ensembles)

+0

Dropbox數據存儲似乎首先是一個很好的候選人,但顯然它不支持多用戶協作,這是我的應用程序的交易斷路器。 – Oysio

+0

我應該補充說,沒有什麼能阻止多個用戶與Ensembles共享商店。它是後端不可知論的,只是採用多用戶後端的問題。這就是說,你仍然有問題,它不與網絡合作。 –

1

有一個名爲FTASync的開源軟件包,可以將Parse與CoreData同步。我着眼於使用它,但對於我的應用來說太簡單了。雖然我是一位像您一樣的獨立開發人員,但我承擔了將FTASync修改爲我所需的任務。我現在已經完成了它,它與FTASync非常不同。如果FTASync不適合您,請私下與我聯繫,也許我們可以解決一些問題。

-Bob

+0

我不知道如何與您聯繫。但是我知道FTASync,並用它做了一些小測試。不幸的是,圖書館看起來很不成熟,同步不能按預期工作,經常崩潰,特別是在使用數據關係時。 – Oysio

+0

對不起,我認爲在SO的某處有一個「私人信息」功能,但我找不到一個。嘗試bb在域名theralynx點com。 – LostInTheTrees