fugafuga.write

日々のログ

Service Worker について調べた

Service Worker とは

Service Worker はブラウザが Web ページとは別にバックグラウンドで実行するスクリプトで、Web ページやユーザのインタラクションを必要としない機能を Web にもたらします。すでに現在、プッシュ通知やバックグラウンド同期が提供されています。さらに将来は定期的な同期、ジオフェンシングなども導入されるでしょう。このチュートリアルで説明する機能は、ネットワークリクエストへの介入や処理機能と、レスポンスをプログラムから操作できるキャッシュ機能です。

なにができるの?

  • プッシュ通知
    • ブラウザを閉じていても通知が届く
  • バックグラウンド同期
    • ブラウザを閉じてもデータ送受信できる
    • オフライン操作
  • データのキャッシュ
    • ページや画像などを保存できる
  • ブラウザからのリクエストをフックしてゴニョゴニョできる

Rails と連携するために

rossta/serviceworker-rails を使う

  • ServiceWokerはHTTPS必須だがlocalhostドメインであればHTTPでも動く

参考

Rails で webpush

zaru/webpush

参考

注意点

  • デバッグ、テスト環境を整備しておく
  • キャッシュの同期、データ容量を考慮
  • プッシュ通知は適切に使用する
    • UXに密接に関わってくる

参考