More Related Content
PDF
PDF
Introducing Elastic 8.1 Release - More Integration, Faster Indexing Speed, Lo... PPTX
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014 PDF
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~ PDF
iOSで利用できるデバイスファームのメリット・デメリットの紹介 PDF
IBM Eclipse tools for Bluemix の構成手順 PDF
PPTX
What's hot
PDF
その Web サイト、その Web アプリを最新の IE11 に対応しよう PPTX
PPTX
PPTX
PPTX
PPTX
iOSアプリ開発のCI環境 - Jenkins編 - PPTX
Dangerでpull requestレビューの指摘事項を減らす PPTX
バージョンアップの対応を軽減するためのサービスの構築 PPTX
PDF
PDF
【16-D-4】3分ではじめるスマホアプリのビジュアル開発 PPTX
PPTX
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス PPTX
PPTX
PPTX
Similar to HTML5など社内勉強会 Vol.11 - High Performance Web and iOS 6 WebKit
PDF
PDF
PDF
Concentrated HTML5 & Attractive HTML5 PDF
PDF
Leading the way to W3C TPAC 2015 『HTML5 関連の API の現状とこれから』 PDF
PPTX
PDF
PDF
HTML5の基礎と応用 ~Open Web Platform~ WebSocket / WebRTC / Web Audio API / WebGL 第三版 PDF
PPTX
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」 PPTX
PPTX
KEY
PPTX
PDF
HTML5の基礎と応用 ~Open Web Platform~ WebSocket / WebRTC / Web Audio API / WebGL 第二版 PDF
HTML5 ~よくわからないけど言葉だけはよく聞きます~ PDF
HTML5 ~よくわからないけど言葉だけはよく聞きます~ ODP
KEY
More from George Harada
PDF
PDF
PDF
PDF
PDF
HTML5など社内勉強会 Vol.8 - WebSocket PDF
HTML5など社内勉強会 Vol.5 - 入門JavaScript [非同期通信] PDF
HTML5など社内勉強会 Vol.3 keynote PDF
HTML5など社内勉強会 Vol.3 - 入門JavaScript PDF
HTML5など社内勉強会 Vol.2 - HTML5, CSS3 PDF
HTML5など社内勉強会 Vol.1 - HTML, CSS, HTML5 PDF
PDF
HTML5など社内勉強会 Vol.11 - High Performance Web and iOS 6 WebKit
- 1.
HTML5など
勉強会 Vol. 11
HighPerformance Web
and iOS 6 WebKit
2012/7/6 @ 某社
Technical Ability Development Group (a.k.a TAD)
George Harada
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
<link rel="stylesheet" href="style_a.css">
<linkrel="stylesheet" href="style_b.css">
<link rel="stylesheet" href="style_c.css">
<script src="javascript_a.js"></script>
<script src="javascript_b.js"></script>
CSS/JSファイルをそれぞれ結合する
<link rel="stylesheet" href="style_abc.css">
<script src="javascript_ab.js"></script>
ルール1. HTTPリクエストを減らす
CSS/JSファイルを結合
・結合すべきファイルか
・インライン化すべきか
DEMO: r1-1
- 19.
- 20.
■data URI scheme
画像を文字列に変換して、HTMLやCSSに埋め込む
<imgsrc="logo.png" alt="My logo">
Base64エンコード (サイズが約1.3倍になる)
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAA3NCSVQICAjb4U/gAAADi0lEQVQ4jW2UT2hcVRTGv/
vmzbxJ5k0zSbRqMS2NJYaaolQtFKmKUqpt7MZiFroQRV0JIqJStGjAv0UoLgRBEbopQU0rdlEXioqltraJhBb/LKSpQjRNO2SMmT/v3ftzMW+SmUkOb/
HuOfd8nPOd7x4DqNVAxkhStaogkCRrNX1R1Zpyodb3aeV9SaYNaAklipROa/KMPvlIX53QfEmVRaVDbR7UXXcrZRTHujyn/aPq71McS7SaczhHtQbw3ut0ekhsvZ2Jnzl6mNBHWv62bee/
MlEN62gFcgC1GsBbLyCRT9HXx8yVJL53B2mfnixDWzg7SXEewFqgFcg5qlWc4+tjSKwNkXjxVYCrV6lWefg
+JLpEOsWvfwJJ7c7hNRNkJOPJGH3wvjo65KMwq0dGBMqFymRUqSjIKNepTFqleTknYxq0NlcURQDTv5BpsLDxJioxcQ1g9hJhw997DXMlnCO2Sa7fVhHIBHrmaXmBKlUN3aogpdgpijRX1GNPqjOnyGnLVvXm
ZWN5DYCW8SOZdpUojmStguwq8lnuqx0IOSeDRvfrj3+UT6trnd4claRvT2jsMy0sqKNLr7ym63uV8uWZBKWe3GK1GtYyfhjToGPPA+wbTv4HBjh2HOuwFudaElcXJDA3w+jLBGLdtey6nwMHOHlq
+c5K81e2HdWUSqtS1g/fqX+zzl/QkkZsLId8v/G+TEtyi9UVcP40G65DYmATY58z83cjWiOKWwpfvTVrsZbfptjQQ0r0ZvCExKZ
+nnue02eXeUx6bANawi7NYy0fH0QeN4Ss8enJUPDxhURg2D3MN98DxHF7UaofnKUWJa4vPyXfGJknCj69Ad0Z8l7ifOMgDqLaahXV4Y4eYdcOJIZu4fhx3h1laCBJDg2h6M6QE9k0v1/
CuYSvBMha4phSkZGHkpw7t/PXbIOOMuNj7N1JWqRFh1hjCAPOXIDG00+AymWAt19CYn0BeRz5AqBYpFSiHgUmT3Jjge4svrh5kH/LxHGyierm1V9XJiNJi1WFaR16Rz+eU6GgfF7ZbLJ2564Iq2JF2S4d
+lBhVs7Ja15C9dbKCzz7BEHTGr1tiEdHeOpx9g2zcW3i3L2HialluTVPzQA4ycgYTZ3T+LgmftL0RV2e1eKiPF9hXoNDuude7XxQ2+6QpDhOxN2sbOMcxginKE4alFStqlyRcwoC5TpbVorMKiiS/
geLi64vIQRRqgAAAABJRU5ErkJggg==
" alt="My logo">
ルール1. HTTPリクエストを減らす
画像のインライン化
・インライン化に適したサイズか
・キャッシュを利用できるか
DEMO: r1-4
- 21.
- 22.
- 23.
- 24.
ルール2. HTTPレスポンスをキャッシュさせる
ApplicationCache
■容量
5MB まで(iOS 6 からは 25MB まで)
■MIMEタイプ
AddType text/cache-manifest .appcache
■キャッシュが更新されるタイミング
1. ユーザーがブラウザのデータをクリアした時
2. マニフェストファイルが更新された時
3. プログラムで更新命令を実行した時 (JavaScript)
※マニフェストに書いたキャッシュ対象ファイルを更新しても、再読込みされない
※マニフェストファイルの比較はバイト単位で行なわれる (ファイルの更新日時だけではNG)
・キャッシュすべきファイルか
・非対応ブラウザへの配慮はあるか
DEMO: r2-2
- 25.
<style>
body { background-color:#000; }
</style>
<link rel="stylesheet" href="style.css">
------------------------------------------
<script>
window.onload = alert('Hello World!');
</script>
<script src="javascript.js"></script>
ルール2. HTTPレスポンスをキャッシュさせる
CSS/JSを外部ファイル化
・サーバのキャッシュ設定は適切か
・インライン化すべきか
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
async属性を指定する (HTML5で追加)
・外部スクリプトを非同期で読込み、そのスクリプトが実行可能になったらすぐに実行する
・非対応ブラウザへの配慮が必要 (defer属性のみ動くブラウザもある)
ルール4.速く動くようにみせる
Scriptを非同期で読込み
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Script top</title>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
</head>
<body>
<img src="logo.png" alt="My logo">
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Script bottom</title>
<link rel="stylesheet" href="style.css">
<script src="script.js" async></script>
</head>
<body>
<img src="logo.png" alt="My logo">
</body>
</html>
js-top.html js-async.html
DEMO: r4-2
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
参考文献等
Performance tuning
- http://stevesouders.com/hpws/
-http://www.amazon.co.jp/ハイパフォーマンスWebサイト-―高速サイトを実現する14のルール-Steve-
Souders/dp/487311361X
HTML5
- http://html5.jp/
- http://www.amazon.co.jp/徹底解説HTML5マークアップガイドブック-羽田野太巳/dp/4798025291
Web Audio API
- http://www.html5rocks.com/en/tutorials/webaudio/intro/
ApplicationCache
- http://www.html5rocks.com/ja/tutorials/appcache/beginner/