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
Google IO 2019 Web Recap by Jxck
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Jxck
May 19, 2019
Technology
400
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Google IO 2019 Web Recap by Jxck
https://gdg-tokyo.connpass.com/event/128867/
Jxck
May 19, 2019
More Decks by Jxck
See All by Jxck
IE Graduation (IE の功績を讃える)
jxck
22
17k
IE Graduation Certificate
jxck
6
6.3k
RFC 9111: HTTP Caching
jxck
1
820
tc39_study_2
jxck
1
14k
IETF における ABNF とプロトコルパーサの話 / ABNF for Protocol Parser @ IETF
jxck
2
1.3k
Web Components 元年 v3 / Web Components first year v3
jxck
1
1.2k
Periodic Background Sync
jxck
0
670
Podcast over PWA
jxck
1
380
Yearly Web 2019
jxck
0
260
Other Decks in Technology
See All in Technology
Cloudflare Workers 向けアプリを C# で構築する ~WASM Native AOT への道~
nenonaninu
1
470
AI時代の「技術的負債」の変質ー概念の終焉と再解釈、エージェントと共に向かう先
nwiizo
1
2.9k
SREへの勘違いに気づいた後の話
tomodakengo
0
110
人間はどの意思決定を手放せるのか
kawasima
15
7.4k
AI coding 整合正規方法
philipz
0
100
おい、エージェントを使って終わらせろ
nwiizo
2
710
データ_AIの事業の勝敗をわけるもの
nek0128
1
460
Vibe Coding で作ったプロダクトをどう安全に動かすか / How to Safely Run Products Built with Vibe Coding
glidenote
0
180
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
1
2.3k
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
5
1.8k
The Knowledge Spine: A Machine-Executable Ontology for Governed Marketing Activation
vananth22
0
110
EventBridge に「合流」はない ― サーバーレスのワークフローを育てるということ / No Join in EventBridge
yusukeshimizu
2
170
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Test your architecture with Archunit
thirion
2
2.4k
Making the Leap to Tech Lead
cromwellryan
135
10k
Why Our Code Smells
bkeepers
PRO
340
58k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
530
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Writing Fast Ruby
sferik
630
63k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Transcript
Web Recap #io19jp #io1pjp 2019/5/18 Jxck
None
3 Lazy Loading img/iframe <img loading=eager> <img loading=lazy > <img
loading=auto >
4
5 Portals <portal src=url>
6
7 Singned HTTP Exchanges
8 Project Fugu 48
9 Close the Gap with Native • God 7 ◦
Writable Files API ◦ Badging API ◦ Wake Lock API ◦ Shape Detection API ◦ Periodic Background Sync ◦ Contact Picker API • Graduated ◦ Web Share API • Students ◦ https://bugs.chromium.org/p/chromium/issues/list?q=label:Proj-Fugu
New JS Features 10
class field 11 class Counter { constructor() { this.count =
0 } increment() { this.count ++ } display() { console.log(this.count) } } class Counter { count = 0 increment() { this.count ++ } display() { console.log(this.count) } }
Promise.{allSettled, any} 12 Promise.all: 一個でも失敗したら止まる Promise.allSettled: とにかく全部やる Promise.race: 一個成功/失敗したら止まる Promise.any:
一個成功したら止まる
Intl 13 intl = new Int.RelativeTimeFormat('ja') intl.format(-1, 'day') // "昨日"
intl = new Intl.DateTimeFormat('ja-JP-u-ca-japanese', {era:'long'}) intl.format(Date.now()) // "令和1年5月19日" intl = new Intl.ListFormat('ja-jp') intl.format(['あれ', 'これ']) // "あれ、これ" intl = new Intl.ListFormat('en') intl.format(['あれ', 'これ']) // "あれ and これ"
BigInt 14 // JS の Number の最大値 big = Number.MAX_SAFE_INTEGER
// 9007199254740991 (2^53-1) big = 9999999999999999999999999999n big = BigInt("0xffffffffffffffff") big = BigInt(Number.MAX_SAFE_INTEGER) ^ 2n
Googlebot to latest Chromium 15
Paint Holding 16
17 Google Fonts + font-display 大きなフォントを落としてる間、システムフォントで表示できる。
18 explanation • Signed HTTP Exchange ◦ https://blog.jxck.io/entries/2018-12-01/signed-http-exchanges.html • JS
Private Field ◦ https://blog.jxck.io/entries/2019-03-14/private-class-field.html • Web Font display: swap ◦ https://blog.jxck.io/entries/2017-12-06/font-display.html • Portal ◦ https://mozaic.fm ◦ https://labs.jxck.io/portals • Lazyloading ◦ https://blog.jxck.io ◦ http://labs.jxck.io/lazyload/
Jack thanks