SlideShare a Scribd company logo
1 of 16
最大公約数的なServiceWorker
制作から見るPWAの勘所
2019/4/17
@PWA Night
Ryunosuke Shindo
自己紹介
進藤 龍之介
エンジニア/日本Androidの会/しいたけの人
2018年 Web Working Group PWA 集中勉強会主催
WordPress プラグイン「PWA for WordPress」開発
オンライン診療サービス「YaDoc」開発に参加
Twitter @ryu_compin
Fb ryushindo
WordPress プラグイン
https://wordpress.org/plugins/pwa4wp/
プラグインであること
• みんなに使って欲しい
→みんなの環境や要件にマッチしやすくする
• みんなの環境にマッチしやすいPWA?
→最大公約数的な
PWAで何やりたいか(できるか)
• キャッシュ
• Push
• Background Sync
• オフライン(キャッシュの一種といえなくもない)
• インストール
• アイコン
プラグインの機能を絞った
• キャッシュ
• Push →思うところあってあとまわし(もしお金もらうならココかな、とも)
• Background Sync →汎用的な実装イメージわかず
• オフライン(キャッシュの一種といえなくもない)
• インストール
• アイコン
いつも言ってるけど、
キャッシュが命
できるだけ簡単な選択の幅を
基本キャッシュプランとして
Cache First と Online First
キャッシュの除外
キャッシュするもの、しないもの
↑大事
キャッシュされてはいけないものを除外する
キャッシュの有効期限
古いキャッシュを一定期間で捨てる
これから実装したい
Online First だけど一部 Cache First にしたい
Cache First だけど一部 Online First にしたい
最大公約数的キャッシュプラン完成型?
基本キャッシュプラン
Online First
Cache First
キャッシュ除外
(正規表現で柔軟にURLを指定)
キャッシュ有効期限
プラン反転指定URL
(Coming Next)
あとはprecacheとか追加的な機能もいろいろあるけど、そこは追々・・・
結局キャッシュプランの設計は・・・
キャッシュ{する|しない}要素の
切り分けが大事。
PWA 設計のちょっとしたヒントになれば幸いです。
最後に告知!
日本 Android の会
ABC 2019 Spring
2019/5/26
@東海大学高輪キャンパス
今年もモバイルWebトラックをやります!
PWA についてもっと掘り下げたい方、どっぷり半日PWAの話が聞けま
す!
PWA Nightセッションもあるよ!!!!
ぜひお越しください。
https://japan-android-group.connpass.com/event/125928/
もうひとつ告知
WordCamp Haneda 2019 でもPWAのお話しします!
4/20~21
※Session Day は20日(土)
会場:大田区産業プラザPIO
https://2019.haneda.wordcamp.org/
ありがとうございました。
PWA for WordPress ぜひお試しください
https://wordpress.org/plugins/pwa4wp/

More Related Content

What's hot

20110709 第1回jaz女子会 jaz紹介
20110709 第1回jaz女子会 jaz紹介20110709 第1回jaz女子会 jaz紹介
20110709 第1回jaz女子会 jaz紹介
Keiji Kamebuchi
 

What's hot (20)

NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020
 
JAZUG沖縄第二回 Azure App Service Web Apps
JAZUG沖縄第二回 Azure App Service Web AppsJAZUG沖縄第二回 Azure App Service Web Apps
JAZUG沖縄第二回 Azure App Service Web Apps
 
Fireworks lover advent calendar 2013
Fireworks lover advent calendar 2013Fireworks lover advent calendar 2013
Fireworks lover advent calendar 2013
 
NewsPicksでのAWS活用法
NewsPicksでのAWS活用法NewsPicksでのAWS活用法
NewsPicksでのAWS活用法
 
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
 
Webデザイナー視点で使ってみた Microsoft Azureの話
Webデザイナー視点で使ってみたMicrosoft Azureの話Webデザイナー視点で使ってみたMicrosoft Azureの話
Webデザイナー視点で使ってみた Microsoft Azureの話
 
Drupal deployment trial on Engine Yard
Drupal deployment trial on Engine YardDrupal deployment trial on Engine Yard
Drupal deployment trial on Engine Yard
 
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App InventorHands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
 
はやい!?うまい!?安い!?すべてのプラットフォームに届く「 PWA 」の魅力
はやい!?うまい!?安い!?すべてのプラットフォームに届く「 PWA 」の魅力はやい!?うまい!?安い!?すべてのプラットフォームに届く「 PWA 」の魅力
はやい!?うまい!?安い!?すべてのプラットフォームに届く「 PWA 」の魅力
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
 
GCPでCI環境を構築する
GCPでCI環境を構築するGCPでCI環境を構築する
GCPでCI環境を構築する
 
インフラ知識ゼロの「デザイナー」でもOK! Microsoft Azureの便利機能を Web制作的に活かしてみた話
インフラ知識ゼロの「デザイナー」でもOK!Microsoft Azureの便利機能をWeb制作的に活かしてみた話インフラ知識ゼロの「デザイナー」でもOK!Microsoft Azureの便利機能をWeb制作的に活かしてみた話
インフラ知識ゼロの「デザイナー」でもOK! Microsoft Azureの便利機能を Web制作的に活かしてみた話
 
What's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App PlatformWhat's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App Platform
 
Microsoft Azure WebAppsで ECサイトを構築してみた話 ~EC-CUBE3で試してみました~
Microsoft Azure WebAppsでECサイトを構築してみた話 ~EC-CUBE3で試してみました~Microsoft Azure WebAppsでECサイトを構築してみた話 ~EC-CUBE3で試してみました~
Microsoft Azure WebAppsで ECサイトを構築してみた話 ~EC-CUBE3で試してみました~
 
Web制作的に便利な機能満載!Microsoft Azureを使ってみよう
Web制作的に便利な機能満載!Microsoft Azureを使ってみようWeb制作的に便利な機能満載!Microsoft Azureを使ってみよう
Web制作的に便利な機能満載!Microsoft Azureを使ってみよう
 
継続的インテグレーションの過去・現在・そして未来 〜ヌーラボの事例と共に考える〜
継続的インテグレーションの過去・現在・そして未来 〜ヌーラボの事例と共に考える〜継続的インテグレーションの過去・現在・そして未来 〜ヌーラボの事例と共に考える〜
継続的インテグレーションの過去・現在・そして未来 〜ヌーラボの事例と共に考える〜
 
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
 
案件規模で使い分けよう!Microsoft Azure×WordPressの話
案件規模で使い分けよう!Microsoft Azure×WordPressの話案件規模で使い分けよう!Microsoft Azure×WordPressの話
案件規模で使い分けよう!Microsoft Azure×WordPressの話
 
エンジニア目線での対外ブランディング ~ヌーラボ編~
エンジニア目線での対外ブランディング ~ヌーラボ編~エンジニア目線での対外ブランディング ~ヌーラボ編~
エンジニア目線での対外ブランディング ~ヌーラボ編~
 
20110709 第1回jaz女子会 jaz紹介
20110709 第1回jaz女子会 jaz紹介20110709 第1回jaz女子会 jaz紹介
20110709 第1回jaz女子会 jaz紹介
 

Similar to 最大公約数的なServiceWorker制作から見るPWAの勘所

「やりたい!」が「できた!」に変わる。チームで作るWebサービス〜Scoobの場合〜
「やりたい!」が「できた!」に変わる。チームで作るWebサービス〜Scoobの場合〜「やりたい!」が「できた!」に変わる。チームで作るWebサービス〜Scoobの場合〜
「やりたい!」が「できた!」に変わる。チームで作るWebサービス〜Scoobの場合〜
Yu-ki Motoyama
 

Similar to 最大公約数的なServiceWorker制作から見るPWAの勘所 (20)

PWA4WP の ServiceWorker
PWA4WP の ServiceWorkerPWA4WP の ServiceWorker
PWA4WP の ServiceWorker
 
PWA has come!! / 2019/2/9 ABCD 浜松
PWA has come!! / 2019/2/9 ABCD 浜松PWA has come!! / 2019/2/9 ABCD 浜松
PWA has come!! / 2019/2/9 ABCD 浜松
 
PWA A Go-Go !! @ABC2018A 20181013
PWA A Go-Go !! @ABC2018A 20181013PWA A Go-Go !! @ABC2018A 20181013
PWA A Go-Go !! @ABC2018A 20181013
 
20190320 pwanight PWA to APK
20190320 pwanight PWA to APK20190320 pwanight PWA to APK
20190320 pwanight PWA to APK
 
wordcamp haneda 20190420 Apps Based on WordPress
wordcamp haneda 20190420 Apps Based on WordPresswordcamp haneda 20190420 Apps Based on WordPress
wordcamp haneda 20190420 Apps Based on WordPress
 
世界の最前線!VagrantやWP-CLIなどで開発環境をパワーアップ!
世界の最前線!VagrantやWP-CLIなどで開発環境をパワーアップ!世界の最前線!VagrantやWP-CLIなどで開発環境をパワーアップ!
世界の最前線!VagrantやWP-CLIなどで開発環境をパワーアップ!
 
Challenge PWA!! Technical Edition @JAG201809
Challenge PWA!! Technical Edition @JAG201809Challenge PWA!! Technical Edition @JAG201809
Challenge PWA!! Technical Edition @JAG201809
 
Challenge PWA!! TRY PWA4WP!
Challenge PWA!! TRY PWA4WP!Challenge PWA!! TRY PWA4WP!
Challenge PWA!! TRY PWA4WP!
 
WordPressとわぷーのGPL 奈良編
WordPressとわぷーのGPL 奈良編WordPressとわぷーのGPL 奈良編
WordPressとわぷーのGPL 奈良編
 
Webアプリの向こうに見えるPWAアプリ開発
Webアプリの向こうに見えるPWAアプリ開発Webアプリの向こうに見えるPWAアプリ開発
Webアプリの向こうに見えるPWAアプリ開発
 
Challenge PWA!! WordCamp Tokyo 2018
Challenge PWA!!  WordCamp Tokyo 2018Challenge PWA!!  WordCamp Tokyo 2018
Challenge PWA!! WordCamp Tokyo 2018
 
Dev tools introduction
Dev tools introductionDev tools introduction
Dev tools introduction
 
WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~
WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~
WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~
 
WordPressサイトをスマホアプリにしちゃおう!
WordPressサイトをスマホアプリにしちゃおう!WordPressサイトをスマホアプリにしちゃおう!
WordPressサイトをスマホアプリにしちゃおう!
 
PWA 総まとめ @ABC 2018 Spring
PWA 総まとめ @ABC 2018 SpringPWA 総まとめ @ABC 2018 Spring
PWA 総まとめ @ABC 2018 Spring
 
[徳島LT]網元ami on aws market place
[徳島LT]網元ami on aws market place[徳島LT]網元ami on aws market place
[徳島LT]網元ami on aws market place
 
「やりたい!」が「できた!」に変わる。チームで作るWebサービス〜Scoobの場合〜
「やりたい!」が「できた!」に変わる。チームで作るWebサービス〜Scoobの場合〜「やりたい!」が「できた!」に変わる。チームで作るWebサービス〜Scoobの場合〜
「やりたい!」が「できた!」に変わる。チームで作るWebサービス〜Scoobの場合〜
 
paizaのオンラインジャッジを支えるDockerとその周辺
paizaのオンラインジャッジを支えるDockerとその周辺paizaのオンラインジャッジを支えるDockerとその周辺
paizaのオンラインジャッジを支えるDockerとその周辺
 
AzureでLaravel動かしてみた
AzureでLaravel動かしてみたAzureでLaravel動かしてみた
AzureでLaravel動かしてみた
 
20150312 html5とか勉強会-lt-開発者に知ってほしいi pv6のこと
20150312 html5とか勉強会-lt-開発者に知ってほしいi pv6のこと20150312 html5とか勉強会-lt-開発者に知ってほしいi pv6のこと
20150312 html5とか勉強会-lt-開発者に知ってほしいi pv6のこと
 

最大公約数的なServiceWorker制作から見るPWAの勘所