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
UXを向上させる サイト高速化テクニック
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
泰 昌平@ShoheiTai
December 10, 2015
Programming
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
UXを向上させる サイト高速化テクニック
第三回 集まっtail LT:5分
ユーザの体感速度を向上させるための、Webサイト高速化テクニックについて。UXに着目した高速化手法です。
泰 昌平@ShoheiTai
December 10, 2015
More Decks by 泰 昌平@ShoheiTai
See All by 泰 昌平@ShoheiTai
現地チームの心理的安全性から全く違う結論に行き着いた話
shoheitai
0
190
DX企業CTOとして考える技術への向き合い方
shoheitai
0
1.2k
LT20回以上やって、やっと学んだLTの技術
shoheitai
1
160
WSOの現状とすすめかた
shoheitai
0
830
今こそ始めるWSO - Web高速化の現状と対策テクニック
shoheitai
2
1k
“超効率化” で生き残る 2018 #innocafe
shoheitai
2
390
LTを続けてLT文化の素晴らしさを感じた話 #集まっtail
shoheitai
1
5.6k
Drupal8のConfigurationManagementで心が折れた話 #drupalstudy
shoheitai
1
640
もうこわくない!エンジニアを巻き込むコミュニケーション #PRLT
shoheitai
3
3.1k
Other Decks in Programming
See All in Programming
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
2
1.5k
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.5k
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
500
霧の中の代数的エフェクト
funnyycat
1
390
初めてのKubernetes 本番運用でハマった話
oku053
0
130
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
8
4.3k
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
110
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
440
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
410
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
360
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
140
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
460
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
200
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
400
Optimising Largest Contentful Paint
csswizardry
37
3.8k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.4k
Odyssey Design
rkendrick25
PRO
2
730
Balancing Empowerment & Direction
lara
6
1.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Transcript
UXを向上させる サイト高速化テクニック 泰昌平 (@stai0823)
自己紹介 泰 昌平 ファンチーム株式会社 Webエンジニア ・CakePHPとPhalconをやっています ・フロントのjavascriptが大好物 ・ダーツとバイクが好き
今日のお話
「UXを向上させる高速化」
今日お話しすることは ・全体のリクエスト、サイズを減らすとかいう話ではない。 ・必ずしもGTmetrixのスコアが上がるような施策とは限らない。 ・ユーザに速度面でのストレスを軽減するテクニック。 ユーザの「体感速度」を高める
ユーザの「体感速度」を向上させるキーワード 「遅延ロード」と「プリロード」
キーワード1 「遅延ロード」
・読み込みに時間がかかったり、レンダリングブロックの原因と なるリソースは遅延ロードする。 ・jsを動的に追加したり、Ajaxで後から読み込ませたり・・。 遅延ロード →読み込むリソースに手を加えず、 ユーザの体感速度を向上させることができる。
None
遅延ロードが有効な事例
https://teratail.com/questions/9137
ベストアンサー
・「jQuery Lazy Load」や「Unveil.js」で遅延ロードは 比較的簡単に実装できる。 ・ページ読み込み時はリクエスト数がかなり削減できるので GTmetrixのスコア改善にも繋がる 画像の遅延ロード
キーワード2 「プリロード」
・読み込みに時間がかかったり、レンダリングブロックの原因と なるリソースは先に読み込んでしまう。 ・ユーザの行動を予測し、事前に処理を行う。 プリロード →実装次第で遅延ロードよりも高速化を図ることができ、 ユーザの体感速度を向上に繋がる。
プリロードを実現する方法を いくつかご紹介します。
サーバへのプリコネクト - preconnect -
通信先へのプリコネクト ・読み込み先のサーバへ事前に接続しに行く。 ・HEADタグの上部にpreconnect用のタグを埋め込む。 ・事前に名前解決を行う「dns-prefech」のもう一歩先!
<head> <meta charset="UTF-8"> <link rel="preconnect" href="http://www.google-analytics.com"> <link rel="preconnect" href="http://www.googletagmanager.com"> <title>プリコネクト</title>
</head> 書き方
リソースを複数ドメインから 読み込んでいる場合に効果的。
リソースのプリフェッチ - prefetch -
リソースのプリフェッチ ・次のページで利用するリソースを事前に読み込むことができる。 ・CSSやJS、画像ファイルなど静的なリソースを読み込める。 ・ただし、ユーザの行動を予測し予め設定する必要がある。
<head> <meta charset="UTF-8"> <!-- 次のページで使用する画像やCSSなどを事前に読み込ませる --> <link rel="prefetch" href="http://example.com/css/style.css"> <link
rel="prefetch" href="http://example.com/logo.png"> <title>プリフェッチ</title> </head> 書き方
画像やWebフォントも事前に読み込めるので 表示のもたつきが軽減されます。
ページのプリレンダリング - prerender -
ページのプリレンダリング ・指定したページを事前に読み込み、レンダリングする。 ・事前読み込みされたページへ遷移すると一瞬で表示される。 ・ただし、ユーザの行動を予測し予め設定する必要がある。
<head> <meta charset="UTF-8"> <link rel="prerender" href="http://example.com/nextpage"> <title>prerenderによる事前レンダリング</title> </head> 書き方
Chromeのタスクマネージャー
ユーザの行動が予測できる導線であれば AjaxやPjaxに負けない パフォーマンスを引き出せます。
プリレンダリングを使う上での注意
・バックグラウンドで通信とレンダリングが行われるため、 クライアント・サーバ両方に負荷がかかる。 ・むやみやたらに使っても、事前レンダリングされたページに遷 移しないと意味が無い。 使いすぎは非常に危険
ここまで ユーザの「体感速度」を向上させる 高速化施策をご紹介しました。
遅延ロードとプリロードを 上手く使って快適な Webサイトを作っていきましょう
ご清聴ありがとうございました