1

オフライン機能を備えた Web アプリの開発を検討しています。すべてのクライアント フォーム ポストバックを JSON オブジェクトとしてフォーマットし、これらをフォーム ポストバックの HTML5 LocalStorage に直接書き込むことを検討しています。次に、LocalStorage で JSON エントリを非同期的にポーリングし、これらをサーバーに送信する別のプロセスを作成します。このサーバー同期プロセスには、UI コンテキストはありません。実際のユーザー UI は非常に応答性が高くなります。(キャッシュ マニフェスト ファイルを使用して、その他のオフラインの問題に対処します)。

これは健全な計画ですか? また、非同期 JSON ポスト プロセスの技術的な最適な実装は何でしょうか? (おそらくタイマー、LocalStorage をポーリングし、毎秒サーバー接続をチェックしますか?) サーバー同期を実装するより良い方法はありますか? )

ありがとう。

4

2 に答える 2

0

最後に、次のように単純な setInterval を使用しました。

setInterval("SyncLocalStorageToServer()", 4000); // Loop at 4 second intervals

次に、localStorage エントリをループ処理する関数を呼び出し、各エントリを順番にサーバーに送信します。

于 2011-05-03T18:12:57.387 に答える
0

昨年、HTML5 ブラウザーのみでアプリをオフラインで実行するテストを行いました。

このアプリは JSON サービスに基づいており、lib: pure.jsを使用してクライアント側でレンダリングされます。オフライン アクセスがなくても、同様のアーキテクチャを使用するだけで、非常に応答性の高いアプリを取得できます。

JSON サービスの呼び出しが失敗した場合、オフラインであると見なされ、代わりにローカル ストレージが使用されました。
通話がオンラインで行われると、オフライン キューのステータスがチェックされ、必要に応じて同期されます。

しかしその後、クライアント上でいくつかのサーバー検証ロジックを複製し始めました。そして、保存されたデータが暗号化されていないことを発見しました。javascryptのようなものでも、どこかにキーが必要であるか、パスワードキーを設定する必要があります...では
、クライアントに何を保持しますか? すべての?最後に見たアイテムは? データ変更の衝突をどのように処理しますか?

私の賭けは、一般的にオンラインである今日のモバイルネットワークで、アプリをオフラインにしようとするよりも、モバイルでうまく動作させる方が簡単です.
今のところ、オフラインでの取り組みを中止しました。

于 2011-05-02T12:22:53.313 に答える