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
AMP 完全に理解した
Search
bakunyo
September 22, 2018
Technology
420
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AMP 完全に理解した
bakunyo
September 22, 2018
More Decks by bakunyo
See All by bakunyo
合宿成果@日本色
bakunyo
0
140
GitHub Actions CI/CD Update
bakunyo
0
290
NNにふれてみて
bakunyo
0
1.1k
RoRoRoRoR
bakunyo
0
970
Other Decks in Technology
See All in Technology
ADKで始める業務改善 - AIエージェント開発時の考えと設計
harappa80
2
170
ソフトウェアDNAとクラウドエージェントのススメ
cloudace
0
110
Goodbye ShellScript, Hello File-based App
shunsock
0
150
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
350
DEFCON_CHV_CTF_Write-up.pdf
bata_24
0
150
映像変換サーバーなしで端末内でHLSを生成してライブ配信
hikarusato
0
120
Reactの設計論
uhyo
24
14k
OpenTelemetryのメトリクスをCloudWatchに送ってPromQLで見てみた
ota1022
0
150
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
1
2.3k
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
200
生成AIエージェントを用いた、 手動テスト手順書から自動テストへの 変換手法の検討
magicpod
0
160
AI de Idea
kawaguti
PRO
2
120
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
4
590
Designing Powerful Visuals for Engaging Learning
tmiket
1
550
Crafting Experiences
bethany
1
340
Embracing the Ebb and Flow
colly
88
5.2k
Are puppies a ranking factor?
jonoalderson
2
3.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Agile that works and the tools we love
rasmusluckow
331
22k
Designing for humans not robots
tammielis
254
26k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
ラッコキーワード サービス紹介資料
rakko
1
4.9M
Transcript
AMP 完全に理解した 2018/09/22 【第4回】JSフレームワーク(またはライブラリ)× ビアバッシュ 初⼼者勉強会 Izuta Hiroyuki
⾃⼰紹介 • ⽒名: いずた ひろゆき • Twitter・GitHub: @bakunyo • フリーランスエンジニア
https://twitter.com/ito_yusaku/status/1042604780718157824 ちょい前にバズってたやつ
࣍ • AMP 概要 • 事例紹介 • AMP の今後
AMP 概要
AMP って何 • Accelerated Mobile Pages の略 • Google が中⼼となって進めているオープンソースプロジェクト
• モバイル環境でも快適・⾼速にウェブサイトを閲覧できるよう にするための仕組み ←モバイルのGoogle検索結果 でこのマークがついてるページは AMP対応済
AMP の構成要素 • AMP HTML • AMP JS • AMP
Cache
AMP HTML • パフォーマンスを維持するために制限が課せられたHTML • ⼀部は AMP 固有タグに置き換えられる(amp-xxx) • 制限の例
• CSS は head 内にインライン記述 • JS は基本的に使⽤できない(AMP JSを除く)
AMP JS • AMP HTML で利⽤が許された JS の外部リソース • async
で読み込むため、レンダリングブロックしない • 後ほどいくつか紹介
AMP Cache • AMP が有効なページをキャッシュして返すコンテンツ配 信ネットワーク • = Google AMP
Cache • 後ほどもう少し詳しく
AMP 概要 おさらい • AMP HTML • パフォーマンスのために制限が課せられたHTML • AMP
JS • AMP HTML で使える JS 外部リソース • AMP Cache • AMP ⽤コンテンツ配信ネットワーク
事例紹介
事例紹介 • 最新巻.jp • “巻” なので注意 • マンガの最新巻情報をお知らせ • 全ページAMP対応
• レスポンシブ
AMP JS コンポーネント紹介
amp-image-lightbox 画像タップでフルスクリーン表⽰ ※あの丸⼭ゴンザレスさん著作の グルメ漫画(9/21発売)
amp-lightbox-gallery 複数の画像をまとめられる フォトギャラリー 横スライドで次の画像へ
amp-iframe AMP で iframe が使えるようになるタグ 漫画のコマが著作権的に安⼼して使える マンガルーさん( https://mangaloo.jp/ )の
埋め込みフレームに利⽤ iframe の中では実は JS が使える
AMP JS を使った実装( amp-img の例) 1. タグ毎に必要な JS ライブラリを head
で async 読み込み <script async src="https://cdn.ampproject.org/v0.js"></script> 2. AMP 固有タグを使う <amp-img {src, alt, layout などのタグ毎に必要な属性}></amp-img> 3. 基本的にこれだけ ゆとりに優しい仕様
AMP Cache をもう少し詳しく
スマホで「最新巻jp」の検索結果 Google 検索結果 Yahoo! JAPAN 検索結果
Google 検索結果 → AMP ⽤ページ www.google.jp/amp/s/{ドメイン} にて配信される (⽶ Google では
.com) CDNから配信されていることを⽰すヘッダー をクリックするとキャッシュ元ページへ 遷移する 【メタタグ関連】 ・robots = noindex ・canonical はキャッシュ元ページ
search.yahoo.co.jp/amp/s/{ドメイン}/… にて配信される ヘッダーの挙動、メタタグともに Googleとほぼ同じ Yahoo! JAPAN 検索結果 → AMP⽤ページ
中⾝は iframe Google も Yahoo も、同じURLを 参照 最新巻-jp.cdn.ampproject.org
というサブドメインが切られている Google AMP Cache ドキュメント https://developers.google.com/amp/cache/ にサブドメインのルールについて記載がある
なので URL開けば普通に⾒れる ←ヘッダー表⽰⽤スペースもあり AMP Cache コンテンツ配信プラット フォームは、ヘッダー部分を独⾃実装 して
iframe で中⾝を指定してやれば いけそう
流れ再確認 (PPHMF".1$BDIF \υϝΠϯ^DEOBNQQSPKFDUPSH (PPHMFݕࡧ".1༻ϖʔδ XXXHPPHMFKQBNQT\υϝΠϯ^ :BIPPݕࡧ".1༻ϖʔδ TFBSDIZBIPPDPKQBNQT\υϝΠϯ^ ①検索結果がAMP Cache済 ならAMP⽤ページを表⽰
②iframeから参照
AMP の今後
イベント • 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都市にて開催
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 ※⼿元では確認できず
使ってみての感想 • AMP の制限を守ろうとすると、⾃然とパフォーマンスが よくなる • AMP JS でできることがどんどん増えているため、サイト をつくるうえで困ることがそんなに無くなってくる
• もう少し⾒守ります
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