- キャッシュ戦略 - ストレージ選択 についてまとめてあります。
PWAೖߨ࠲Part3ʔ PWAͷجૅᶅ ʔ
View Slide
࣍▹ PWAʹ͓͚ΔΩϟογϡͷλΠϛϯά▹ Ωϟογϡઓུ▹ ετϨʔδͷબ2
PWAʹ͓͚ΔΩϟογϡͷλΠϛϯά
Ωϟογϡͷ༻λΠϛϯάʢ1ʣ4タイミング 動作・用途・キャッシュ対象Install時 • 依存関係として静的アセット• 非依存関係として、すぐに必要ないサイズが大きいリソースActivate時 • 不要なキャッシュの削除• IndexedDBのスキーマ移行• 古いSWがActive時にやり残した処理ユーザ操作時 • 「あとで読む」や「オフライン用に保存」ボタンクリック時のリソース取得ネットワークの応答時 • 受信トレイや記事コンテンツなど、頻繁に更新されるリソース• キャッシュ内にリクエストに一致するものがあればキャッシュを使用
Ωϟογϡͷ༻λΠϛϯάʢ2ʣ5タイミング 動作・用途・キャッシュ対象プッシュメッセージ時 • 通知に関するコンテンツ(チャットメッセージ、ニュース速報、メール)• 即座に同期する必要があるコンテンツ(ToDoリストのアップデートなど)バックグラウンド同期時• ソーシャルメディアのタイムラインなど、急を要さないアップデート
Ωϟογϡઓུ
Ωϟογϡઓུ7戦略 説明キャッシュのみ • 静的アセット(install時キャッシュしたもの)ネットワークのみ • GET以外のリクエストなど、オフラインに相当しないものキャッシュファースト(オフラインファースト)• キャッシュになければネットワークから取得キャッシュとネットワークの競争• キャッシュ、ネットワークの双方を利用し、速い方を採用• ディスクアクセスが低速な端末でのパフォーマンス追求ネットワークファースト • 頻繁に更新されるリソース• ネットワーク低速時に待ちが発生先にキャッシュ、次にネットワーク• 頻繁に更新されるリソース• とりあえずキャッシュから取得し、ネットワークから取得した時点で更新• 閲覧中のコンテンツが更新されるとユーザの混乱を招く
ετϨʔδͷબ
ετϨʔδͷબ9タイプ 使用するものローカルkey-valueストア• Cacheローカル構造化ストレージ• IndexedDBグローバルバイトストリーム• Cloud Storageଟ͘ͷϒϥβͰαϙʔτ͞Ε͍ͯΔ͜ͱɺඇಉظI/OͰ͋Δ͜ͱ͕બఆͷج४ͱͳΔ
END