SlideShare a Scribd company logo
1 of 14
Download to read offline
超チューニング祭 ふりかえり
-HTMLチューニングの方法と実際-
2 0 1 4 / 0 4 / 2 9
高橋せいべえ
村井研究室 学部3年
1. 超概要
2. 超結果・超分析
3. フロントチューニングとコスパ
4. UIデザインの工夫点
基本ルール(抜粋)
ベースとなる現行 niconico スマートフォンサイトを元に
各自で速度のチューニングやデザイン・UIの改善をしていただきます。
※ あまりにも曖昧だったので 参加者でソーシャルハック した。
コンテンツが2Click以内に表示されれば何をしてもよいらしい。
でも詳しい計測方法などは最後まで分からなかった。
主なチューニング
• HTML/CSSのフルスクラッチ
• JSライブラリの差し替え
(jQuery. -> Zepto.js)
• 画像の遅延ロード (unveil.js)
• PNG画像の最適化
• アイコン画像のHTML埋め込み
• Grunt.による自動処理
• grunt-contrib-concat (ファイル結合)
• grunt-autoprefixer (最適なprefix)
• Grunt-contrib-cssmin (CSS圧縮)
• Grunt-contrib-uglify (JS圧縮)
• grunt-contrib-htmlmin (HTML圧縮)
結果(抜粋)
投票1位、速度5位
(ベストUI賞、学生賞)
速度1位
わたし
最優秀
結果を分析する
公式結果 (iOS7.1) 速度1位 速度2位 速度3位 速度4位 速度5位
DL時間 0.0568 0.4945 0.5860 0.8751 0.9791
レンダリング時間 0.1510 0.0120 0.0586 0.0506 0.0573
合計表示速度 0.2078 0.5065 0.5972 0.9257 1.0364
測定方法
iOS7.1.1/Safari/docomo LTEにて、各10回計測。
平均値(?)を結果として記載。キャッシュや平均の詳細は不明。
公式の測定方法が
よくわからない。
なにこれ?
結果を分析する
公式結果 (iOS7.1) 速度1位 速度2位 速度3位 速度4位 速度5位
DL時間 0.0568 0.4945 0.5860 0.8751 0.9791
レンダリング時間 0.1510 0.0120 0.0586 0.0506 0.0573
合計表示速度 0.2078 0.5065 0.5972 0.9257 1.0364
測定方法
iOS7.1.1/Safari/docomo LTEにて、各10回計測。
平均値(?)を結果として記載。キャッシュや平均の詳細は不明。
公式の測定方法が
よくわからない。
仕方がないので、
自分でも測定して
結果を比べてみよう。
再測定 (Opera20) 速度1位 速度2位 速度3位 速度4位 速度5位
リクエスト回数 0回 1回 2回 11回 16回
ダウンロード容量 0KB 0.7KB 12.8KB 170KB 119KB
DOM要素数 594 2 31 158 345
DOMContent
Loadedイベント
0.2417 ??? 0.1103 0.2467 0.2220
Loadイベント 0.2440 ??? 0.1503 0.2587 0.2627
自動ページ遷移 無し 有り 有り 無し 無し
測定方法
Win8.1/Opera20.0/VDSLにて、各5回計測。
初回のみキャッシュなし。最速と最遅を除く3回の平均を記載。
公式の測定方法が
よくわからない。
仕方がないので、
自分でも測定して
結果を比べてみた。
結果を分析する
再測定 (Opera20) 速度1位 速度2位 速度3位 速度4位 速度5位
リクエスト回数 0回 1回 2回 11回 16回
ダウンロード容量 0KB 0.7KB 12.8KB 170KB 119KB
DOM要素数 594 2 31 158 345
DOMContent
Loadedイベント
0.2417 ??? 0.1103 0.2467 0.2220
Loadイベント 0.2440 ??? 0.1503 0.2587 0.2627
自動ページ遷移 無し 有り 有り 無し 無し
測定方法
Win8.1/Opera20.0/VDSLにて、各5回計測。
初回のみキャッシュなし。最速と最遅を除く3回の平均を記載。
公式の測定方法が
よくわからない。
仕方がないので、
自分でも測定して
結果を比べてみた。
結果を分析する
超 残念な結論
モバイル回線では、リクエスト数の少ないものが勝つ。
→ 実際の現場ではほとんど役にも立たない。
「リクエスト数を簡単に減らせたら苦労しないよ!」
フロントチューニングは無駄なのか?
そうではない。しかし、コスパの良いものを選ばないと後悔する。
チューニング技法 効果 導入 コメント
HTML/JavaScript/CSSの圧縮・結合 良 簡単 必ずやるべき
CDNの利用 (Google Libraries API等) 良 簡単 グローバルサイトで効果的
画像の遅延ロード (Unveil.js) 優 普通 推奨。imgタグの記述を工夫する必要がある
PNG画像の最適化 可 普通 Kflate圧縮アルゴリズムによる可逆圧縮。
自動化必須
jQuey.jsのZepto.jsによる代替 良 面倒 軽量かつスマホに最適化されたライブラリ。
完全互換でないので移行は手間がかかる
CSS Sprite (画像の結合) 可 面倒 レイアウト変更時の作業が大変。
自動化必須
base64 encoding (画像の埋め込み) 可 面倒 画像容量が135%肥大化するので要注意。
初期ロードが遅延する危険性がある
画像のWebフォント化 可 面倒 CSS Spriteのベクター版。単色画像のみ
チューニング技法 効果 導入 コメント
処理の重いCSSプロパティーを使わない ほぼ無 面倒 正直ほとんど意味がない
ApplicationCache (オフライン対応) 優 大変 2回目以降のアクセスで劇的な効果。
キャッシュマニフェストの厳格な管理が必要
JS/CSSのフルスクラッチ 可 大変 納得できるまで書き直す。採算度外視
画像の色分布最適化 可 大変 コスパ悪すぎ
画像を使わない 良 無理
提言
自動化できないチューニングを現場で活用するのは現実的でない。
きちんと実装・管理コスパを考えて最適化をしたい
ベストUI賞をいただいたデザインの解説
時間がないのに
イラレでデザインを組み、
徹夜でHTML/CSSを
フルスクラッチした。
スライドメニューなども
考えたが、時間の都合で
実装せず。
ベストUI賞をいただいたデザインの解説
どうしたら軽いままデザインを良くできるか?
元はモノクロで淡白なデザインだった
→ PC版と同じカラーを採用
→ 見出しは日本語Webフォントを使った
(やさしさゴシックをサブセット化して使用)

More Related Content

Similar to 超チューニング祭ふりかえり

Web frontend performance tuning
Web frontend      performance tuningWeb frontend      performance tuning
Web frontend performance tuningssuser3c214d
 
ML system design_pattern
ML system design_patternML system design_pattern
ML system design_patternyusuke shibui
 
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことHTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことMasakazu Muraoka
 
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53Toshiaki Maki
 
Ml15minutes 190330
Ml15minutes 190330Ml15minutes 190330
Ml15minutes 190330Rio Kurihara
 
小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変えるHiroto Igarashi
 
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法Eiji Kodama
 
Best of MAX「ベテランほど知らずに損してる IllustratorとPhotoshopの新常識(CCライブラリ編)」
Best of MAX「ベテランほど知らずに損してる IllustratorとPhotoshopの新常識(CCライブラリ編)」Best of MAX「ベテランほど知らずに損してる IllustratorとPhotoshopの新常識(CCライブラリ編)」
Best of MAX「ベテランほど知らずに損してる IllustratorとPhotoshopの新常識(CCライブラリ編)」swwwitch inc.
 
Webシステムとちょっと便利なツール
Webシステムとちょっと便利なツールWebシステムとちょっと便利なツール
Webシステムとちょっと便利なツールMasashi Shinbara
 
WEBデザインにおける、Photoshopの作業速度向上テクニック 先生:黒葛原 道
WEBデザインにおける、Photoshopの作業速度向上テクニック 先生:黒葛原 道WEBデザインにおける、Photoshopの作業速度向上テクニック 先生:黒葛原 道
WEBデザインにおける、Photoshopの作業速度向上テクニック 先生:黒葛原 道schoowebcampus
 
賢くツールを使って脱人海戦術駆動テスト
賢くツールを使って脱人海戦術駆動テスト賢くツールを使って脱人海戦術駆動テスト
賢くツールを使って脱人海戦術駆動テストMitsuru Ogawa
 
俺 と ご褒美 Bot
俺 と ご褒美 Bot俺 と ご褒美 Bot
俺 と ご褒美 BotMasayuki KaToH
 
Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門You&I
 
Smartphone ui:ux」 de na creative seminar vol.1 レポート
Smartphone ui:ux」 de na creative seminar vol.1 レポートSmartphone ui:ux」 de na creative seminar vol.1 レポート
Smartphone ui:ux」 de na creative seminar vol.1 レポートMasaru Kimura
 
30分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.230分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.2uchan_nos
 

Similar to 超チューニング祭ふりかえり (20)

Web frontend performance tuning
Web frontend      performance tuningWeb frontend      performance tuning
Web frontend performance tuning
 
テスト
テストテスト
テスト
 
ML system design_pattern
ML system design_patternML system design_pattern
ML system design_pattern
 
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことHTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なこと
 
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
 
Ml15minutes 190330
Ml15minutes 190330Ml15minutes 190330
Ml15minutes 190330
 
小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える
 
Angular2
Angular2Angular2
Angular2
 
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
 
Best of MAX「ベテランほど知らずに損してる IllustratorとPhotoshopの新常識(CCライブラリ編)」
Best of MAX「ベテランほど知らずに損してる IllustratorとPhotoshopの新常識(CCライブラリ編)」Best of MAX「ベテランほど知らずに損してる IllustratorとPhotoshopの新常識(CCライブラリ編)」
Best of MAX「ベテランほど知らずに損してる IllustratorとPhotoshopの新常識(CCライブラリ編)」
 
Webシステムとちょっと便利なツール
Webシステムとちょっと便利なツールWebシステムとちょっと便利なツール
Webシステムとちょっと便利なツール
 
Angular#Kanazawa
Angular#KanazawaAngular#Kanazawa
Angular#Kanazawa
 
2013 Ignite UI 最新情報 in 岡山
2013 Ignite UI 最新情報 in 岡山2013 Ignite UI 最新情報 in 岡山
2013 Ignite UI 最新情報 in 岡山
 
WEBデザインにおける、Photoshopの作業速度向上テクニック 先生:黒葛原 道
WEBデザインにおける、Photoshopの作業速度向上テクニック 先生:黒葛原 道WEBデザインにおける、Photoshopの作業速度向上テクニック 先生:黒葛原 道
WEBデザインにおける、Photoshopの作業速度向上テクニック 先生:黒葛原 道
 
Dot_fes2013
Dot_fes2013Dot_fes2013
Dot_fes2013
 
賢くツールを使って脱人海戦術駆動テスト
賢くツールを使って脱人海戦術駆動テスト賢くツールを使って脱人海戦術駆動テスト
賢くツールを使って脱人海戦術駆動テスト
 
俺 と ご褒美 Bot
俺 と ご褒美 Bot俺 と ご褒美 Bot
俺 と ご褒美 Bot
 
Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門
 
Smartphone ui:ux」 de na creative seminar vol.1 レポート
Smartphone ui:ux」 de na creative seminar vol.1 レポートSmartphone ui:ux」 de na creative seminar vol.1 レポート
Smartphone ui:ux」 de na creative seminar vol.1 レポート
 
30分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.230分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.2
 

超チューニング祭ふりかえり