WHAT
パフォーマンスの定義(TTI, FCP, SIなどのメトリック)
WHAT HOW WHY
Slide 8
Slide 8 text
WHAT
パフォーマンスメトリック(TTI, FCP, SIなど)
HOW
改善⽅法(不要コード対策、コードスプリッティング)
WHAT HOW WHY
Slide 9
Slide 9 text
WHAT
パフォーマンスメトリック(TTI, FCP, SIなど)
HOW
改善⽅法(不要コード対策、コードスプリッティング)
WHY
理由(パフォーマンス改善に取り組んだ企業など)
WHAT HOW WHY
Slide 10
Slide 10 text
パフォーマンスの側⾯
WHAT
WHAT HOW WHY
Slide 11
Slide 11 text
Backend
Frontend
Slide 12
Slide 12 text
知覚する時間
物理的な時間
Slide 13
Slide 13 text
WHAT HOW WHY
Slide 14
Slide 14 text
そもそも
パフォーマンスはどう
測るか?
WHAT HOW WHY
Slide 15
Slide 15 text
No content
Slide 16
Slide 16 text
TTI
Time to interactive
WHAT HOW WHY
Slide 17
Slide 17 text
TTI
Time to interactive
ページのコンテンツが表⽰され、ユーザーのアクション
(ボタンクリックなど)に対して反応が起こるまでの時
間
WHAT HOW WHY
Slide 18
Slide 18 text
https://medium.com/@addyosmani/the-cost-of-javascript-in-2018-7d8950fbb5d4
WHAT HOW WHY
Slide 19
Slide 19 text
SI
Speed Index
WHAT HOW WHY
Slide 20
Slide 20 text
SI
Speed Index
初期ロード時にどれくらいの速度で
コンテンツが表⽰されるか ?
(ロード時にスナップショットを撮り、それぞれの
段階でどれくらいの⾯積が描画されたかを計算する)
WHAT HOW WHY
Slide 21
Slide 21 text
FCP
First Contentful Paint
WHAT HOW WHY
Slide 22
Slide 22 text
FCP
First Contentful Paint
最初のDOM(⽩ではない背景の画像かカンバスやSVG)が
表⽰されるまでの時間
(ユーザーは、ページがロードしていることがわかる)
WHAT HOW WHY
Slide 23
Slide 23 text
WHAT
• ロードはひとつの瞬間ではない
• ユーザーの知覚に、さまざまな要因が影響する
• Time to interactive, First contentful paint, Speed Index
WHAT HOW WHY
Slide 24
Slide 24 text
パフォーマンスの改善
HOW
WHAT HOW WHY
Slide 25
Slide 25 text
Time To Interactive
対策
WHAT HOW WHY
Slide 26
Slide 26 text
ライブラリ更新
WHAT HOW WHY
Slide 27
Slide 27 text
ライブラリ更新
WHAT HOW WHY
Slide 28
Slide 28 text
ライブラリ更新
WHAT HOW WHY
Slide 29
Slide 29 text
ライブラリ更新
WHAT HOW WHY
Slide 30
Slide 30 text
不要なコード削除
WHAT HOW WHY
Slide 31
Slide 31 text
Chrome DevTools -> Coverage
WHAT HOW WHY
Slide 32
Slide 32 text
https://twitter.com/addyosmani/
WHAT HOW WHY
Slide 33
Slide 33 text
コードスプリッティング
✂
WHAT HOW WHY
Slide 34
Slide 34 text
なぜコードスプリッティングは重要なのか?
WHAT HOW WHY
Slide 35
Slide 35 text
デスクトップとモバイルのJS解析にかかる
時間の差は
1:5
なぜコードスプリッティングは重要なのか?
WHAT HOW WHY
Slide 36
Slide 36 text
なぜコードスプリッティングは重要なのか?
デスクトップとモバイルのJS解析にかかる
時間の差は
1:5
CPUが弱いデバイスが増えていく
WHAT HOW WHY
Slide 37
Slide 37 text
https://medium.com/@addyosmani/the-cost-of-javascript-in-2018-7d8950fbb5d4
WHAT HOW WHY
Slide 38
Slide 38 text
HTTP Archive による React のページのクロールの結果
(Webpagetest, 2019年1⽉1 ⽇時点)
First Meaningful Paint中央値: 6.9s
Time to Interactive中央値: 19.7s
https://houssein.me/progressive-react
WHAT HOW WHY