最近、ブラウザが提供するWebSQLとIndexedDBに出くわしました。これらが使えるユースケースを理解したい。
Web SQLは、 https://www.w3.org/TR/webdatabase/ ごとに非推奨になりました。
サーバー側に保存しない構造化されたクライアント固有のデータを保存する必要がある場合、またはサーバーから毎回要求したくない場合は、IndexedDB
を使用できます。
また、localStorage
とは対照的に、IndexedDB
は非同期であるため、パフォーマンスが向上します。インデックス作成をサポートしているため、単なるKey-ValueストアであるlocalStorage
よりも効率的なクエリが可能です。ただし、ニーズが単純な場合は、localStorage
の方が適している可能性があります。
ここ は、さまざまなWebストレージオプションについて説明しているリンクです。 ここ は、プログレッシブWebアプリでIndexedDB
を使用する方法についてのチュートリアルです。
ここに行く前に; 親切に注意:Web SQLデータベース
、ブラウザベンダーは、このテクノロジをサポートすることを推奨されていません。これを読んでいる人は誰でも、この事実を理解して実践することが重要です。詳細については ここ を確認してください...
ここで、質問の他の重要なセグメントに戻ります。
IndexDBのユースケースといつ行うか?
つまり;
IndexDbを使用すると、オブジェクトや配列など、JavaScriptタイプのデータをシリアル化せずに保存できます。データベースに対するすべてのリクエストは非同期であるため、リクエストが完了するとコールバックを受け取ります。
他の典型的でありながら強力なユースケースは次のとおりです。ネットワークが利用可能なときにデータを同期しながらオフラインで動作する必要があるアプリケーション。有名な例は Wunderlist で、オフラインでもタスクを追加および編集できます。これらの操作は同期キューに入れられ、ネットワークが再び利用可能になると処理されて空になります。
うまくいけば、それはあなたがそれをどのように表現したかに従ってあなたの質問に答えました