Service Worker とは
Service Worker はブラウザが Web ページとは別にバックグラウンドで実行するスクリプトで、Web ページやユーザのインタラクションを必要としない機能を Web にもたらします。すでに現在、プッシュ通知やバックグラウンド同期が提供されています。さらに将来は定期的な同期、ジオフェンシングなども導入されるでしょう。このチュートリアルで説明する機能は、ネットワークリクエストへの介入や処理機能と、レスポンスをプログラムから操作できるキャッシュ機能です。
なにができるの?
- プッシュ通知
- ブラウザを閉じていても通知が届く
- バックグラウンド同期
- ブラウザを閉じてもデータ送受信できる
- オフライン操作
- データのキャッシュ
- ページや画像などを保存できる
- ブラウザからのリクエストをフックしてゴニョゴニョできる
Rails と連携するために
rossta/serviceworker-rails を使う
- ServiceWokerはHTTPS必須だがlocalhostドメインであればHTTPでも動く
参考
Rails で webpush
参考
注意点
- デバッグ、テスト環境を整備しておく
- キャッシュの同期、データ容量を考慮
- プッシュ通知は適切に使用する
- UXに密接に関わってくる
参考
- 入門記事
- できること
- https://qiita.com/y_fujieda/items/f9e765ac9d89ba241154
- MDN
- Googleの解説
- Rails + ServiceWorker
- 日経電子版 PWA知見