2016-09-16 6 views
0

私は一般的にモバイルアプリを構築するのが比較的新しいですが、私は経験豊かなウェブ開発者です。リアルタイム複数のデバイス間でデータを同期する

私が予定リストアプリを構築しているとしましょう。 Androidユーザーはリストを作成し、アイテムをアイテムに挿入できます。リストとその内容は、レルムDBを介してデバイスに保存されます。

一部のリストは他のユーザーと「共有」できます。リストの変更は、リスト上で共同作業しているすべてのユーザーにリアルタイムで表示されます。

リスト、ユーザー情報などを格納するオンラインサーバーを用意する予定です。実際には、サーバーとの「Webソケットのような」インターフェイスに自分のモバイルアプリケーションを登録するのは比較的簡単ですか? DBは同期しますか?

これは、MySQLまたはPostgreSQLのようなリレーショナルDBを介してサーバーにデータを保存し、データベースが変更されたときにJSONペイロードを提供することで実現すると想定します。

AndroidアプリがWebソケットのようなサーバーからの変更をリッスンするのは簡単ですか?コンフリクト、ネットワークの可用性などを管理する必要があることを理解しています。

+1

は、同期は、条件付きにする必要がある場合、私は私の必要性だけでなく、すべてのユーザーデータごとにデータを同期する必要がある場合は言うことができますどのようなFirebase :-) –

答えて

1

Firebaseを使用することをお勧めします。リアルタイムの同期は非常に簡単です。デバイスに最後に更新されたデータを保存するので、サーバー側で発生するデータの変更について心配する必要はありません。インターネットに接続すると、自動的に最新のデータが同期され、オフラインストレージに保存されます。また、データをjson形式で格納します。

0

多くのモバイルアプリケーションは、クライアント - サーバーモデルで動作している場合に、中央リポジトリとデータを交換するためにサーバーとデータを同期する必要があります。

サーバーがREST APIを通じてリソースを提供する場合、すべての同期ロジックをクライアント側で処理できます。 同期ロジックは、中央サーバーと複数のクライアント間の双方向同期を処理できます。この場合、何らかの競合検出で増分変更のみが両側に適用されます。あなたが探しているもの

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

+0

のですか? – prasoon

+0

それは完全にです。あなたはそのことをどのように管理していますか?特定のデバイスに対して独自のロジックを作成することができます。たとえば、ユーザーまたはデバイスの同期が必要な場合、そのデバイスにプッシュ通知を送信し、一部の情報が変更されていることを通知して、クライアントがそのユーザーの同期APIを呼び出すようにします –

関連する問題