会社の Web アプリをオフラインで利用できるようにする任務を負っています。実際の開発フェーズに移る前に、現在の戦略が破綻しないことを確認したいと思います。
最初にhtml5アプリキャッシュの使用を考えましたが、いくつかのテストを行った後、サーバー側の操作ではなく、レンダリングされる実際のhtmlをキャッシュしているように見えることがわかりました(間違っている場合は修正してください)。レンダリングされた html は現在ログインしているユーザーに依存するため、これは機能しません。私のテストでは、最後にログイン (オンライン) した人がログインしているかのように常に html をレンダリングしました。
私の現在の戦略は次のとおりです。オフラインで使用する必要がある各 aspx ページに対応するために、ログイン ページとオフライン (.html) ページのみをキャッシュします。ログイン (オンライン) が成功するたびに、Web SQL データベースまたは IndexDB (ブラウザーによって異なります) が作成または更新され、そのユーザーがオフラインで操作するために必要なすべてのデータ (ログイン資格情報に使用されるテーブルを含む) が作成または更新されます。このように、オフラインでログインするための唯一の要件は、ログイン資格情報で少なくとも 1 回ログインすることです。
私の懸念は、私がそれを過度に複雑にしていることです。これを機能させるには、現在のページ (多数のページ) ごとに html ページを作成する必要があり、検証、データベース呼び出し、コントロールの入力など、現在サーバーで行われているすべてを JavaScript で書き直す必要があります。ドロップダウン リストやデータ グリッドなど。また、将来変更するものはすべて、後でオフラインで変更する必要があります。
私がやろうとしていることについて、私が見落としている確立されたベスト プラクティスはありますか?