SlideShare a Scribd company logo
1 of 86
Download to read offline
スマートフォンサイトマークアップ 
67WS 
viewportとjQueryを改めて理解しよう! 
西畑一馬
西畑一馬
フロントエンドエンジニア 
西畑 一馬 
http://blog.webcreativepark.net
フロントエンドエンジニア 
西畑 一馬
フロントエンドエンジニア 
西畑 一馬
多様化するマークアップ業務
多様化するマークアップ業務 
HTML+CSS
多様化するマークアップ業務 
HTML5+CSS3 HTML+CSS
多様化するマークアップ業務 
CSSプリプロセッサー 
HTML5+CSS3 HTML+CSS
多様化するマークアップ業務 
CSSプリプロセッサー 
HTML5+CSS3 HTML+CSS 
CSSポストプロセッサー
多様化するマークアップ業務 
CSSプリプロセッサー 
HTML5+CSS3 HTML+CSS 
CSSポストプロセッサータスクランナー
多様化するマークアップ業務 
CSSプリプロセッサー 
HTML5+CSS3 HTML+CSS 
パフォーマンス 
タスクランナー 
CSSポストプロセッサー
多様化するマークアップ業務 
CSSプリプロセッサー 
HTML5+CSS3 HTML+CSS 
パフォーマンス 
タスクランナー 
CSSポストプロセッサー 
マルチデバイス対応
多様化するマークアップ業務 
CSSプリプロセッサー 
HTML5+CSS3 HTML+CSS 
パフォーマンス 
タスクランナー 
CSSポストプロセッサー 
マルチデバイス対応jQuery
多様化するマークアップ業務 
CSSプリプロセッサー 
HTML5+CSS3 HTML+CSS 
パフォーマンス 
タスクランナー 
CSSポストプロセッサー 
マルチデバイス対応 
JavaScript 
jQuery
多様化するマークアップ業務 
CSSプリプロセッサー 
求められるスキルはと日わ々、増加していく 
HTML5+CSS3 HTML+CSS 
パフォーマンス 
タスクランナー 
CSSポストプロセッサー 
マルチデバイス対応 
JavaScript 
jQuery
多様化するマークアップ業務 
CSSプリプロセッサー 
そして学んだことも変化していく 
HTML5+CSS3 HTML+CSS 
パフォーマンス 
タスクランナー 
CSSポストプロセッサー 
マルチデバイス対応 
JavaScript 
jQuery 
とわ
どっちが早い? 
for(var i=0; i<100; i++){ 
$('ul.hoge') 
} 
for(var i=0; i<100; i++){ 
$('.hoge') 
} 
参考:http://blog.webcreativepark.net/2014/12/02-013527.html
日々、知識のINとPわUTとUPDATE 
HTML+CSS
とわ 
Agenda 
jQueryの読み込み方法 
スマートフォンのviewport
jQueryの読み込み方法 
スマートフォンのviewport
読み込み方法 
<script type="text/javascript" 
src="jquery-2.1.1.min.js"></script>
読み込み方法 
<script type="text/javascript" 
src="jquery-2.1.1.min.js"></script>
jQueryのversion 
2.1.x 
1.11.x
jQueryのversion 
2.1.x 
1.11.x 
2.0.x 
1.10.x
jQueryのversion 
2.1.x 
1.11.x 
2.0.x 
1.10.x 
1.9.x
jQueryのversion 
2.1.x 
1.11.x 
2.0.x 
1.10.x 
1.8.3 1.9.x
jQueryのversion 
2.1.x 
1.11.x 
2.0.x 
1.10.x 
1.8.3 1.9.x 
3.x 
compat 
3.x
jQueryのversion 
2.1.x 
1.11.x 
2.0.x 
1.10.x 
1.8.3 1.9.x 
3.x 
compat 
3.x 
IE6~
jQueryのversion 
2.1.x 
1.11.x 
2.0.x 
1.10.x 
1.8.3 1.9.x 
3.x 
compat 
3.x 
IE9~ 
IE6~
jQueryのversion 
2.1.x 
1.11.x 
2.0.x 
1.10.x 
1.8.3 1.9.x 
3.x 
compat 
3.x 
IE9~ 
IE6~
jQueryのversion 
2.1.x 
1.11.x 
2.0.x 
1.10.x 
1.8.3 1.9.x 
3.x 
compat 
3.x 
IE9~ 
IE6~ IE8~
jQueryのversion 
2.1.x 
1.11.x 
2.0.x 
1.10.x 
1.8.3 1.9.x 
3.x 
compat 
3.x 
IE9~ 
IE6~ IE8~ 
後方互換性 
を重視
読み込み方法 
<!--[if lt IE 9]> 
<script src="jquery-1.11.1.js"></script> 
<![endif]--> 
<!--[if gte IE 9]><!--> 
<script src="jquery-2.1.1.js"></script> 
<!--<![endif]--> 
jQuery 2.0 Beta 3 Released | Official jQuery Blogより 
http://blog.jquery.com/2013/04/09/jquery-2-0-beta-3-released/
読み込み方法 
<!--[if lt IE 9]> 
NG 
<script src="jquery-1.11.1.js"></script> 
<![endif]--> 
<!--[if gte IE 9]><!--> 
<script src="jquery-2.1.1.js"></script> 
<!--<![endif]--> 
jQuery 2.0 Beta 3 Released | Official jQuery Blogより 
http://blog.jquery.com/2013/04/09/jquery-2-0-beta-3-released/
読み込み方法 
If you want, you can serve 2.0 to newer 
browsers and 1.9 to older ones using our 
conditional comment trick, but that is not 
required. 
jQuery 2.0 Released | Official jQuery Blogより 
http://blog.jquery.com/2013/04/18/jquery-2-0-released/
jQueryのversion 
2.1.x 
1.11.x 
2.0.x 
1.10.x 
1.8.3 1.9.x 
3.x 
compat 
3.x 
IE9~ 
IE6~ IE8~ 
後方互換性 
を重視
CDNの活用 
<script src="//ajax.googleapis.com/ajax/libs/ 
     jquery/2.1.1/jquery.min.js"></script>
 普通のサーバー 
A B
CDN 
A B
CDN 
A B
CDN ホスト 
jQuery公式のCDN 
http://code.jquery.com/ 
! 
Google Hosted Libraries 
https://developers.google.com/speed/libraries/devguide?hl=ja#jquery 
! 
Microsoft Ajax Content Delivery Network 
http://www.asp.net/ajaxlibrary/cdn.ashx#jQuery_Releases_on_the_CDN_0
<script src=“//ajax.googleapis.com/ajax/libs/jquery 
/1.2.1/jquery.min.js"></script> 
<script> 
(window.jQuery || document 
.write('<script src="/script/jquery-1.2.1.min.js"></script>')); 
</script> 
CDNのフォールバック
読み込みの高速化 
<head> 
(中略) 
<script src="jquery.min.js"></script> 
</head> 
<script src="jquery.min.js"></script> 
</body>
読み込みの高速化 
<head> 
(中略) 
<script src=“jquery.min.js" defer></script> 
</head> 
<head> 
(中略) 
<script src=“jquery.min.js" async></script> 
</head>
キャッシュを有効にするのが 
簡単確実
Expires 
ExpiresActive On 
ExpiresByType image/gif "access plus 30 days" 
ExpiresByType image/jpeg "access plus 30 days" 
ExpiresByType image/png "access plus 30 days" 
ExpiresByType text/css "access plus 30 days" 
ExpiresByType application/x-javascript "access plus 30 days"
キャッシュバスター 
<script src=“jquery.min.js?2014120822021234"></script> 
</body>
とわ 
スマートフォンのviewport
PCモードとSPモード
PCモード
PCモード 
980px 
iPhone 
980px 
! 
Android 
800px ~ 1000px
SPモード
viewport 
<meta name="viewport" 
content="width=device-width,initial-scale=1">
device-width 
WebサイトをDevice Pixel Ratioに 
応じて描画する設定
Device Pixel Ratio 
1pxを何px使って描画するかの設定
SPモード(iPhone 3G/ 3GS) 
実解像度 320px CSS解像度 320px
iPhone 4/ 4S / 5 / 5S / 5C 
実解像度 640px CSS解像度 320px
Retinaディスプレイ 
(高精細ディスプレイ)
iPhone 4/ 4S / 5 / 5S / 5C 
Device Pixel Ratio 2 
640個
iPhone 4/ 4S / 5 / 5S / 5C 
Device Pixel Ratio 2 
320個 
(640/2)
Galaxy S 
Device Pixel Ratio 1.5 
320個 
(480/1.5)
ARROWS X F-10D 
Device Pixel Ratio 2 
360個 
(720/2)
HTC J butterfly 
Device Pixel Ratio 3 
360個 
(1080/3)
http://blog.webcreativepark.net/2011/01/25-173502.html
iPhone 6
iPhone 6 
Device Pixel Ratio 2 
750個 
1334個
iPhone 6 
Device Pixel Ratio 2 
375個 
(750/2) 
667個(1334/2)
iPhone 6 Plus
iPhone 6 Plus 
Device Pixel Ratio 3 
1080個 
1920個
iPhone 6 Plus 
Device Pixel Ratio 3 
360個 
640個 
(1080/3) 
(1920/3)
downsampling
iPhone 6 Plus 
Device Pixel Ratio 3 
414個 
736個 
(1080/3*1.15) 
(1920/3*1.15) 
downsampling 1.15
Display Zoom(画面表示の拡大)
iPhone 6 
Device Pixel Ratio 2 
320個 
(750/2/1.1785) 
568個 
(1334/2/1.1785) 
upsamping 1.171875
iPhone 6 Plus 
Device Pixel Ratio 3 
375個 
667個 
(1080/3*0.96) 
(1920/3*0.96) 
downsampling 0.96
マルチデバイス対応の基本はリキッド
viewportに対する数値指定 
<meta name="viewport" 
content="width=320,initial-scale=1"> 
<meta name="viewport" 
content="width=330,initial-scale=1">
レスポンシブのブレークポイントは? 
スマートフォン 
portrate 320 ~ 414 
landscape 480 ~ 736 
タブレット 
portrate 600 ~ 768 
landscape 966 ~ 1028
最近の対応OS
iOSのバージョンシェア 
4% 
33% 
https://developer.apple.com/support/appstore/ 
63% 
iOS8 iOS7 Earlier
Androidのバージョンシェア 
7%1% 
8% 
9% 
20% 
21% 
34% 
4.4 4.1 4.2 2.3 4.0 4.3 2.2 
https://developer.android.com/about/dashboards/index.html?utm_source=ausdroid.net
OSバージョンごとに確認 
•メジャー最新版 
•7.x / 8.x 
! 
 
•マイナー最新版 
•4.0.x / 4.1.x / 
4.2.x / 4.3.x / 
4.4.x / 5.0.x
Remote TestKit 
http://appkitbox.com/testkit
Thank you!! 
67WS 
西畑一馬

More Related Content

Viewers also liked

EWD 3トレーニングコース#7 ewd-xpressメッセージ・パターンを適用する
EWD 3トレーニングコース#7 ewd-xpressメッセージ・パターンを適用するEWD 3トレーニングコース#7 ewd-xpressメッセージ・パターンを適用する
EWD 3トレーニングコース#7 ewd-xpressメッセージ・パターンを適用するKiyoshi Sawada
 
EWD 3トレーニングコース#30 ewd-xpressアプリケーションをモジュラー化する
EWD 3トレーニングコース#30 ewd-xpressアプリケーションをモジュラー化するEWD 3トレーニングコース#30 ewd-xpressアプリケーションをモジュラー化する
EWD 3トレーニングコース#30 ewd-xpressアプリケーションをモジュラー化するKiyoshi Sawada
 
EWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみる
EWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみるEWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみる
EWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみるKiyoshi Sawada
 
EWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いる
EWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いるEWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いる
EWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いるKiyoshi Sawada
 
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)parrotstudio
 
EWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップ
EWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップEWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップ
EWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップKiyoshi Sawada
 
EWD 3トレーニングコース#11 ewd-xpressでのエラー処理
EWD 3トレーニングコース#11 ewd-xpressでのエラー処理EWD 3トレーニングコース#11 ewd-xpressでのエラー処理
EWD 3トレーニングコース#11 ewd-xpressでのエラー処理Kiyoshi Sawada
 
jQueryで作るカスタム投稿の画像スライダーライブラリ
jQueryで作るカスタム投稿の画像スライダーライブラリjQueryで作るカスタム投稿の画像スライダーライブラリ
jQueryで作るカスタム投稿の画像スライダーライブラリTakashi Uemura
 
少人数から始めるできるだけ楽をするB2Bアプリ開発
少人数から始めるできるだけ楽をするB2Bアプリ開発少人数から始めるできるだけ楽をするB2Bアプリ開発
少人数から始めるできるだけ楽をするB2Bアプリ開発Atsuhiko Kimura
 
a-blog cms「simple2016」で学ぶ カスタマイズ初級編
a-blog cms「simple2016」で学ぶ カスタマイズ初級編a-blog cms「simple2016」で学ぶ カスタマイズ初級編
a-blog cms「simple2016」で学ぶ カスタマイズ初級編Kazumich YAMAMOTO
 
Kawaz的jQuery入門
Kawaz的jQuery入門Kawaz的jQuery入門
Kawaz的jQuery入門Kohki Miki
 
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろうMitsuo Kawashima
 
jQuery Mobile is not dead!
jQuery Mobile is not dead!jQuery Mobile is not dead!
jQuery Mobile is not dead!yoshikawa_t
 
なんとなくjQueryでAjaxをつかってみる
なんとなくjQueryでAjaxをつかってみるなんとなくjQueryでAjaxをつかってみる
なんとなくjQueryでAjaxをつかってみるHidetaka Okamoto
 
デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜
デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜
デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜Mignon Style
 
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8civic Sasaki
 
Webを勉強中の方々へ
Webを勉強中の方々へWebを勉強中の方々へ
Webを勉強中の方々へAtsushi Handa
 
Apache Torqueについて
Apache TorqueについてApache Torqueについて
Apache Torqueについてtako pons
 

Viewers also liked (20)

EWD 3トレーニングコース#7 ewd-xpressメッセージ・パターンを適用する
EWD 3トレーニングコース#7 ewd-xpressメッセージ・パターンを適用するEWD 3トレーニングコース#7 ewd-xpressメッセージ・パターンを適用する
EWD 3トレーニングコース#7 ewd-xpressメッセージ・パターンを適用する
 
EWD 3トレーニングコース#30 ewd-xpressアプリケーションをモジュラー化する
EWD 3トレーニングコース#30 ewd-xpressアプリケーションをモジュラー化するEWD 3トレーニングコース#30 ewd-xpressアプリケーションをモジュラー化する
EWD 3トレーニングコース#30 ewd-xpressアプリケーションをモジュラー化する
 
EWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみる
EWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみるEWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみる
EWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみる
 
EWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いる
EWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いるEWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いる
EWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いる
 
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
 
EWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップ
EWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップEWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップ
EWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップ
 
EWD 3トレーニングコース#11 ewd-xpressでのエラー処理
EWD 3トレーニングコース#11 ewd-xpressでのエラー処理EWD 3トレーニングコース#11 ewd-xpressでのエラー処理
EWD 3トレーニングコース#11 ewd-xpressでのエラー処理
 
jQueryで作るカスタム投稿の画像スライダーライブラリ
jQueryで作るカスタム投稿の画像スライダーライブラリjQueryで作るカスタム投稿の画像スライダーライブラリ
jQueryで作るカスタム投稿の画像スライダーライブラリ
 
少人数から始めるできるだけ楽をするB2Bアプリ開発
少人数から始めるできるだけ楽をするB2Bアプリ開発少人数から始めるできるだけ楽をするB2Bアプリ開発
少人数から始めるできるだけ楽をするB2Bアプリ開発
 
a-blog cms「simple2016」で学ぶ カスタマイズ初級編
a-blog cms「simple2016」で学ぶ カスタマイズ初級編a-blog cms「simple2016」で学ぶ カスタマイズ初級編
a-blog cms「simple2016」で学ぶ カスタマイズ初級編
 
Learning jQuery
Learning jQueryLearning jQuery
Learning jQuery
 
Kawaz的jQuery入門
Kawaz的jQuery入門Kawaz的jQuery入門
Kawaz的jQuery入門
 
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう
 
jQuery Mobile is not dead!
jQuery Mobile is not dead!jQuery Mobile is not dead!
jQuery Mobile is not dead!
 
なんとなくjQueryでAjaxをつかってみる
なんとなくjQueryでAjaxをつかってみるなんとなくjQueryでAjaxをつかってみる
なんとなくjQueryでAjaxをつかってみる
 
jQuery Mobile入門
jQuery Mobile入門jQuery Mobile入門
jQuery Mobile入門
 
デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜
デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜
デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜
 
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
 
Webを勉強中の方々へ
Webを勉強中の方々へWebを勉強中の方々へ
Webを勉強中の方々へ
 
Apache Torqueについて
Apache TorqueについてApache Torqueについて
Apache Torqueについて
 

67WS - スマートフォンサイトマークアップ viewportとjQueryを改めて理解しよう!