2012-01-17 43 views
3

我正在開發用於Android的PhoneGap應用程序(也適用於iOS)。用於在線/離線移動同步的庫

該應用程序將在線/離線。我目前使用javascript/jquery來調用服務器端的WCF JSON服務。

這是我的同步機制。這是非常特別的,我需要從數據庫表x中同步,所以我會在服務器端編寫一些代碼來加載數據並將其公開在服務上。我將在客戶端編寫一些代碼以在服務上調用該方法,並將其同步到客戶端的數據庫中。

確保數據不衝突是根據需要滾動你自己的。

只是想知道是否有任何圖書館來同步這樣的數據?想想像SQL replcation(但不是SQL複製)。

我可能會寫這樣的應用程序,所以一個通用的解決方案將是理想的。

更新:

這個問題再次提出。爲什麼我們有一個HTML5標準,它指定我們可以離線數據庫,並在設備上緩存html頁面和javascript,但我們沒有標準的數據同步方式?

這表明我們希望能夠與我們的應用程序脫機。

當然,在一個簡單的應用程序中這可能很容易,這是我們應該在開始時開發的。

但是我們將要寫的下一個應用程序將會複雜得多。

回答

1

afaik,沒有。

有人問Django的已經是一個類似的問題: Data Synchronization framework/algorithm for server<->device?

這主要取決於那種你想要同步的數據,以及解決衝突的策略。

如果您不需要解決衝突,那麼在重新建立連接時,不必解決服務器和客戶端中缺少事務的簡單事務ID和重播。

過去我也做過一些非常特殊的事情,問題不在於爲每個項目過度複雜的解決方案。

1

我想請你看看開源項目,OpenMobster的同步服務。您可以執行所有類型的同步操作(雙向,單向客戶端,單向設備,啓動等)。除此之外,所有修改都會自動跟蹤並與雲同步。網絡連接斷開時,您可以讓應用程序脫機。它將跟蹤所有更改,並在連接返回時自動在後臺將其與雲同步。

目前在Android和iOS上只支持本機開發。然而,2.2-M8的下一個版本將支持與Android上的PhoneGap進行端到端集成,2.2-M9將添加iOS。

以下是開源項目的鏈接:http://openmobster.googlecode.com

相關問題