ページのレンダリングのためにクライアント側のストレージからデータを処理する最良の方法は何ですか? 状況を明確にするために、柔軟な抽象アーキテクチャを使用する予定です。バックエンドで変更でき、フロントエンド部分で変更が発生するはずです。
たとえば、フロントエンドでは、フォームの基本構造 (利用可能なサービス、属性など) を持つ深くネストされた JSON を取得します。それを単純な配列として解析し、この配列をページのレンダリングに使用します (さまざまな種類のサービスに適切なウィジェットを使用します)。将来のために一部のクライアントストレージに保存し、ユーザーが再びページにアクセスしたときに、以前にクライアントからキャッシュされたデータをページレンダリングに使用します (サーバーに新しいサービスが追加されていない場合)。私が使用する予定のテクノロジは、angularJS、localForage、および angular-localforage lib です。だから、私は次の質問があります:
- データを処理する最善の方法は何ですか- クライアント ストレージから (特定のページに関する) 配列全体を 1 回のトランザクションで取得し、それを Angular アプリに入れ、アプリからページ レンダリングに使用する予定です。それは適切で効果的ですか?それとも、サービスごとに小さなトランザクションで日付データを取得する必要がありますか? データをクライアント ストレージにキャッシュする場合と同じ質問です。
- 大きなトランザクションがある場合、他の処理が遅くなるリスクはありますか? または、このリスクはラッピングまたはストレージ アーキテクチャで中和されますか?
- ユーザーがストレージ タイプを変更した場合の移行に関する実際の情報を見つけることができませんでした。たとえば、localStorage から indexeddb に変更しました。問題は未解決なので、毎回ストレージのタイプを確認し、変更された場合はサーバーからデータを再キャッシュする必要があるようです。それが唯一の可能な方法ですか?
- 選択したアーキテクチャ/テクノロジーに問題/欠点はありますか? 何かを変更または追加するようにアドバイスできますか?
- localForage が提供する単純なキーと値の構造でデータを検索するには、何が適切ですか? たとえば、parent_id=42 の要素が必要な場合、アプリに必要なデータ全体を取得して整理し、アプリでクエリを実行する必要がありますか? または、いくつかのトリッキーなストレージ構造を行いますか? それとももっと良い方法がありますか?