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
Yui Sakamoto
May 26, 2017
Programming
6.1k
7
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
Webフレームワークの ベンチマークについて
yusukebe
0
180
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
640
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
130
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
310
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
610
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.6k
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
14
5.9k
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
120
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
900
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.5k
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
280
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
250
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Done Done
chrislema
186
16k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Building the Perfect Custom Keyboard
takai
2
800
Claude Code のすすめ
schroneko
67
230k
Visualization
eitanlees
152
17k
Raft: Consensus for Rubyists
vanstee
141
7.6k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
180
Ruling the World: When Life Gets Gamed
codingconduct
0
270
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
150
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
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
͓ΘΓ