LoginSignup
2
0

More than 3 years have passed since last update.

PWA 用語メモ

Last updated at Posted at 2019-04-23

PWA 関連の用語がこんがらがるので整理メモ。適時更新。
Cache 部分に関しては Workbox のドキュメント参照してるので Workbox の仕様寄り。
考え方は PWA 共通の内容のはず。

Cache 関連

Precache

ServiceWorker のインストールと同時にキャッシュされる内容。PWAのコア部分(基本的に変更が無い or 変更頻度が少ないファイル)をキャッシュさせる。ここで指定されたファイル群はページで表示(取得リクエスト)されて無くても ServiceWorker のインストールと合わせてまるっとキャッシュされるっぽい。

有効期限は無し。Workbox の場合キャッシュファイルリストが更新されて不要なものが発生したらその時点で削除される(フルスクラッチで書いた場合は大元のキャッシュ名その物を変えれば消えるかと思ったけど消えなかったのでよくわからなかった)。

キャッシュさせるファイル群はフルスクラッチで書くとそもそも管理しきれない & ServiceWorker 更新しても上記のように上手くキャッシュが更新されない現象に出会う頻度が高くなって何をやっているのかわからなくなる。Workbox はその部分をしれっとカバーしてくれるので便利ね、うふふってなる。

RuntimeCache

リクエストに対するキャッシュコントロールを行える。RuntimeCache は差分検出と削除の仕組みが無いらしく、明示的に有効期限を設定したほうが良いらしい。Workbox Strategies にイメージ図有り。RuntimeCache でハンドリングできる種類は以下。

CacheFirst

キャッシュから優先して取得。キャッシュにまだなければネットワークから取得。最初 Precache との違いがよくわからなかったけどととりあえず明示的にリクエストしているかの違いと解釈。

CacheOnly

キャッシュからのみ取得。

NetworkFirst

ネットワークから優先して取得。ネットワークから取得に失敗した場合はキャッシュから取得。

StaleWhileRevalidate

キャッシュから優先して取得しつつ、次回アクセス時に備えてバックグラウンドでネットワークから更新をフェッチしてキャッシュを更新。

参考

キャッシュに関してはとりあえず以上。
キャッシュ処理だけでも色々考えること多くて WEB ページ作成もなんか複雑になってきたなぁと。

Push 関連

Firebase が使い易そう。もうちょい理解が進んだら整理。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0