オフライン/オンラインデータ同期設計 (Javascript) [closed] 質問する

オフライン/オンラインデータ同期設計 (Javascript) [closed] 質問する

私は現在、オフライン サポート用の HTML5 のすべての機能を使用してオフライン Web アプリケーションを作成中です。ただし、オフライン データがサーバーに送信され、サーバー データがクライアントに返されることを保証する同期モジュールの作成について検討し始めています。これは以前にも行われたことがあるはずです。つまり、これはモバイル デバイスやその他の多くのものに影響する、かなり典型的な設計上の問題です。そのため、このようなことに関する優れた設計リソースを誰か教えていただけませんか?

今のところ、これに関してあまり高度な処理は必要ありません。つまり、複数のユーザーが同じデータにアクセスすることを処理しているわけではなく、競合をマージしない (最新のものを取得するだけ) ことに満足していますが、それでも将来的にはそれらのオプションを許可する設計が望ましいです。

また、このようなものを実装しているオープンソース プロジェクトはありますか? ライセンスが許せば、他の人のコードを盗用することもいといませんし、喜んで移植します。

ベストアンサー1

私も同様の問題を抱えていました。そこで、純粋に JSON 入出力のアプローチを使用することにしました。フォーム送信に関して私が採用している解決策は次のとおりです。

  1. フォーム送信イベントをキャッチする
  2. ユーザーがオンラインかどうかを確認する
  3. もしユーザーはオンラインです通常のフォームPOSTとしてフォームを送信します
  4. もしユーザーはオフラインです次に、JSON リクエストを文字列化し、ローカルに保存します (Web SQL データベースを使用することにしました)。キュー テーブルは、単純に Uri と Payload です。

次に、オンライン/オフライン イベント用のグローバル イベント フックを用意します。ユーザーがオンラインに戻ると、キューがチェックされ、キューにアイテムがある場合は、JSON POST リクエストとして送信されます。

主に興味のある方は取得JSONデータとそれをオフラインでの使用のためにキャッシュする方法については、jquery.オフライン

両方向の同期の課題は、キューに入れた CRUD 作業でローカルにキャッシュされたリストを更新する必要があることです。

これを行うためのより一般的な方法を見つけたいと思います。

おすすめ記事