Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Google I/O 2017 注目のmobile Web技術
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yui Sakamoto
May 26, 2017
Programming
6.1k
7
Share
Google I/O 2017 注目のmobile Web技術
Goolgle I/O 2017で発表された内容の中からWebに関連する内容をまとめました。
Yui Sakamoto
May 26, 2017
More Decks by Yui Sakamoto
See All by Yui Sakamoto
TypeScript エンジニアが Android 開発の世界に飛び込んだ話
yuisakamoto
6
2.8k
Modular Monolith Monorepo ~シンプルさを保ちながらmonorepoのメリットを最大化する~
yuisakamoto
12
9.5k
Google I/O '18 Overview @わいわい報告会
yuisakamoto
3
4.5k
PWA+AMPの話
yuisakamoto
25
23k
アプリファーストの影で頑張るWebの話
yuisakamoto
8
6.6k
Other Decks in Programming
See All in Programming
今さら聞けないCancellationToken
htkym
0
220
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
490
GitHub Copilot CLIのいいところ
htkym
2
1.3k
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
140
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
720
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.6k
Claspは野良GASの夢をみるか
takter00
0
160
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
530
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.2k
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.4k
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
820
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
730
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
4 Signs Your Business is Dying
shpigford
187
22k
Designing for humans not robots
tammielis
254
26k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
200
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
GraphQLとの向き合い方2022年版
quramy
50
15k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
How to build a perfect <img>
jonoalderson
1
5.6k
Typedesign – Prime Four
hannesfritz
42
3.1k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Transcript
Google I/O 2017 ͷMobile Webٕज़ Yui Sakamoto
• ࡔຊ ݁ҥ(@yui_tang) • Software Engineer • Mercari, inc. •
ೖࣾ3ʹಥೖ • αʔόʔαΠυɺϑϩϯτΤϯυɺϓϩδΣΫ τΦʔφʔʑ • ༷ʑͳϓϩδΣΫτʹؔΘΓͳ͕ΒɺೖࣾҎ དྷWebΛ୲͍ͯ͠Δ About Me
None
͓ॻ͖ • Google I/O 2017 ࡶײ • Webʹؔ࿈͢Δ
Google I/O 2017 ࡶײ • ࡢݴΘΕ͍ͯͨΑ͏ͳ(ޱ಄ʹͯ)͕େ͖͘վ ળ‼3ؒ௨ͯ͠ͱͯա͍͢͝͠ՆFesʹ❗ • ӄଟ͍͠ɺηογϣϯ༻ͷςϯτۭௐඋɻ ேன൩ͷ৯ࣄग़Δ͠ɺ☕ͷ‼
• Mobile First ➡ AI First
None
None
Google I/O ‘17Ͱ ͋ͬͨ101ͷൃද • Google Assistant and Google Home
• AI, ML and Cloud • Google Photos • Android and Google Play • VR and AR • YouTube All 101 announcements from Google I/O ‘17 https://blog.google/topics/developers/all-io17-announcements/
Google I/O 2017 Web-sideɹ • ѹతʹAMP + PWAਪ͠ • ͍Α͍Αಋೖɾਁಁظʹ☝
• PolymerͱWebAssembly͋ΔΑ • PRPL - Push, Render, Pre-cache, Lazy-load • ৽τϐοΫগͳΊ͔ͳ • ΧϯϑΝϨϯεͷࡉԽ
Google I/O 2017 Web-sideɹ • AMP & PWA • Polymer
• WebAssembly • Others 8FCʹؔΘΔηογϣϯ
Google I/O 2017 Web-sideɹ • AMP & PWA 12 ⤴
• Polymer 2 • WebAssembly 1 • Others 8FCʹؔΘΔηογϣϯ
AMP + PWA
The AMP Keynote (Google I/O '17) https://youtu.be/BGyF5Uh3w1M?list=PLOU2XLYxmsIKC8eODk_RNCWv3fBcLvMMy
Accelerated Mobile Pages Project - AMP https://www.ampproject.org/ AMP Conf 2017ߦ͖ͬͯ·ͨ͠
#AMPConf http://tech.mercari.com/entry/2017/03/16/130113
From AMP to PWA: Progressive Web AMPs (Google I/O '17)
https://youtu.be/xF6mjl-wOqU?list=PLOU2XLYxmsIKC8eODk_RNCWv3fBcLvMMy
From AMP to PWA: Progressive Web AMPs (Google I/O '17)
https://youtu.be/xF6mjl-wOqU?list=PLOU2XLYxmsIKC8eODk_RNCWv3fBcLvMMy
AMP • Google Search͔Β2ഒͷ͞Ͱϩʔυ͞ΕΔվળ • AMPίϯϙʔωϯτͷαʔόʔαΠυϨϯμϦϯά • ਓ͕ೝࣝग़དྷͳ͍ϨϕϧͰը૾DLͷଳҬ༻෯Λ50%ݮ • ECαΠτͰAMP͕͑ΔΑ͏ʹͳͬͨ
• amp-bind, amp-formΛ༻͢Δ͜ͱʹΑΓ࣮ݱ • amp-adͷվળ Turbocharging AMP https://www.ampproject.org/latest/blog/turbocharging-amp/
AMP on e-commerce Turbocharging AMP https://www.ampproject.org/latest/blog/turbocharging-amp/
Progressive Web Apps https://developers.google.com/web/progressive-web-apps/
Progressive Web Apps • ϗʔϜը໘ʹΞΠίϯΛՃͰ͖Δ • Service WorkerʹΑΔߴԽΦϑϥΠϯΩϟο γϡ •
Web Push • Native AppͷΑ͏ͳfull screen UI • ࠓேliveͷrebuild.fmͰʹɻ 8FCϖʔδͰ"QQͷΑ͏ͳ69Λ࣮ݱ͢Δ
Building for Your Next Billion Users (Google I/O ’17) https://youtu.be/wD3rpdiLMyY?list=PLOU2XLYxmsIKC8eODk_RNCWv3fBcLvMMy
Building for Your Next Billion Users (Google I/O ’17) https://youtu.be/wD3rpdiLMyY?list=PLOU2XLYxmsIKC8eODk_RNCWv3fBcLvMMy
AMP as PWA AMP to PWA AMP in PWA
".1Ͱߏங͞ΕͨϖʔδͰɺ 18"ͷػೳΛར༻͢Δɻ AMP as PWA
AMP to PWA ".1ϖʔδΛϥϯσΟϯάͯ͠18" • amp-install-serviceworker • JSͷ͑ͳ͍AMPϖʔδͰɺPWAͷ ServiceWorkerΛઌʹΠϯετʔϧ͢Δɻ amp-install-serviceworker
https://www.ampproject.org/docs/reference/components/amp-install-serviceworker
AMP to PWA
AMP to PWA
AMP to PWA
None
AMP in PWA
AMP in PWA
AMP in PWA
None
ڧྗͳService WorkerػೳΛ׆༻͠ɺఆܕίʔυΛഉআ͠ɺService WorkerͷੜΛࣗಈԽ͢Δ͜ͱͰɺ։ൃΛ؆ૉԽ͢Δ Workbox https://workboxjs.org
Workbox https://workboxjs.org
Lighthouse https://developers.google.com/web/tools/lighthouse/
Polymer
None
Polymer 2.0 • ͍͔ͭ͘ͷAPIͷมߋ • Polymer.dom -> shadow DOM v1
• ESͷclassߏจΛ͏ • and more ⤴ 8FC$PNQPOFOUTΛ ؆୯ɾखܰʹ࣮ݱ͢ΔϥΠϒϥϦ What's new in 2.0 - Polymer Project https://www.polymer-project.org/2.0/docs/about_20
Polymer + PWA sample Polymer sample https://shop.polymer-project.org/
WebAssembly
Compiling for the Web with WebAssembly (Google I/O ’17) https://youtu.be/6v4E6oksar0?list=PLOU2XLYxmsIKC8eODk_RNCWv3fBcLvMMy
Compiling for the Web with WebAssembly (Google I/O ’17) https://youtu.be/6v4E6oksar0?list=PLOU2XLYxmsIKC8eODk_RNCWv3fBcLvMMy
Compiling for the Web with WebAssembly (Google I/O ’17) https://youtu.be/6v4E6oksar0?list=PLOU2XLYxmsIKC8eODk_RNCWv3fBcLvMMy
Compiling for the Web with WebAssembly (Google I/O ’17) https://youtu.be/6v4E6oksar0?list=PLOU2XLYxmsIKC8eODk_RNCWv3fBcLvMMy
͓ΘΓ