2012-01-17 8 views
3

Android用PhoneGapアプリケーションを開発中です(iOSでも動作します)。オンライン/オフラインモバイルシンク用ライブラリ

アプリはオンライン/オフラインになります。私は現在、サーバー側でWCF JSONサービスにajax呼び出しを行うためにjavascript/jqueryを使用しています。

これは私の同期メカニズムです。非常に特別なので、データベーステーブルxから同期する必要があります。そのため、データをロードしてサービスに公開するために、サーバー側にコードを記述します。私はクライアント側でいくつかのコードを書いて、そのメソッドをサービス上で呼び出し、それをクライアント側のデータベースに同期させます。

データが矛盾しないことを確認することは、必要に応じて自分自身をかなりロールします。

このようなデータを同期するライブラリがあるかどうか疑問です。 SQLレプリケーション(SQLレプリケーションではない)のようなものを考えてみましょう。

私はこのように多くのアプリケーションを書くことができるので、一般的なソリューションが理想的です。

更新日:

この問題は再度修正されました。なぜ私たちはオフラインのデータベースを持ち、デバイス上にHTMLページとJavaScriptをキャッシュすることを指定しているHTML5標準を持っていますが、標準的なデータ同期方法はありません。

これは、アプリケーションでオフラインにできることを期待していることを示しています。

確かに、最初に開発しなければならない単純なアプリケーションで行うのは簡単かもしれません。

しかし、私たちが書いてくれる次のアプリはもっと​​複雑になります。

答えて

1

afaik、ありません。それは主に、同期したいデータの種類、および紛争解決の戦略に依存 Data Synchronization framework/algorithm for server<->device?

誰かがすでにDjangoのための同様の質問をします。

競合を解決する必要がない場合は、接続が再確立されたときに、単純なtransactionIDと、サーバーおよびクライアントでの欠落したトランザクションの再生を行います。

私はこれまで非常に特別なことをしてきました。問題は各プロジェクトの解決策を過度に複雑にしていません。

1

あなたは、私がオープンソースプロジェクト、OpenMobsterの同期サービスを見てみることをご招待したいと思いpersistence.js sync

1

を試してみました。すべてのタイプの同期操作(双方向、一方向クライアント、一方向デバイス、ブートアップなど)を行うことができます。それ以外に、すべての変更は自動的に追跡され、Cloudと同期されます。ネットワーク接続が切断されると、あなたのアプリケーションをオフラインにすることができます。変更があれば追跡し、バックグラウンドで自動的にクラウドと同期させます。

現在のところ、AndroidとiOSではネイティブ開発のみがサポートされています。しかし、2.2-M8の次のリリースは、AndroidのPhoneGapとのエンドツーエンドの統合をサポートし、2.2-M9はiOSを追加します。

ここにオープンソースプロジェクトへのリンクがあります:http://openmobster.googlecode.com