2016-09-16 59 views
0

我對通常構建移動應用程序比較陌生,但我是一位經驗豐富的Web開發人員。實時同步跨多個設備的數據

比方說,我正在構建一個待辦事項列表應用程序。 Android用戶可以創建列表並用項目填充它們。列表及其內容將通過Realm DB保存在設備上。

某些列表可與其他列表「共享」。所有在列表上進行協作的用戶都會實時顯示對列表的修改。

我計劃有一個存儲列表,用戶信息等的在線服務器。據說,將我的移動應用程序註冊到與服務器的「網絡套接字」接口相對簡單,以獲得實時DB同步?

我認爲這將通過像MySQL或PostgreSQL這樣的關係數據庫將數據保存在服務器上完成,並在數據庫發生更改時提供JSON有效負載。

讓Android應用程序監聽來自服務器的更改很簡單嗎,就像web套接字一樣?我知道我將不得不管理衝突,網絡可用性等。

+1

你要尋找的是火力地堡:-) –

回答

1

我建議你使用Firebase。由於實時同步非常簡單。由於它將最新更新的數據存儲在設備上,因此您不必擔心服務器端發生的數據更改。當它連接到互聯網時,它會自動同步最新數據並將其存儲到離線存儲中。並且它以json格式存儲數據

0

許多移動應用程序需要與服務器同步數據(如果它們在客戶機 - 服務器模型中操作以與中央存儲庫交換數據)。

如果服務器通過REST API提供資源,則可以在客戶端處理所有同步邏輯。 同步邏輯能夠處理中央服務器和多個客戶端之間的雙向同步,其中只有增量更改適用於雙方並進行一些衝突檢測。

http://havrl.blogspot.in/2013/08/synchronization-algorithm-for.html

+0

如果有什麼需要同步是有條件的,可以說,如果我需要同步的數據按照我的需要,而不是所有的用戶數據? – prasoon

+0

它完全依靠。你如何管理這些事情。您可以爲特定設備制定自己的邏輯。例如:我想同步用戶或設備,然後您發送推送通知該設備並通知某些信息已更改,因此客戶端將調用該用戶的同步API –