『PWA Beginners 勉強会 #3』の5つのLTでPWA入門
PWAに興味津々なので、『PWA Beginners 勉強会 #3』というイベントに参加しました!
PWAについての勉強会は少ない印象なので、そういった意味では貴重かなと思いました!
https://pwa-for-beginners.connpass.com/event/83181/
当日の様子は以下からご確認ください!
LT1: 「WebでアプリなPWA、実際に本気でプロダクトを作ってみて見つけた悩み処」 ShoheiKoyama
使用技術
- PWA
- Vue.js
- Onsen UI
- Python
WebのUX?AppのUX?
- ユーザーにどうやってPWA化してもらうか?
- How toを載せてしまう?
- PWA的な説明をいきなりするのは辛い!
- 説明しなくてもいい?
- How toを載せてしまう?
- PWA化したあと、どうやってアップデートを促す?
- キャッシュの更新
- パターン
- NativeApp -> PWA
- Web -> PWA
- いきなりPWA
- NativeApp+Web -> +PWA
ユーザーに何を届けたいか?
LT2: 「プログラミング愛してま〜す!『PWAを簡単に使える方法!!』」 daisu_yamazaki
自己紹介
- "遅咲きエンジニア 山崎"
今日話すこと
- WebAppManifest
- ServiceWorker
動作環境チェック!
- Can I Useで"Service Workers"を検索!
"Lean Canvas."
Chrome開発者ツールでPWAをデバッグする
- Applicationタブ
- Manifest
- Sercice Worker
- Clerar storage
WebAppManifest
- HTML側でmanifestファイルを読み込む
<link rel="manifest" href="/manifest.json">
- できること
- アイコン表示
- 制御起動(OFFLINE)
- 「ホーム画面に追加」
- よくあるトラブル
- Applicationタブにmanifest.jsonが表示されない!
- 読み込みエラー?
- AddToHomescreenが出ない!
- start_urlが設定されていない?
- Applicationタブにmanifest.jsonが表示されない!
- その他のプロパティ
display
standalone
- ステータスバーは表示
fullscreen
- バーを全て消す
orientation
- 縦か横か
theme_color
- スプラッシュ画面の背景
serviceWorker
- serviceWorkerを登録
window.addEventListener('load', function() { if('serviceWorker' in navigator) { navigator.serviceWorker.register('/sw.js') } });
- workerScriptとして別世界で実行される
- DOM操作はできない
- sw.jsの内容
- キャッシュしたいファイルの指定
- 絶対にキャッシュしたいものと、できればしたいものを、分けるといいかも
- キャッシュを使用する場合とそうじゃない場合の処理
- fetchイベントにハンドラを登録する
- キャッシュしたいファイルの指定
- sw.jsの内容は、Google.comも他のサイトもほとんど変わらない
- 以下のリポジトリが、サンプルとしておすすめ
LT3: 「HNPWAの紹介」 tipo159さん
アジェンダ
- HNPWAとは?
- HNPWAの仕様
- ネットワーク設定
- 注意事項
HNPWAとは?
- PWAで作ったHacker Newsリーダーの実装例を集積するサイト
- todoMVCの精神的な後継者
HNPWAの仕様
- 主な仕様
- 各ビューを実装
- 各ビューは、シェア用のルーティングを使用している
- ページあたり30アイテム
- LighthouseでPWAスコアが90/100
- API
注意事項
- フレームワークの性能比較には使えない
- 仕様が緩い
- サーバー性能に依存する
- 実装時期が異なる
LT4: 「ServiceWorker on Rails」 ykyk1218さん
話すこと
自己紹介
- basic社でferretを運営
- PWAを実践に投入していくフェーズ
SW用のJSファイルをどこに置くか?
- assets/javascriptに置きたい
- service-worker-railsを使うと、パスを変換してくれる
(ここでChromeがフリーズしたので記録が途絶えている...すいません...)
- 以下のサイトに実際にSWを登録してみた
LT5: 「PWAで嫁に怒られなくなった話」 Morixさん
自己紹介
- morix1500
- インフラ勉強会
- オンライン勉強会
- Discord上で実施
- 毎日開催
アジェンダ
- PWAを使ってサービス作ってみた
- PWA
ゴミ出し通知くん
- 各曜日のゴミを選択すると、一覧が観れる
- 毎朝7時に出すゴミを教えてくれる
- ゴミ出しを忘れて怒られていた
技術
- Vue.js
- SW
- オフライン対応
- Push通知
- Firebase CloudFunction
- HTTPフックができるのが便利
- cron-job.orgでFunctionを実行
- Firebase Hosting
- Firebase RealtimeDB
知見
感想
- ネイティブアプリみたいなUIになって感動
- 爆速になるのでストレスレス