Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
PWAを活用している_ガジェットアプリの話.pdf
Search
anozon
October 25, 2021
Programming
27
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PWAを活用している_ガジェットアプリの話.pdf
anozon
October 25, 2021
More Decks by anozon
See All by anozon
VSVimの間合いですよ
anozon
0
110
埼玉県の描き方.pdf
anozon
0
41
Other Decks in Programming
See All in Programming
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
120
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
120
Hono + Inertia + React で LP を構築した話
oukayuka
2
220
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
300
Swift愛好会100回記念 第1回を振り返る
jollyjoester
0
120
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
130
What We Talk About When We Talk About XP
m_seki
2
450
Laravelのアプリケーションをどこにデプロイするか #ツナギメオフライン.9
akase244
0
120
AIの中の人になってみる
htkym
0
170
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
490
typoなんかねぇよ
raspython3
0
680
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
5.5k
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
490
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
320
Design in an AI World
tapps
1
310
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
520
Exploring anti-patterns in Rails
aemeredith
3
500
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
450
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Transcript
PWAを活用している ガジェットアプリの話 あのぞん(えるざっぷ)
About me @anozon あのぞん🌏.tsx (@anozon) elzup (elzup) · GitHub 株式会社プランクユニッツ
PWA初心者 React,TypeScript Firebase, hooks で Redux 離れが進んでる
こんなアプリを作っています Mitelop ガジェットツール集 タイマー/Todoリスト /編集点/みどころ記録 プログラミング配信で使えそうなもの 自分でツールとしてほしいもの Web URL: https://mitelop.anozon.me/
GitHub: elzup/mitelop https://github.com/elzup/mitelop
こんなアプリを作っています Mitelop 使っている技術 TypeScript, React Next.js (極力SSG) styled-components 好き Material
UI (そろそろ外せそう) Netlify
かっこいいロゴ作れたと思ったら.. ダークモードで微妙だった デザイン難しい。。。
Mitelop と PWA関連の話 (PCブラウザがメイン) theme-color とフレームの色 (デモ) PWA モードのときだけ挙動や見た目を変える PWA
のローカルでバッグ
theme-color とフレームの色
ちょっとでもコンパクトなガジェットにしたい ブラウザアプリだとヘッダー (フレームの範囲)が多い → このくらいフラットにできた 子ウィンドウ PWA PWA theme色背景色統一 theme-color
とフレームの色
<meta name=”theme-color” /> を変更すると リアルタイムに変わる https://mitelop.anozon.me/color theme-color とフレームの色
これ以上はネイティブじゃないとできなさそう - 長方形以外 - フレームの丸み - ひし形 - 透過ウィンドウ などなどできたら嬉しいので期待
theme-color とフレームの色
PWA モードのときだけ 挙動や見た目を変える
PWAで起動してるときは見た目を変えたい 例: ヘッダーを削除したい PWA モードのときだけ挙動や見た目を変える
CSSはメディアクエリで簡単 @media (display-mode: standalone) を使う PWA モードのときだけ挙動や見た目を変える
CSSはメディアクエリで簡単 PWA モードのときだけ挙動や見た目を変える スッキリ
JSで値を取りたい場合は? PWA モードのときだけ挙動や見た目を変える window.matchMediaが使えます window.matchMedia('(display-mode: standalone)').matches
JSで値を取りたい場合は window.matchMedia('(display-mode: standalone)').matches PWA モードのときだけ挙動や見た目を変える
JSで値を取りたい場合は window.matchMedia('(display-mode: standalone)').matches PWA モードのときだけ挙動や見た目を変える
react-hooks 化した PWA モードのときだけ挙動や見た目を変える const mql = window.matchMedia('(display-mode: standalone)') mql.addEventListener('change',
listener) で変更イベントの検知ができる → useIsStandalone (useIsPwaMode) hooks を作ってみた
react-hooks 化した PWA モードのときだけ挙動や見た目を変える () =>
react-hooks 化したが・・・ PWA モードのときだけ挙動や見た目を変える ここで気づく mediaQuery (今回は ‘display-mode: standalone’) は引数にして汎用的になるん
じゃね? → シンプルだし便利だから既にあるんじゃね? →
react-hooks 化したが・・・ PWA モードのときだけ挙動や見た目を変える ここで気づく mediaQuery (今回は ‘display-mode: standalone’) は引数にして汎用的になるん
じゃね? → シンプルだし便利だから既にあるんじゃね? → ありました react-use https://github.com/streamich/react-use/blob/master/docs/useMedia.md
react-use useMediaのコード 大筋は同じ実装だったが mounted 変数の意味は謎
react-hooks 化したが・・・ PWA モードのときだけ挙動や見た目を変える ということでこんなにシンプルに使えます
PWA のローカルでバッグ (もはや PWA 初心者がどうやってやったのかの話 )
PWA化 は https が要件の1つ PWA のローカルでバッグ ローカルで https を使いたいと気に使っているサービス ngrok
https://ngrok.com/
ngrok で PWA ローカルデバッグしてみた ちゃんとインストールできる PWA のローカルでバッグ
ホワイトアウト問題に悩まされる • 別のプロダクトでホワイトアウトに悩んでる • キャッシュのテンプレ設定しかしていない • 古い js を参照しにいってしまう •
↓正しいパターン? a. 更新ボタンで unregister し新しいのを参照させる b. 常に更新する • next-pwa を使っている • use-service-worker • https://github.com/JCofman/react-hook-use-service-worker
About me @anozon https://twitter.com/anozon https://github.com/elzup PWA初心者 React,TypeScript