iyuichiの私的開発ログ

渋谷で働くWebエンジニアのログ. Java, Android, iOS, Docker, GCP, AWS, ゲーム開発

プログレッシブウェブアプリってなんだ?

明日Google for Mobileというイベントが横浜で開催されます。
Google for Mobile 2016 | PROGRAM
私の勉強不足ですがそのセッション内容を見ていて"プログレッシブウェブアプリ"という単語が気になり調べてみました。

グーグルのデベロッパーサイトに記事があるんですね。
プログレッシブウェブアプリの定義としては"ウェブとアプリの両方の利点を兼ね備えたアプリ"とのこと。
はじめてのプログレッシブ ウェブアプリ | Web Fundamentals - Google Developers

アプリの利点としては以下ができることなのかなと思います。

  • ホーム画面にアイコンを表示
  • 全画面表示
  • プッシュ通知

また、

  • オフラインでも動作可能( Service Workerを使ってキャッシュしておく)
  • サクサクした操作感( App Shell モデルを使って実装)

こんなことでアプリの良い点は失わないままにウェブの更新性の良さや、手軽さを持っているものが作れますよということらしい。

アプリにしなくてもプッシュ通知が送れるのは大きいですね。

App Shell モデルに関してはGitHubにデモのソースがあるようですのでこちらを動かしてみるのが理解するの早そう。
GitHub - GoogleChrome/application-shell: Service Worker Application Shell Architecture

以前のGoogle for Mobileでも同様のセッションがあったんですね。
【Develop】スマートフォン体験を一歩先へ - プログレッシブウェブアプリの作り方 - YouTube

ちなみにセッションで話されている内容で「へー」と思ったのが、
スマホユーザが1日にスマホを使う時間は2時間もなく、そのほとんどの時間を上位80%のアプリが占めていると。
なので他のアプリはインストールはされていてもほとんど使われていない状況だとのこと。

Progressive Web App Summit 2016なんていうのもあったようです(英語)
Progressive Web App Summit 2016 - YouTube

このQiiteの記事もわかりやすい。
Google Developers Summit Tokyo 2016 | Progressive Web Apps | 参加まとめ - Qiita

こういった実装を作りやすいフレームワークなどが出てきたらまたアプリからWebに回帰するかもしれないですね。
プッシュ通知が使いたいがためにアプリにしてWebViewで表示させているサービスサイトって結構ありそうだし。

明日はFirebase関連を中心に回ろうと思っているのでプログレッシブウェブアプリのセッションを聞くかわかりませんが(汗
個人的に期待度高い方向性だなと思いました!