Slide 1

Slide 1 text

AMP 完全に理解した 2018/09/22
 【第4回】JSフレームワーク(またはライブラリ)× ビアバッシュ 初⼼者勉強会 Izuta Hiroyuki

Slide 2

Slide 2 text

⾃⼰紹介 • ⽒名: いずた ひろゆき • Twitter・GitHub: @bakunyo • フリーランスエンジニア

Slide 3

Slide 3 text

https://twitter.com/ito_yusaku/status/1042604780718157824 ちょい前にバズってたやつ

Slide 4

Slide 4 text

໨࣍ • AMP 概要 • 事例紹介 • AMP の今後

Slide 5

Slide 5 text

AMP 概要

Slide 6

Slide 6 text

AMP って何 • Accelerated Mobile Pages の略 • Google が中⼼となって進めているオープンソースプロジェクト • モバイル環境でも快適・⾼速にウェブサイトを閲覧できるよう にするための仕組み ←モバイルのGoogle検索結果 でこのマークがついてるページは AMP対応済

Slide 7

Slide 7 text

AMP の構成要素 • AMP HTML • AMP JS • AMP Cache

Slide 8

Slide 8 text

AMP HTML • パフォーマンスを維持するために制限が課せられたHTML • ⼀部は AMP 固有タグに置き換えられる(amp-xxx) • 制限の例 • CSS は head 内にインライン記述 • JS は基本的に使⽤できない(AMP JSを除く)

Slide 9

Slide 9 text

AMP JS • AMP HTML で利⽤が許された JS の外部リソース • async で読み込むため、レンダリングブロックしない • 後ほどいくつか紹介

Slide 10

Slide 10 text

AMP Cache • AMP が有効なページをキャッシュして返すコンテンツ配 信ネットワーク • = Google AMP Cache • 後ほどもう少し詳しく

Slide 11

Slide 11 text

AMP 概要 おさらい • AMP HTML • パフォーマンスのために制限が課せられたHTML • AMP JS • AMP HTML で使える JS 外部リソース • AMP Cache • AMP ⽤コンテンツ配信ネットワーク

Slide 12

Slide 12 text

事例紹介

Slide 13

Slide 13 text

事例紹介 • 最新巻.jp • “巻” なので注意 • マンガの最新巻情報をお知らせ • 全ページAMP対応 • レスポンシブ

Slide 14

Slide 14 text

AMP JS コンポーネント紹介

Slide 15

Slide 15 text

amp-image-lightbox 画像タップでフルスクリーン表⽰ ※あの丸⼭ゴンザレスさん著作の グルメ漫画(9/21発売)

Slide 16

Slide 16 text

amp-lightbox-gallery 複数の画像をまとめられる
 フォトギャラリー 横スライドで次の画像へ

Slide 17

Slide 17 text

amp-iframe AMP で iframe が使えるようになるタグ
 
 漫画のコマが著作権的に安⼼して使える
 マンガルーさん( https://mangaloo.jp/ )の 埋め込みフレームに利⽤
 
 iframe の中では実は JS が使える

Slide 18

Slide 18 text

AMP JS を使った実装( amp-img の例) 1. タグ毎に必要な JS ライブラリを head で async 読み込み 2. AMP 固有タグを使う 3. 基本的にこれだけ ゆとりに優しい仕様

Slide 19

Slide 19 text

AMP Cache をもう少し詳しく

Slide 20

Slide 20 text

スマホで「最新巻jp」の検索結果 Google 検索結果 Yahoo! JAPAN 検索結果

Slide 21

Slide 21 text

Google 検索結果 → AMP ⽤ページ www.google.jp/amp/s/{ドメイン} にて配信される
 (⽶ Google では .com) CDNから配信されていることを⽰すヘッダー をクリックするとキャッシュ元ページへ 遷移する 【メタタグ関連】
 ・robots = noindex
 ・canonical はキャッシュ元ページ

Slide 22

Slide 22 text

search.yahoo.co.jp/amp/s/{ドメイン}/… にて配信される ヘッダーの挙動、メタタグともに
 Googleとほぼ同じ Yahoo! JAPAN 検索結果 → AMP⽤ページ

Slide 23

Slide 23 text

中⾝は iframe Google も Yahoo も、同じURLを 参照
 
 最新巻-jp.cdn.ampproject.org
 
 というサブドメインが切られている Google AMP Cache ドキュメント https://developers.google.com/amp/cache/
 
 にサブドメインのルールについて記載がある

Slide 24

Slide 24 text

なので URL開けば普通に⾒れる
 
 ←ヘッダー表⽰⽤スペースもあり
 
 AMP Cache コンテンツ配信プラット フォームは、ヘッダー部分を独⾃実装 して iframe で中⾝を指定してやれば いけそう

Slide 25

Slide 25 text

流れ再確認 (PPHMF".1$BDIF
 \υϝΠϯ^DEOBNQQSPKFDUPSH (PPHMFݕࡧ".1༻ϖʔδ
 XXXHPPHMFKQBNQT\υϝΠϯ^ :BIPPݕࡧ".1༻ϖʔδ
 TFBSDIZBIPPDPKQBNQT\υϝΠϯ^ ①検索結果がAMP Cache済 ならAMP⽤ページを表⽰ ②iframeから参照

Slide 26

Slide 26 text

AMP の今後

Slide 27

Slide 27 text

イベント • AMP Contributor Summit • https://events.withgoogle.com/amp-contributor-summit/ • 2018/09/25-26 @Google in Mountain View, California • AMP Roadshow • https://www.ampproject.org/amp-roadshow/ • 来⽉、インドの3都市にて開催

Slide 28

Slide 28 text

Bing 9⽉19⽇にアナウンス
 Introducing Bing AMP viewer and Bing AMP cache
 https://blogs.bing.com/Webmaster-Blog/September-2018/Introducing- Bing-AMP-viewer-and-Bing-AMP-cache ※⼿元では確認できず

Slide 29

Slide 29 text

使ってみての感想 • AMP の制限を守ろうとすると、⾃然とパフォーマンスが よくなる • AMP JS でできることがどんどん増えているため、サイト をつくるうえで困ることがそんなに無くなってくる • もう少し⾒守ります

Slide 30

Slide 30 text

APPENDIX • 公式サイト • https://www.ampproject.org/ • AMP by Example • https://ampbyexample.com • GitHub • https://github.com/ampproject • Google AMP Cache ドキュメント • https://developers.google.com/amp/cache/ • Yahoo!検索ヘルプ AMP対応ページ表⽰について • https://www.yahoo-help.jp/app/answers/detail/p/595/a_id/138177/~/ amp%E5%AF%BE%E5%BF%9C%E3%83%9A%E3%83%BC%E3%82%B8%E8%A1%A8%E7%A4%BA%E3 %81%AB%E3%81%A4%E3%81%84%E3%81%A6