Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Eiji Kodama
8,978 views
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
第一回Build Insider OFFLINEでの資料です。
Read more
35
Save
Share
Embed
Embed presentation
Download
Downloaded 54 times
1
/ 53
2
/ 53
3
/ 53
4
/ 53
5
/ 53
6
/ 53
7
/ 53
8
/ 53
9
/ 53
10
/ 53
11
/ 53
12
/ 53
13
/ 53
14
/ 53
15
/ 53
16
/ 53
17
/ 53
18
/ 53
19
/ 53
20
/ 53
21
/ 53
22
/ 53
23
/ 53
24
/ 53
25
/ 53
26
/ 53
27
/ 53
28
/ 53
29
/ 53
30
/ 53
31
/ 53
32
/ 53
33
/ 53
34
/ 53
35
/ 53
36
/ 53
37
/ 53
38
/ 53
39
/ 53
40
/ 53
41
/ 53
42
/ 53
43
/ 53
44
/ 53
45
/ 53
46
/ 53
47
/ 53
48
/ 53
49
/ 53
50
/ 53
51
/ 53
52
/ 53
53
/ 53
More Related Content
PDF
20120316 designerworkshoppublished
by
Yoichiro Sakurai
PDF
無料で始めるアプリのバックエンド開発
by
Shoichi Takagi
KEY
スマートフォンアプリケーション開発の最新動向
by
Tsutomu Ogasawara
KEY
20120413 nestakabaneworkshop
by
Yoichiro Sakurai
PDF
nanapi IGNITIONチームの開発フローとその構築
by
晃 遠山
PPTX
小さく早い改善がスマホのサービス開発を変える
by
Hiroto Igarashi
PPTX
Onsen UIが目指すもの
by
アシアル株式会社
PPTX
Azure Mobile ServicesとAzure Mobile Apps
by
Masaki Yamamoto
20120316 designerworkshoppublished
by
Yoichiro Sakurai
無料で始めるアプリのバックエンド開発
by
Shoichi Takagi
スマートフォンアプリケーション開発の最新動向
by
Tsutomu Ogasawara
20120413 nestakabaneworkshop
by
Yoichiro Sakurai
nanapi IGNITIONチームの開発フローとその構築
by
晃 遠山
小さく早い改善がスマホのサービス開発を変える
by
Hiroto Igarashi
Onsen UIが目指すもの
by
アシアル株式会社
Azure Mobile ServicesとAzure Mobile Apps
by
Masaki Yamamoto
What's hot
PDF
Onsen UI 2.0とUIライブラリの未来
by
アシアル株式会社
PPTX
Microsoft Azureで始めるサクサクAndroid開発 in jazug青森
by
Masaki Yamamoto
PDF
Crunchtimer会社案内
by
Yuya Miyamoto
PPTX
PWAがたぶんくる
by
Ryu Shindo
PDF
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
by
アシアル株式会社
PDF
ServiceWorkerでつくるWebの未来
by
Yoshiki Kobayashi
PDF
Cordovaの特徴と開発手法概要
by
アシアル株式会社
PDF
Spa のための web サーバ構築ノウハウ
by
Kazuhiro Kotsutsumi
PPTX
Monaca事例から学ぶHTML5モバイルアプリの活用ポイント
by
アシアル株式会社
PDF
Html5/JSモバイルアプリ最前線
by
アシアル株式会社
PDF
iQONの開発手法 at iQONエンジニアセミナー
by
Imamura Masayuki
PPTX
Web標準技術でiOS、Android両対応アプリを開発
by
アシアル株式会社
PPTX
WordPressサイトをスマホアプリにしちゃおう!
by
Ryu Shindo
PPTX
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
by
アシアル株式会社
PPTX
Challenge PWA!! Technical Edition @JAG201809
by
Ryu Shindo
PPTX
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
by
Shin Ogata
PDF
Ionicでハイブリッドアプリ入門①
by
Tomokatsu Iguchi
PDF
チーム「ヘップバーン」- 2020/09 キャンプハッカソン
by
Saito Kotaro
PDF
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
by
アシアル株式会社
PPTX
Hello, React!! まで導く Reactの基礎
by
iPride Co., Ltd.
Onsen UI 2.0とUIライブラリの未来
by
アシアル株式会社
Microsoft Azureで始めるサクサクAndroid開発 in jazug青森
by
Masaki Yamamoto
Crunchtimer会社案内
by
Yuya Miyamoto
PWAがたぶんくる
by
Ryu Shindo
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
by
アシアル株式会社
ServiceWorkerでつくるWebの未来
by
Yoshiki Kobayashi
Cordovaの特徴と開発手法概要
by
アシアル株式会社
Spa のための web サーバ構築ノウハウ
by
Kazuhiro Kotsutsumi
Monaca事例から学ぶHTML5モバイルアプリの活用ポイント
by
アシアル株式会社
Html5/JSモバイルアプリ最前線
by
アシアル株式会社
iQONの開発手法 at iQONエンジニアセミナー
by
Imamura Masayuki
Web標準技術でiOS、Android両対応アプリを開発
by
アシアル株式会社
WordPressサイトをスマホアプリにしちゃおう!
by
Ryu Shindo
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
by
アシアル株式会社
Challenge PWA!! Technical Edition @JAG201809
by
Ryu Shindo
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
by
Shin Ogata
Ionicでハイブリッドアプリ入門①
by
Tomokatsu Iguchi
チーム「ヘップバーン」- 2020/09 キャンプハッカソン
by
Saito Kotaro
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
by
アシアル株式会社
Hello, React!! まで導く Reactの基礎
by
iPride Co., Ltd.
Viewers also liked
PDF
Build Insider OFFLINE vol.01 スマートフォンサイトのこれから ~ レスポンシブ・Webデザインは救世主となり得るか
by
H2O Space. Co., Ltd.
PDF
スケーラビリティと耐障害性を両立するWeb アプリケーション
by
Masayoshi Hagiwara
PPTX
ProductManagement / front-endin Sansan( & remote work)
by
Iwashita Hironori
PDF
よりよい開発を目指すための、プロセス&ツール活用
by
Kaoru NAKAMURA
PDF
レスポンシブ+α 第12回WordBench大阪
by
Junko Nukaga
PPTX
HTML5とWeb開発に関する最新動向
by
Shumpei Shiraishi
PDF
スマートフォン対応とレスポンシブWebデザイン
by
Marie Suenaga
PDF
Css nite fukuoka8 suenaga
by
Marie Suenaga
PPTX
Node.js Hands-On
by
Akinari Tsugo
PDF
一生食える強みの作り方 まとめ
by
Manabu Uekusa
PPTX
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
by
Tusyoshi Matsuzaki
PDF
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解する
by
Hajime Ogushi
PDF
レスポンシブWebデザインの実践ワークフロー(WDS)
by
Hiroyuki Ogawa
PDF
レスポンシブWebデザイン ワークフロー
by
Hiroyuki Ogawa
PDF
Webデザイン入門2-HTML5 フォーム,映像再生,音声再生, CSS3, レスポンシブWebデザイン-
by
Yossy Taka
PDF
短期間でのスマホ向けWeb開発
by
Manabu Uekusa
PDF
スマホアプリ開発-プロモーション・集客・サポート・広告収入-
by
Yossy Taka
PDF
Ajax非同期通信によるサーバー通信
by
Yossy Taka
PDF
JavaScriptによるgoogle maps apiの使い方
by
Yossy Taka
PDF
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション
by
Yuji Nojima
Build Insider OFFLINE vol.01 スマートフォンサイトのこれから ~ レスポンシブ・Webデザインは救世主となり得るか
by
H2O Space. Co., Ltd.
スケーラビリティと耐障害性を両立するWeb アプリケーション
by
Masayoshi Hagiwara
ProductManagement / front-endin Sansan( & remote work)
by
Iwashita Hironori
よりよい開発を目指すための、プロセス&ツール活用
by
Kaoru NAKAMURA
レスポンシブ+α 第12回WordBench大阪
by
Junko Nukaga
HTML5とWeb開発に関する最新動向
by
Shumpei Shiraishi
スマートフォン対応とレスポンシブWebデザイン
by
Marie Suenaga
Css nite fukuoka8 suenaga
by
Marie Suenaga
Node.js Hands-On
by
Akinari Tsugo
一生食える強みの作り方 まとめ
by
Manabu Uekusa
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
by
Tusyoshi Matsuzaki
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解する
by
Hajime Ogushi
レスポンシブWebデザインの実践ワークフロー(WDS)
by
Hiroyuki Ogawa
レスポンシブWebデザイン ワークフロー
by
Hiroyuki Ogawa
Webデザイン入門2-HTML5 フォーム,映像再生,音声再生, CSS3, レスポンシブWebデザイン-
by
Yossy Taka
短期間でのスマホ向けWeb開発
by
Manabu Uekusa
スマホアプリ開発-プロモーション・集客・サポート・広告収入-
by
Yossy Taka
Ajax非同期通信によるサーバー通信
by
Yossy Taka
JavaScriptによるgoogle maps apiの使い方
by
Yossy Taka
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション
by
Yuji Nojima
Similar to スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
PDF
フロントエンドから見たWebアプリの高速化 #gotandapm
by
Ryo Iinuma
PPTX
5分で詰め込む フロントエンド最適化
by
Shohei Tai
PDF
Frontend optimization dena_creativeseminar
by
DeNA_open_events
PDF
スマートフォンWebアプリ最適化”3つの極意”
by
Koji Ishimoto
PDF
速くなければスマフォじゃない
by
Kazunari Hara
PDF
我が家のフロントエンド開発事情
by
Naoki Yamada
PDF
Aqua ion press_tech_20121116_publish
by
Keita Watanabe
PPTX
フロントエンドの技術を刷新した話し。
by
Yutaka Horikawa
PDF
もっと良くなるHTMLアプリケーション設計と実装
by
Mitsue-Links
PDF
フロント作業の効率化
by
Yuto Yoshinari
PDF
Browser Computing Structure
by
Shogo Sensui
PDF
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
by
SwapSkills
PDF
高速化はじめの一歩
by
Yuki Nakane
PDF
HTML5ハイブリッド アプリ開発実践編
by
Monaca
PDF
アプリ開発の
by
maruyama097
PPTX
Webエンジニアによるスマートフォンアプリ開発
by
takeuchi-tk
PPTX
Mobile SEO (Japanese Version)
by
ssuserd60633
PPTX
Speed Up Web 2012
by
彰 村地
PDF
Smartphone ui:ux」 de na creative seminar vol.1 レポート
by
Masaru Kimura
PDF
スタートアップ向け!1人日でできるサービスの高速化方法と成果
by
Koichiro Sumi
フロントエンドから見たWebアプリの高速化 #gotandapm
by
Ryo Iinuma
5分で詰め込む フロントエンド最適化
by
Shohei Tai
Frontend optimization dena_creativeseminar
by
DeNA_open_events
スマートフォンWebアプリ最適化”3つの極意”
by
Koji Ishimoto
速くなければスマフォじゃない
by
Kazunari Hara
我が家のフロントエンド開発事情
by
Naoki Yamada
Aqua ion press_tech_20121116_publish
by
Keita Watanabe
フロントエンドの技術を刷新した話し。
by
Yutaka Horikawa
もっと良くなるHTMLアプリケーション設計と実装
by
Mitsue-Links
フロント作業の効率化
by
Yuto Yoshinari
Browser Computing Structure
by
Shogo Sensui
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
by
SwapSkills
高速化はじめの一歩
by
Yuki Nakane
HTML5ハイブリッド アプリ開発実践編
by
Monaca
アプリ開発の
by
maruyama097
Webエンジニアによるスマートフォンアプリ開発
by
takeuchi-tk
Mobile SEO (Japanese Version)
by
ssuserd60633
Speed Up Web 2012
by
彰 村地
Smartphone ui:ux」 de na creative seminar vol.1 レポート
by
Masaru Kimura
スタートアップ向け!1人日でできるサービスの高速化方法と成果
by
Koichiro Sumi
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
1.
スマホ向けWebアプリ開発で使える フロントエンド高速化手法 株式会社gloops 児玉 映治
2.
2 自己紹介 • 児玉 映治 •
株式会社gloops UI/UXグループマネージャー 兼WEBデザイングループマネージャー • 元々サーバサイドのエンジニア
3.
3 弊社紹介 • 株式会社gloops • 事業内容:ソーシャルアプリケーション事業 •
累計ユーザー数1800万人 • 主なタイトル
4.
4 アジェンダ 1. フロントエンド高速化の基本 ① ページサイズとHTTPリクエストの軽減 ②
ソースコードの最適化 2. ユーザーの体感速度 ① レンダリング ② イベント
5.
5 1. フロントエンド高速化の基本
6.
6 なぜフロントエンドの高速化が必要なのか ・ネイティブアプリ並のリッチさとパフォーマンスを スマホのWebアプリにも求められる ・UXに直結 ・継続率、離脱率、売上などに影響
7.
7 代表的な高速化の方法 ・ページサイズを軽くする ・HTTPリクエストを減らす ・styleは上に、scriptは下に書く ・CSSセレクタの最適化 ・処理速度の速いJavaScriptを書く ここと ここの話
8.
8 ① ページサイズとHTTPリクエストの軽減
9.
9 ページサイズを軽くする方法 ・画像最適化 ・画像をCSSで代用する ・minify化、gzip圧縮 ・キャッシュを使う
10.
10 HTTPリクエストを減らす方法 ・CSSスプライトを使う ・DataURIスキームを使う ・画像をCSSで代用する ・cssファイルや、jsファイルを纏める ここの話
11.
11 ・HTTPリクエストを一気に減らせる CSSスプライトの特徴 ・画像の表示は遅い ⇒CSSの解釈が終わってから画像を取りに行くため ・画像を用意する人とCSSを作る人が別々の場合 運用が少々面倒
12.
12 DataURIスキームの特徴 ・CSSスプライトより表示処理は早い ・画像ファイルの時より容量が増加する =キャッシュ必須 ・画像を更新するにはCSSファイルも更新する必要がある =キャッシュクリアされ、初回の読込みに時間がかかる ・HTTPリクエストが発生しない
13.
13 CSSスプライト ・更新頻度が少ない ・一つの画面で1回くらいしか使わない それぞれどう使い分ける? DataURIスキーム ・更新頻度が少ない ・一つの画面で何度も使う ・色数やサイズが小さい
14.
14 ・ページサイズは何kb? HTTPリクエストは何回? どの程度まで軽減するべきか? ・1秒以内を目指す ⇒2秒を超えると人は遅いと感じる ・速ければ速い程良い ・あとはデザインのクオリティと相談
15.
15 ページサイズを軽くした結果 ページサイズ HTTPリクエスト 時間 1120kb
50 1238.36ms 725kb 50 1036.88ms 508kb 50 910.67ms 308kb 50 689.29ms あるアプリでのLoadイベントまでの時間 ※iPhone4S(ios6.1) 3G回線を使用
16.
16 HTTPリクエストを減らした結果 ページサイズ HTTPリクエスト 時間 447kb
80 1006.86ms 436kb 50 939.71ms 442kb 35 662.50ms
17.
17 ページサイズ HTTPリクエスト 時間 447kb
80 1006.86ms 436kb 50 939.71ms 442kb 35 662.50ms
18.
18 あるアプリBで、2倍以上の差が発生 ページサイズ HTTPリクエスト 時間 アプリA
508kb 57 910.67ms アプリA 442kb 35 662.50ms アプリB 517kb 33 2091.90ms 減らすだけでは不十分
19.
19 ページサイズとHTTPリクエストを 減らしても遅い場合
20.
20 ② ソースコードの最適化 その1. CSS編
21.
21 CSSセレクタの高速化 ・セレクタは右から左へ解釈されるので 細かくするよりもシンプルにする方が高速
22.
22 計ってみた iPhone4 iPhone5 Galaxy
Nexus div > div > div > div.hoge 432ms 203ms 605ms .hoge 405ms 201ms 595ms 1000回実行してみると
23.
23 CSSセレクタの高速化 ・セレクタは右から左へ解釈されるので 細かくするよりもシンプルにする方が高速 ・運用性を重視した方が総合的に見て良い ・難解なセレクタ、汎用性のないセレクタ、 複雑な構造のHTMLにならないようにする
24.
24 セレクタよりも描画処理に注意する ・Google Chromeの開発ツールでTimelineを確認すると ボトルネックは大抵描画(緑色:Painting)
25.
25 ・重めのCSS ・スマホでCSSスプライトを使う場合 RetinaDisplay対応のためにbackground-size指定はほぼ必須 ⇒スプライト画像が大きいと background-sizeの処理も重くなる 描画が重くなるCSS
26.
26 描画が重い原因を探す ・Google Chrome Canaryの開発ツール ・CSSプロパティを調整し 重い原因を探す
27.
27 ② ソースコードの最適化 その2. JavaScript編
28.
28 変数を利用する ・DOM, 関数, style,
length etc… 複数回使うなら変数の中に入れてそっちを使う ・必ずvarで宣言してローカル変数にする ・基本中の基本 ・だけど見落としやすい
29.
29 変数を利用してDOM操作の回数を減らす
30.
30 一度に処理してDOM操作の回数を減らす
31.
31 かかる時間はJavaScriptだけではない ・DOM操作を行うと、ブラウザ側でも スタイルやレイアウトの再計算が行われている ・DOM操作の回数を減らすことで JavaScriptの処理だけでなく ブラウザ側の処理も軽くすることができる
32.
32 ② ソースコードの最適化 その3. jQuery編
33.
33 jQueryの最適化 ・jQueryオブジェクトの生成 速いのはどっち?
34.
34 jQueryの最適化 ・jQueryオブジェクトの生成 ○ × 速いのはどっち? ※ただしgetElementsByClassNameが実装されていないブラウザの場合はBが速い スマホの場合はA
35.
35 jQueryのセレクタの仕組み ① 初めにgetElementBy系が使われる (getElementById, getElementsByClassName,
getElementsByTagName) ② ①で取れない場合はquerySelectorAllが使われる ③ ②でもダメならsizzleエンジンが使われる
36.
36 jQueryのセレクタの仕組み ① 初めにgetElementBy系が使われる (getElementById, getElementsByClassName,
getElementsByTagName) ② ①で取れない場合はquerySelectorAllが使われる ③ ②でもダメならsizzleエンジンが使われる
37.
37 jQueryなどライブラリ利用時の注意点 ・確かに便利 ・だけど中でどういう処理がされているのかを 知っておくことで、 より速い処理を選択することができる
38.
38 1. フロントエンド高速化の基本 まとめ ・様々な高速化の手法が既に公開されている ・必ず自分自身で確かめる ・しかし自分と全く同じ環境で効果があるとは限らない
39.
39 2. ユーザーの体感速度
40.
40 ・ページサイズとHTTPリクエストを軽減すれば 速くなる 高速化のジレンマ ・ある程度まで軽減すると、 そこから先はデザインのクオリティが犠牲になる
41.
41 デザインのクオリティは下げられない 表示速度をこれ以上速くするのは難しい
42.
42 ① レンダリング ユーザーは読み込み中であろうと 操作できると思ったら即座に操作を始める 操作できると思う部分を先に表示して ユーザーにとっての待ち時間を短くする
43.
43 ・画像のレンダリングは表示方法によって順番が異なる 画像のレンダリング順を入れ替える ・img要素か、CSSのbackground-imageか ・img要素の方が、CSSのbackground-imageより 速く表示される(先にレンダリングされる) ・速く表示したい部分はimg要素で実装する
44.
44 <a href=“#” style=“position:absolute;
width:20px; height:20px; overflow:hidden; display:block;”> <img src=“sprite.png” width=“100” height=“200” alt=“hoge” style=“position:absolute; top:50px; left:0px;” /> </a> スプライト画像を使う ・img要素でもスプライト画像は使える ※但しHTMLの階層が深くなりやすい
45.
45 ② イベント ユーザーは何かの操作に対する応答が 100ms以上かかると違和感を持つ ユーザーの操作に対して速く応答する
46.
46 タップ時のイベントの種類 ・スマホでのタップ関連のイベントは主に次の6つがある mousedown, mousemove, mouseup touchstart,
touchmove, touchend
47.
47 touchイベントとmouseイベントの違い ・PCはtouchイベントが発生しない ・スマホでもmouseイベントやclickイベントは発生するが 違和感を感じるレベルでtouchイベントよりも遅い ・スマホであればtouchイベントを使う 何でもかんでもonclickで作らない
48.
48 touchstartとtouchend ・touchstart⇒指が触れただけで発生する touchend⇒ディスプレイから指を離すと発生する ・モーダルウィンドウやアコーディオンの表示など、 瞬時に処理を実行したい場合はtouchstartを使う ・ただしスマホの場合、画面をスクロールする時に ボタンに触れてしまうことがよくある。 画面遷移の実行など 全て反応が速ければ良いというわけでもない
49.
49 2. ユーザーの体感速度 まとめ ・基本的な高速化の対応をしたら 後はどれだけ気付き、気遣えるか ・そのためにはユーザーと同じ目線、 通信環境、心理状態になって 自分のアプリを触ってみることが必要 ・ユーザーに取って重要な部分がわかったら、 徹底的にそこをチューニングする
50.
50 3. さいごに
51.
51 なぜフロントエンドの高速化が必要なのか ・ネイティブアプリ並のリッチさとパフォーマンスを スマホのWebアプリにも求められる ・UXに直結 ・継続率、離脱率、売上などに影響
52.
52 なぜフロントエンドの高速化が必要なのか ・より良いUXの提供を目指す上で 操作時の不自然さは大きな障害 ・その不自然さを取り除くことが 高速化の役割 ・方法は色々あるので、 ユーザー目線に立って根気強くベストプラクティスを探す
Download