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
フロントエンドパフォーマンス 入門
Search
Shouta
March 23, 2024
Programming
8
2k
フロントエンドパフォーマンス 入門
Shouta
March 23, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.4k
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
320
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
690
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
190
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
5
1.3k
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
1k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
46
31k
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
1
230
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
160
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
110
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
550
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
320
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Six Lessons from altMBA
skipperchong
28
3.8k
Fireside Chat
paigeccino
37
3.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Designing for humans not robots
tammielis
253
25k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
210
We Have a Design System, Now What?
morganepeng
53
7.7k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Transcript
フロントエンドパフォーマンス 入門 内山 翔太
自己紹介 基本的に興味関心がパフォーマンスに全振りしています SES で働いています 普段は Java を書いており、フロントエンドは趣味です(?)
今日の内容 Core Web Vitals Web パフォーマンスにおいて確認すべき要素 すぐに取り組める改善
Web サイトのパフォーマンスの重要性 ユーザー体験の向上 ユーザー体験が悪いと離脱してしまう Amazon では表示速度が 0.1 秒遅くなると売上が 1 %減少すると言われている
( 後述する) Core Web Vitals は検索順位にも影響を与える 訪問者あたりの収益が 53.37% 、コンバージョン率が 33.13% 増加したケースもあ るらしい。 https://web.dev/case-studies/rakuten?hl=ja
Core Web Vitals とは Google が提唱するパフォーマンスの指標のことです。 Core Web Vitals は、ページの読み込みパフォーマンス、インタラクティブ性、視
覚的安定性に関する実際のユーザー エクスペリエンスを測定する一連の指標で す。 https://developers.google.com/search/docs/appearance/core-web-vitals?hl=ja Lighthouse や PageSpeed Insights で手軽に計測できます。
Core Web Vitals の指標を解説 First Contentful Paint (FCP) ページで一番最初に描画されるまでにかかった時間 Largest
Contentful Paint (LCP) 最も大きな要素が描画されるまでにかかった時間 Total Blocking Time (TBT) ページがユーザー入力に応答できない時間 最近だと、Hydration と呼ばれる処理にかかる時間が長いことで悪化しやすい 印象 Cumulative Layout Shift (CLS) レイアウトシフトがどのくらい起きているかの指標
Web パフォーマンスにおい て確認すべき要素 フロントエンドエンジニアが確認す るべきは フロントエンド ネットワークの帯域( ファイルサ イズなど) React
Server Components(RSC) の登場でバックエンドまで見る 必要も... ? https://twitter.com/takehora/statu s/1499185146779607045
この画像で何を伝えたかったのか? ファイルサイズは数多くある要素の内の一部である。 ファイルサイズの削減、圧縮はその一部のみに効く施策である minify は計算量を削減しないし、処理同士の依存関係も解消しない サイト全体のファイルサイズが小さい = 速いではない 逆に、サイトが遅い =
ファイルサイズが大きいでもない!!! 処理のコスト、順序を考えるのが大切
これらの知識をどう活かすか これらの知識がなんとなくでも身につくと、どの技術が何を解決するために生まれた のか。自分はどの技術を採用すればいいのか理解しやすくなります。 例えば RSC はサーバー側で React コンポーネントを実行し、ブラウザでの実行 コストを削減する技術です。 ブラウザ上での
JavaScript の実行コストが減ると、ユーザー入力を妨げる重たい 処理が減るので、TBT や Time to Interactive( 紹介しきれなかった...) が改善する。
おまけ 最新の HTML 、CSS を学ぼう! ライブラリを使わなくても dialog 要素でダイアログ, details 要素でアコーディオ
ンを簡単に作れる。 ライブラリを使用するよりバンドルサイズも小さくなる。 軽量なライブラリを選定しよう。 bundlephobia や Shakerphobia を使用するとバンドルサイズを測定できます。 https://bundlephobia.com/ 本当にそのライブラリ必要ですか?? 上 2 つとも関係しますが、最近の HTML,CSS,JavaScript は進化しています。 標準の技術で実現できないのか?自作できないのか? まずは検討してみよう!!
おわり 入門ということで、 パフォーマンスの指標 パフォーマンスはいろんな要素が絡んでいること を中心に話しました。 ご清聴ありがとうございました!