オンライン登壇の実績を解除した・・・!
Next.js x AMP by @yosuke_furukawa
はじめに
Next.js x AMP
Next.jsのクセ
- prodモードとdevモードで挙動が異なる
- 静的なページの場合
- 静的なページかどうかは、`getInitialProps()`が生えてるかどうか
- あるなら動的、ないなら静的
- すべてのページを静的にするのは、現実的ではない
- incrementalにビルドできないので
- https://nextjs.org/blog/next-9-3#next-gen-static-site-generation-ssg-support
- 新しい機能が検討されてるところ
AMP Validator
- Next.jsで開発している間、内部的に常にチェックしてくれる
- ただ常に怒られる
- ので、条件指定してignoreできるようにPRを出した
AMP Optimizer
その他
- 不満
- ベストプラクティスのスコアが低い
- 型がない
- 不満はあるし制約も多いけど、エッジの技術はそういうもの
- 世界にもまだない問題が多いので、チャレンジングではある
会長「俺が世界を1mmでも良くする!」
ブラウザの新しいAPIで遊んでみる by @kan_dai
資料は見つけたら
Barcode Detection API
- QRコードリーダーをつくった
- 以前に作ったやつを再実装した
- https://github.com/KanDai/simple-qr-reader
- Chromeでフラグを立てる必要あり
- 処理の流れ
- まず`getUserMedia()`で端末のカメラの映像を取得
- `new BarcodeDetector()`して、`detect(videoElement)`すると読み取れる
- `rawValue`で値までそのまま取れる
- canvasに渡してピクセル解析する必要がなくなった
Text Detection API
- 同様に、文字を認識できる
- 日本語の読み取りはいまいちだが、英数字はなかなかの精度
LT: 最近あったbugの話 by @ko_kelvin
資料は見つけたら
- 最近あったバグの共有をします
- WorkboxとかServiceWorkerとか
- Workboxとは
- https://developers.google.com/web/tools/workbox
- ServiceWorkerを使うときのベストプラクティスが詰まったツール
- webpackの設定を書くだけでいい
- 最近は機能追加がすすんで、バンドルサイズが増えた
- なのでそれを減らしたい
- React LazyでDynamic importしたりして
- しかし謎のバグが
- 新しいタブで開いたほうのSWが、古いタブの動きに影響してた
みなさんも`skipWaiting`と`clientsClaim`の指定や、Dynamic importするときはお気をつけて!