JavaScript
browser

Service Workersについての初歩

概要

ブラウザでもネイティブアプリのようなことができるようになるらしい技術らしいということでメモ

ブラウザが Web ページとは別にバックグラウンドで実行するスクリプトで、Web ページやユーザのインタラクションを必要としない

ブラウザの対応状況

直近でEdgeとSafariが対応したということで主要なブラウザで対応可能になった

  • Chrome
  • FireFox(not プライベートブラウズモード)
  • Edge
  • Safari

主な機能

  • バックグラウンドでのデータ同期
  • プッシュ通知
  • キャッシュ

その他の使用例などは下記の参考サイトに

その他

  • プロキシサーバのようなもの
  • 利用するにはプロセス(ダウンロード → インストール → 有効化)が必要
  • オリジンまたはサブセット内に対して上記のプロセスは実行される
  • 以下はポイントになりそう?
サービスワーカーは worker のコンテキストで実行されます。従って、 DOM へアクセスすることができず、
アプリを実行する主要な JavaScript とは異なるスレッドで実行されるため、ブロックされることはありません。
完全に非同期で設計されています。
そのため、同期型の XHR や localStorage のような API をサービスワーカーで利用することはできません。

概要図

IMG_4463.JPG

所感

できることが増えるということは、より便利なものが提供できると同時に
悪用もできる幅が増えるということなので注意が必要になるなと感じました。
実績が増えるにつれ良し悪しに関わらず様々な事例がでると思うので追っていきましょう。

ネイティブアプリをインストールするほどではないが、あると便利なツールくらいの立ち位置になるのか。。。
脱プラットフォーム課金を目指してか。。。

参考

GoogleによるService Workerの紹介
MDN web docs(原文)
MDN web docs(日本)