Submit Search
Upload
スマートフォンサイト制作 よくあるトラブルと 解決方法・回避方法
•
197 likes
•
88,091 views
Maboroshi.inc
Follow
NTTレゾナント主催のセミナーで発表した内容です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 115
Download now
Download to read offline
Recommended
スマートフォン対応、気をつけたいトラブル
スマートフォン対応、気をつけたいトラブル
Hiroaki Wakamatsu
スマートフォンブラウザ不具合特集
スマートフォンブラウザ不具合特集
Hiroaki Wakamatsu
UI設計におけるスマートフォン対応のまとめ
UI設計におけるスマートフォン対応のまとめ
Tomoki Imatomi
知らないと損するアプリ開発におけるStateMachineの活用法(15分版)
知らないと損するアプリ開発におけるStateMachineの活用法(15分版)
Ken Morishita
OSC2020 Fukuoka: インストールいらず、WebAR入門
OSC2020 Fukuoka: インストールいらず、WebAR入門
Takashi Yoshinaga
かけ算で使いこなす Xamarin
かけ算で使いこなす Xamarin
Tatsuji Kuroyanagi
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Tatsuji Kuroyanagi
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
一希 大田
Recommended
スマートフォン対応、気をつけたいトラブル
スマートフォン対応、気をつけたいトラブル
Hiroaki Wakamatsu
スマートフォンブラウザ不具合特集
スマートフォンブラウザ不具合特集
Hiroaki Wakamatsu
UI設計におけるスマートフォン対応のまとめ
UI設計におけるスマートフォン対応のまとめ
Tomoki Imatomi
知らないと損するアプリ開発におけるStateMachineの活用法(15分版)
知らないと損するアプリ開発におけるStateMachineの活用法(15分版)
Ken Morishita
OSC2020 Fukuoka: インストールいらず、WebAR入門
OSC2020 Fukuoka: インストールいらず、WebAR入門
Takashi Yoshinaga
かけ算で使いこなす Xamarin
かけ算で使いこなす Xamarin
Tatsuji Kuroyanagi
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Tatsuji Kuroyanagi
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
一希 大田
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVC
Yu Nobuoka
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
U-dai Yokoyama
A-Frameで始めるWindows Mixed Reality
A-Frameで始めるWindows Mixed Reality
Takashi Yoshinaga
Proxy War EPISODEⅡ
Proxy War EPISODEⅡ
zaki4649
EC-CUBE関西UG勉強会(EC-CUBE2系から3系へ移行にまつわるエトセトラ)
EC-CUBE関西UG勉強会(EC-CUBE2系から3系へ移行にまつわるエトセトラ)
Tsuyoshi Nagahashi
Oculus Quest 1&2 開発のはじめの一歩 with A-Frame WebVR
Oculus Quest 1&2 開発のはじめの一歩 with A-Frame WebVR
Takashi Yoshinaga
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
Takeshi Yoshida
ゲームエンジンの中の話
ゲームエンジンの中の話
Masayoshi Kamai
そろそろ押さえておきたい AngularJSのセキュリティ
そろそろ押さえておきたい AngularJSのセキュリティ
Muneaki Nishimura
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
MOSA Software Meeting 2014
MOSA Software Meeting 2014
Takeshi Shinmura
ハコスコとUIと時々、ご飯
ハコスコとUIと時々、ご飯
Shota Suzuki
11月12日セミナー資料[pdf]
11月12日セミナー資料[pdf]
Yuta Sayama
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
SEGADevTech
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Naoki Umehara
20120316 designerworkshoppublished
20120316 designerworkshoppublished
Yoichiro Sakurai
SORACOM Conference Discovery 2017 | E1. SORACOM APIによるデバイス設定・管理の自動化
SORACOM Conference Discovery 2017 | E1. SORACOM APIによるデバイス設定・管理の自動化
SORACOM,INC
CSS3 / JavaScriptで作るスマートフォンUIと落とし穴
CSS3 / JavaScriptで作るスマートフォンUIと落とし穴
西畑 一馬
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
Yoichiro Sakurai
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
Eiji Kodama
魅せるスマホ対応!?レスポンシブWebデザインセミナー
魅せるスマホ対応!?レスポンシブWebデザインセミナー
ec-campus
ライブコーディングとデモで理解するWebセキュリティの基礎
ライブコーディングとデモで理解するWebセキュリティの基礎
Takahisa Kishiya
More Related Content
What's hot
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVC
Yu Nobuoka
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
U-dai Yokoyama
A-Frameで始めるWindows Mixed Reality
A-Frameで始めるWindows Mixed Reality
Takashi Yoshinaga
Proxy War EPISODEⅡ
Proxy War EPISODEⅡ
zaki4649
EC-CUBE関西UG勉強会(EC-CUBE2系から3系へ移行にまつわるエトセトラ)
EC-CUBE関西UG勉強会(EC-CUBE2系から3系へ移行にまつわるエトセトラ)
Tsuyoshi Nagahashi
Oculus Quest 1&2 開発のはじめの一歩 with A-Frame WebVR
Oculus Quest 1&2 開発のはじめの一歩 with A-Frame WebVR
Takashi Yoshinaga
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
Takeshi Yoshida
ゲームエンジンの中の話
ゲームエンジンの中の話
Masayoshi Kamai
そろそろ押さえておきたい AngularJSのセキュリティ
そろそろ押さえておきたい AngularJSのセキュリティ
Muneaki Nishimura
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
MOSA Software Meeting 2014
MOSA Software Meeting 2014
Takeshi Shinmura
ハコスコとUIと時々、ご飯
ハコスコとUIと時々、ご飯
Shota Suzuki
What's hot
(12)
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVC
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
A-Frameで始めるWindows Mixed Reality
A-Frameで始めるWindows Mixed Reality
Proxy War EPISODEⅡ
Proxy War EPISODEⅡ
EC-CUBE関西UG勉強会(EC-CUBE2系から3系へ移行にまつわるエトセトラ)
EC-CUBE関西UG勉強会(EC-CUBE2系から3系へ移行にまつわるエトセトラ)
Oculus Quest 1&2 開発のはじめの一歩 with A-Frame WebVR
Oculus Quest 1&2 開発のはじめの一歩 with A-Frame WebVR
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
ゲームエンジンの中の話
ゲームエンジンの中の話
そろそろ押さえておきたい AngularJSのセキュリティ
そろそろ押さえておきたい AngularJSのセキュリティ
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
MOSA Software Meeting 2014
MOSA Software Meeting 2014
ハコスコとUIと時々、ご飯
ハコスコとUIと時々、ご飯
Similar to スマートフォンサイト制作 よくあるトラブルと 解決方法・回避方法
11月12日セミナー資料[pdf]
11月12日セミナー資料[pdf]
Yuta Sayama
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
SEGADevTech
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Naoki Umehara
20120316 designerworkshoppublished
20120316 designerworkshoppublished
Yoichiro Sakurai
SORACOM Conference Discovery 2017 | E1. SORACOM APIによるデバイス設定・管理の自動化
SORACOM Conference Discovery 2017 | E1. SORACOM APIによるデバイス設定・管理の自動化
SORACOM,INC
CSS3 / JavaScriptで作るスマートフォンUIと落とし穴
CSS3 / JavaScriptで作るスマートフォンUIと落とし穴
西畑 一馬
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
Yoichiro Sakurai
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
Eiji Kodama
魅せるスマホ対応!?レスポンシブWebデザインセミナー
魅せるスマホ対応!?レスポンシブWebデザインセミナー
ec-campus
ライブコーディングとデモで理解するWebセキュリティの基礎
ライブコーディングとデモで理解するWebセキュリティの基礎
Takahisa Kishiya
【MSC 2013】 開発者が知っておくべきこれからの開発現場 (DE-010)
【MSC 2013】 開発者が知っておくべきこれからの開発現場 (DE-010)
智治 長沢
Android webブラウザのhtml5対応状況
Android webブラウザのhtml5対応状況
Masakazu Muraoka
Sharoid Service Menu
Sharoid Service Menu
sharoid
Smartphone ui:ux」 de na creative seminar vol.1 レポート
Smartphone ui:ux」 de na creative seminar vol.1 レポート
Masaru Kimura
食べログのフロントエンドエンジニアってめっちゃ大変やねん・・・
食べログのフロントエンドエンジニアってめっちゃ大変やねん・・・
Yoshie Kaneno
PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料
Monaca
ドメイン『駆動』『開発』
ドメイン『駆動』『開発』
Hiroshi Maekawa
KCGビジネスインターンシップ 実習報告
KCGビジネスインターンシップ 実習報告
ripper0217
モバイルアプリパフォーマンス向上の道を踏み出す前に知っておきたいコト!@andousan
モバイルアプリパフォーマンス向上の道を踏み出す前に知っておきたいコト!@andousan
Andrey Chernov
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
Atsushi Harada
Similar to スマートフォンサイト制作 よくあるトラブルと 解決方法・回避方法
(20)
11月12日セミナー資料[pdf]
11月12日セミナー資料[pdf]
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
20120316 designerworkshoppublished
20120316 designerworkshoppublished
SORACOM Conference Discovery 2017 | E1. SORACOM APIによるデバイス設定・管理の自動化
SORACOM Conference Discovery 2017 | E1. SORACOM APIによるデバイス設定・管理の自動化
CSS3 / JavaScriptで作るスマートフォンUIと落とし穴
CSS3 / JavaScriptで作るスマートフォンUIと落とし穴
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
魅せるスマホ対応!?レスポンシブWebデザインセミナー
魅せるスマホ対応!?レスポンシブWebデザインセミナー
ライブコーディングとデモで理解するWebセキュリティの基礎
ライブコーディングとデモで理解するWebセキュリティの基礎
【MSC 2013】 開発者が知っておくべきこれからの開発現場 (DE-010)
【MSC 2013】 開発者が知っておくべきこれからの開発現場 (DE-010)
Android webブラウザのhtml5対応状況
Android webブラウザのhtml5対応状況
Sharoid Service Menu
Sharoid Service Menu
Smartphone ui:ux」 de na creative seminar vol.1 レポート
Smartphone ui:ux」 de na creative seminar vol.1 レポート
食べログのフロントエンドエンジニアってめっちゃ大変やねん・・・
食べログのフロントエンドエンジニアってめっちゃ大変やねん・・・
PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料
ドメイン『駆動』『開発』
ドメイン『駆動』『開発』
KCGビジネスインターンシップ 実習報告
KCGビジネスインターンシップ 実習報告
モバイルアプリパフォーマンス向上の道を踏み出す前に知っておきたいコト!@andousan
モバイルアプリパフォーマンス向上の道を踏み出す前に知っておきたいコト!@andousan
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
Recently uploaded
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Recently uploaded
(9)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
スマートフォンサイト制作 よくあるトラブルと 解決方法・回避方法
1.
木村哲朗 / 西畑一馬 スマートフォンサイト制作 よくあるトラブルと 解決方法・回避方法
2.
木村 哲朗 フロントエンドエンジニア
3.
西畑 一馬 フロントエンドエンジニア
4.
•フロントエンド実装 •デザイン・設計 •スマフォサイト制作 •セミナー登壇
5.
弊社スタッフの執筆書籍
6.
Outline •はじめに •事前のチェックポイント •トラブルシューティング •スマホサイトの検証・確認方法 •スマホにおけるパフォーマンス
7.
はじめに
8.
スマフォの やっかいな点
9.
パフォーマンスは高くない Android 4.0.4 Mobile Safari
6.0 Chrome 26.0.1410 0 100,000 200,000 300,000 400,000 361,156回/秒 77,906回/秒 53,235回/秒 jsPerfにて1秒間に処理できる createElement の回数を計測:http://jsperf.com/loop-130517-01/2 GALAXY NEXUS iPhone 4S MacBook Air
10.
機種によって挙動が異なる
11.
端末の種類が山ほどある 0 10 20 30 40 50 2011 2012 2013(∼6月) 7 16 14 4 22 19 17 45 24 DoCoMo
au SoftBank スマートフォンデータベースにて調査:http://smartphone.ultra-zone.net/
12.
事前の チェックポイント
13.
対応OSと 対応機種
14.
国内OS別シェア(1Q, 2013) その他 5.0% Android 45.8% iOS 49.2% Kantar調査より
15.
iOS Ver別シェア(06, 2013) iOS4以下 1.4% iOS
5 9.5% iOS 6 89.1% http://stats.unity3d.com/mobile/os-ios.html
16.
iOSの対応範囲 •メジャー最新版 •5.1 / 6.1 •4.x以下は 検証ができない •iOS7登場
17.
Android Ver別シェア(06, 2013) その他 2% Android
2.3 22% Android 4.0 34.9% Android 4.1 36.3% Android 4.2 4.2% http://stats.unity3d.com/mobile/os.html
18.
•2.3.x •4.0.x / 4.1.x
/ 4.2.x •2.2.x以下は トレンド実現困難 Androidの対応範囲
19.
端末ごとの対応 全機種対応は 大変
20.
できる端末から対応
21.
検証端末を決める •iPhone5, 4S /
iOS6.1 •iPhone4 / iOS5.1 •GALAXY S4 / Android 4.2.2 •HTC J butterfly / Android 4.1.1 •Xperia AX / Android 4.0.4 •SH-06D / Android 2.3.5 クライアントや開発会社と握る
22.
機種名とOS詳細バージョンは 必ずセットで指定 型番も!
23.
•タブレットはどうしますか? •Android 3.x には 対応しますか? ©
All rights reserved by Paymentmax
24.
基本をおさらい
25.
Webとネイティブの違い フリック可 アニメあり ネイティブ Web フリック不可 アニメなし
26.
表現力とパフォーマンス ネイティブ Web >
27.
運用効率 ネイティブ Web <
28.
ハイブリットアプリ ネイティブ Web+ ネイティブで外側を用意し コンテンツはWebアプリで表示
29.
高精細なディスプレイ ページ上の 1px デバイス上の 4px =
30.
画像も倍の密度が必要
31.
カンプは640pxで作る 640px •キャンバスは 640px •あらゆるものを 偶数サイズで
32.
リキッドデザインで作成する
33.
その他デザインの注意点 •テキストには ボールド(太字)体を使用しない •ドロップシャドウには ボケ足が必要 •画像を極力使用しない •CSS3で実現可能なデザインを 心がける
34.
ピクセルパーフェクト に こだわらない お金と時間によるけどね!
35.
viewportで画面を設定する •画面幅の指定 •拡大・縮小の 許可・不許可 •meta要素で設定
36.
<meta name="viewport" content="width=device-width,initial- scale=1.0"> •
width=device-width 端末の画面サイズに成行 • initial-scale=1.0 初期拡大率は等倍 • 拡大・縮小の不許可は要件などによる 一般的な指定
37.
RWDか 専用サイトか
38.
レスポンシブウェブデザイン (RWD) OK メリット NG
デメリット •1ソースで マルチデバイス に対応可能 •設計やデザイン に十分な知識が 必要
39.
RWDを導入するには 設計が肝心! •既存PCサイトを RWD化するのは茨の道 •モバイルファースト 予めスマフォ向けに設計をする
40.
ブレイクポイント •どのくらいの画面サイズで レイアウトを切り替えるかを設定 640px 641px
41.
InternetExplorerの取り扱い •RWDに対応できるのはIE9以上 •CSS3などを用いた表現も IEではサポートしていないことが多い •グレイスフルデグラデーション 古いIEではそれなりに
42.
ピクセルパーフェクト に こだわらない
43.
専用サイト OK メリット •専用の画面設計 が可能なため 自由度が高い •PC版との 振り分けなどに 手間がかかる NG デメリット
44.
振り分け方法・URLルール 最初に決める! •PCサイトとの振り分け方法 •サーバーサイド or フロントサイド •URLのルール •同一URL
or 別URL
45.
切り替えスイッチの実装 •スマフォ版とPC版の 表示を切り替えるボタン •表示モードを LocalStorage か Cookie に保存する •LocalStorage
が一般的だが JavaScript以外からアクセス不可 •CookieはAndroidで難あり
46.
作らない① http://www.apple.com/jp
47.
作らない② http://canon.jp
48.
UI別の注意点
49.
カルーセル 固定配置 モーダルウィンドウ
50.
•縦から横にしたときどうするの? •ヒアリング時に iPhoneでしか確認していない •バグ報告があがってきたが 提示された参考サイトでも 同じことがおきている •そもそも採用したプラグインが バグってる
51.
カルーセル •ループ処理、自動スクロールの有無 •チラつきやガタつきを 完全になくすのはかなり大変 •画面の情報量が多いとバグりやすい
52.
固定配置 •CSSでもJSでも実装は大変 •まさにバグのデパート あらゆるバグの原因になるので もはや御法度レベル
53.
これまでに出会ったバグ •期待通りの場所に表示されない •レイヤーの表示順が崩れる •画面の一番上をタップすると 画面の一番下にあるはずのリンクに 反応する •フォームパーツの表示や 文字入力が正常にできなくなる •描画パフォーマンスを著しく下げる
54.
モーダルウィンドウ •モーダルウィンドウ内で 文字入力などをするのは危険 •モーダルウィンドウの大きさが 画面サイズを超える場合にどうするか •シンプルな使い方にとどめる
55.
動画配信
56.
video要素で再生できる動画 参照: http://developer.apple.com/library/ios/#documentation/AppleApplications/Reference/ SafariWebContent/CreatingVideoforSafarioniPhone/CreatingVideoforSafarioniPhone.html 拡張子 .mp4 映像 H.264
Baseline Profile Level 3.0 ∼640x480/30fps 音声 AAC-LC ∼48kHz 容量 ∼2GB
57.
video要素でできないこと •動画のダウンロードを禁止すること •ブラウザ内でインライン再生すること (iPhone, Android 2.x系) •シークバーやボリューム操作 •ストリーミング配信
58.
動画配信のファイナルアンサー YouTubeでみんな幸せ!
59.
DRMつきストリーミング配信 •専門の会社やASPに相談する http://www.stream.co.jp/ http://uliza.jp/
60.
トラブル シューティング
61.
viewport関連
62.
文字が大きくなる NG OK
63.
発生条件 ∼ Chrome $('head') .append('<meta
name="viewport" content="width=device- width, initial-scale=1">'); $('.foo').hide(); • viewport で initial-scale が未指定 • JSでたくさんの要素を非表示にしてる • 他にも複合的な要因あり
64.
親要素に max-height: 999999px 参照:
http://stackoverflow.com/questions/11289166/chrome-on-android-resizes-font .foo{ max-height: 999999px; } <div class="foo"> <!-- !のp要素で現象が発生する場合 --> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. </p> </div>
65.
form関連
66.
フォーカス時にズームする NG OK
67.
発生条件 ∼6.x <p><input type="text"></p> <p><textarea></textarea></p> [type="text"], textarea
{ font-size: 14px; } • テキストフィールドやテキストエリアなどの 文字入力が可能なフォームパーツ • フォントサイズが16px未満
68.
font-size: 16px(相当)にする 参照: http://stackoverflow.com/questions/2989263/disable-auto-zoom-in-input-text-tag-safari-on- iphone :root
{ /* ブラウザのデフォルトフォントサイズは16px */ font-size: 1em; } [type="text"], textarea { /* デフォルトフォントサイズを継承する */ font-size: 1rem; }
69.
端末回転後に表示が崩れる NG OK
70.
発生条件 6.x∼ <input type="text"
placeholder="プレースホルダ"> • テキストフィールドに placeholder属性 が 指定されている • CSSで width が 100% に指定されている [type="text"]{ width: 100%; box-sizing: border-box; }
71.
親要素に overflow: hidden 参照:
http://stackoverflow.com/questions/12582788/placeholder-attribute-on-text-input-with- ios-6-from-landscape-to-portrait /* input要素の親要素に指定する */ form > p { overflow: hidden; } form [type="text"] { width: 100%; box-sizing: border-box; } <form action=""> <p><input type="text" placeholder="プレースホルダ"></p> </form> http://qiita.com/items/58621961c1f81b017e8d
72.
テキストフィールドがダブる OK 本来のテキストフィールド 謎のテキストフィールド NG
73.
発生条件 ∼ 2.3.x $('input').focus(function(){ window.scrollTo(0,
$(this).offset().top); }); • フォーカス時に画面をスクロールさせる • JSでたくさんの要素のスタイルを変更する • 他にも複合的な要因あり
74.
無茶しない •フォーカス時のスクロールは禁物 •translate3dなどでも発現する •スタイル変更の影響範囲を 最小限に抑える •4.x系ではテキスト入力自体が できなくなる端末も… 参照: http://blog.webcreativepark.net/2012/02/28-182744.html
75.
その他の困った
76.
明朝体で表示されてしまう NG OK
77.
発生条件 6.x∼ • font-family
が指定されていない
78.
font-familyを指定する 参照: http://ofsilvers.hateblo.jp/entry/font-family-for-ios6 /* スマートフォン専用サイトは"sans-serif"のみでも良い
*/ body{ font-family: sans-serif; } /* iOS,OSXの標準フォントは'Hiragino Kaku Gothic ProN' */ body{ font-family: 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; }
79.
ページ内リンクが動かない タップしても反応しない NG
80.
発生条件 ∼ 4.x <a
href="#foo">↑ページの先頭へ</a> • 同じアンカーをもう一度踏む • URLが変わらないとジャンプしない
81.
JSでスクロールさせる 参照: https://code.google.com/p/android/issues/detail?id=15437 $('a[href^="#"]').click(function(){ window.scrollTo(0, $(this.hash).offset().top); });
82.
スマホサイトの 検証・確認方法
83.
Step.1 Google Chrome
84.
Dev Tools
85.
Dev Tools •UserAgentの偽装 •ディスプレイサイズの変更 •タッチイベントのシミュレート •Geolocationや DeviceOrientationのシミュレート
86.
ResponsiView https://chrome.google.com/webstore/detail/responsiview/kcemonjjmilbiepahkhanlkddonpjlep
87.
QR-Code Tag Extension https://chrome.google.com/webstore/detail/qr-code-tag-extension/bcfddoencoiedfjgepnlhcpfikgaogdg
88.
Step.2 iOSシミュレーター
89.
iOSシミュレーター +Safari
90.
Step.3 local server •xampp •MAMP •python
simplehttpserver python -m SimpleHTTPServer 8000
91.
Local Area Network
92.
IPアドレス •ifcofing / ipconfig •My
IP Address
93.
Adobe Edge Inspect
CC
94.
iPhone+Safari
95.
Charles
96.
Charles #hosts 127.0.0.1 maboroshi.biz
97.
スマホにおける パフォーマンス
98.
reflow : リフロー repaint
: リペイント
99.
リフロー・リペイントとは
100.
…その前に
101.
レンダリングプロセス HTMLから DOMツリー構築 CSSから スタイルルール構成 ▲ レンダーツリー 構築・配置 ▲ 描画
102.
HTMLから DOMツリー構築 CSSから スタイルルール構成 ▲ レンダーツリー 構築・配置 ▲ 描画 レンダリングプロセス JSで 変更 再構築 再配置 リフロー 再描画 リペイント
103.
発生トリガー •DOMの 追加・変更・削除 •スタイルの 追加・変更・削除 •アニメーション •大きさや座標の取得 •フォームの文字入力 •クラス属性の変更 •フォントの変更 •画面の回転 •ウィンドウリサイズ •スクロール(!) …などなど
104.
リフローは高負荷
105.
Androidでのバグ リフローの処理落ち≒
106.
リフローを制する者 Androidを制する≒
107.
スタイル変更はクラス変更にまとめる $('#foo').addClass('bar'); $('#foo').width(100).height(50).css('color': '#FC0'); ▼ #foo.bar{ width: 100px; height:
50px; color: #FC0; } クラスの付け替えはできるだけ末端の要素で
108.
その他のポイント •position: fixed を使わない •アニメーションさせる要素は position:
absolute にする •アニメーションは60fpsを目標にする (Chromeのデベロッパーツールで計測可)
109.
参考リンク •http://youtu.be/ZTnIxIA5KGw •http://tokkono.cute.coocan.jp/blog/slow/ index.php/web-technology/reflow-and- repaint-in-browser/ •http://tech.naver.jp/blog/?p=379 •http://dresscording.com/blog/ performance/layout_painting.html
110.
まとめ
111.
痛し痒し •デザインカンプを作り込みすぎると Androidではまりやすくなる •プロトタイプを作って回していく •ウォーターフォール型のワークフローだと辛い
112.
終わらない戦い •今後もOSや端末ごとの バグや挙動の差違は増え続ける •スマフォに無茶させない •モバイルファーストな設計が重要
113.
線引きが重要 •どこまで対応するのか 何を優先するのか •予算や納期を全力で確保する •まぼろしでは 見積もりもアジャイル
114.
ピクセルパーフェクト に こだわらない
115.
ありがとうございました 木村哲朗 / 西畑一馬 スマートフォンサイト制作 よくあるトラブルと 解決方法・回避方法
Download now