SlideShare ist ein Scribd-Unternehmen logo
1 von 83
把手機版網站變好用了
Adam WangFront-end engineer
@ Pinkoi
Modern Web, 2015/5/16
Pinkoi 是亞洲最大設計商品購物網站
擁有為數眾多的優質設計師群,堅持只賣好品味、客製化的優質設計,讓美感生活隨手可得,
也讓每個送禮時刻都更加獨一無二。
Pinkoi.com
手機版網站?
說好的 mobile first
有 app 不就好了嗎?
當你從 Facebook app
點個新聞...
當你想買個東西...
Mobile
First!
zoom! zoom! zoom!
對手機版網站的印象...
資料來源 http://yahoo-mobile.tumblr.com/post/113770919292/app
速度慢
:(
功能陽春
:(
畫面太小
:(
Google 最近針對
行動版網站
(mobile-friendly)
提高搜尋排名
(2015.4)
https://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Fpinkoi.com
這比 SEO 還重要
流量進來但留不住,豈不是更浪費?
Pinkoi 的流量來自移動裝置
~ 50%
如何讓手機版網頁更好用?
你該思考的不只是螢幕小
mobile-friendly
Responsive Web Design
pic credit: http://www.iqtv.com/mobile-first-website-design/
RWD 是唯一解?
下載過多不必要的資訊
同時滿足滑鼠與觸控?
Pinkoi mobile web
針對使用情境來設計
輕量
適合觸控
適合快速瀏覽
RESS
Responsive Design + Server Side Components
by Lukew, in 2011
http://www.lukew.com/ff/entry.asp?1392
photo credit: https://twitter.com/lukew
手機、桌面兩套程式
網址一樣
由伺服器判斷給桌面版或行動版網站
m.pinkoi.com
jQuery vs. Zepto
Zepto 更輕量 <10KB
更適合手機使用情境(網路速度較慢)
為何要網址一樣?
減少 redirect 時間
SEO
漢堡選單
觸控螢幕沒有 :hover
https://www.youtube.
com/watch?v=DucPpcdQCV8
我們還是有用 RWD
@media rocks
行動瀏覽器幾乎都支援 HTML5
瀏覽歷史紀錄
非敏感資訊
便於使用者回頭查詢
用 localStorage 省資料傳輸、DB 資源
e.g. 站上玩遊戲
Safari private mode
window.pushState
用 histroy API 做簡易版 Single Page App (SPA)
找靈感(infinite scroll)點擊商品
回到上一頁垂直位置
手機瀏覽不易在 tab 切換
<input type=”number”>
更方便使用者輸入
覺得網頁慢?
DOMContentLoad?
Jank?
fps?
在這裡等網頁載完
地球都過半個月了
http://www.digitaltrends.com/movies/now-can-
buy-one-ticket-unlimited-screenings-interstellar/
#perfmatters
wikimedia 效能工程師徵才文
「你讓頁面每增快 100ms,
就幫助使用者每年省下 617 年累計等待時間」
Wikimedia's JavaScript code is executed over half a billion times a day on hundreds of millions of devices. If
you can drop our page load time 100ms, you'll have saved our annual visitors from waiting an aggregate 617
years.
https://boards.greenhouse.io/wikimedia/jobs/55730
Load (畫面載入)
Idle (使用者點擊按鈕等待回應)
Animation (展開漢堡選單出現動畫)
Response (點擊商品圖片)
ref: https://speakerdeck.com/paullewis/making-a-silky-smooth-web
Load 1000ms
Idle 50ms
Animation 16ms
Response 100msref: https://developers.google.com/web/fundamentals/performance/critical-rendering-path/optimizing-
critical-rendering-path?hl=zh-tw
LIAR
等待畫面出現?
Critical rendering path
Progressive jpeg
http://www.webpagetest.org/video/compare.php?tests=150515_EA_FT3-r%
3A1-c%3A0&thumbSize=200&ival=16.67&end=visual
當瀏覽商品時
只更新部分畫面 + history API
順~~
Above The Fold
關鍵轉譯路徑 (Critical rendering path)
除了資訊架構,你也該思考執行程式的順序
ref: https://developers.google.com/web/fundamentals/performance/critical-rendering-path/optimizing-
critical-rendering-path?hl=zh-tw
Tips
先發出 img request
提示使用者處理進度、placeholder
加速 DOM rendering tree (隱藏不需要的部分)
減少 DOM traverse、DOM access
一次處理完所有 layout 相關 rendering
CSS Animations
「看起來」像 app 般順暢
以過場動畫讓使用者感覺上有在跑
例如 loading bar
如何讓畫面順暢
scrolling jank
animation
16ms budget
compositepaint
Rendering Pipeline
layoutstyleJavaScript
compositepaint
selector (e.g. div > li)
layoutstyleJavaScript
compositepaint
width
layoutstyleJavaScript
compositepaint
background
layoutstyleJavaScript
.gif 也會觸發
compositepaint
transform
layoutstyleJavaScript
在 16ms 做完一個片段
甚至小於 10ms
pipeline 路徑越短越好
compositepaint
The Fastest
layoutstyleJavaScript
csstriggers.com
by Paul Lewis
<canvas>?
Chrome Dev Tool
Timeline
一定要試試看
chrome://flags/show-fps-counter
chrome://inspect/devices
(demo)
還有一些武器可以用
Lazyload Everything
圖片、次要內容延遲載入
副作用:document.scrollTop (觸發 layout)
requestAnimationFrame()
讓瀏覽器把手邊事情做完,才處理 UI
還有 transitionend event 取代 setTimeout
Composite
Layers
過少不好、過多也不好
Chrome Dev Tool 可以顯示
chrome://flags#composited-layer-borders
will-change
e.g. #foo {will-change: transform;}
backface-visibility、translateZ
強制產生 composite layer
Google
PageSpeed
Web Page Test
http://www.webpagetest.org/
example: http://www.webpagetest.
org/result/150515_NY_4F3/
Dulles, VA - Nexus 5 -
Chrome - 3GFast
http://www.webpagetest.org/video/view.
php?id=150515_NY_4F3.3.0
Takeaways
RWD = mobile-friendly?
手機效能差,要盡可能優化關鍵轉譯路徑
JS/CSS 動畫要考慮 16ms 限制
利用工具不斷實機測試和優化!
Cross-Browser
on mobile?
Yes.
推薦 Udacity 課程
Browser Rendering Optimization
http://udacity.com/course/ud860
FREE
Push the Boundary!
我們做得還不夠好!
photo credit https://awards.yahoo.com/post/108918468042/how-the-whiplash-writer-director-
came-up-with
We are hiring! :)
pinkoi.com/about/pinkoist
Ref.
https://speakerdeck.com/paullewis/making-a-silky-smooth-web
http://www.slideshare.net/firt/extreme-web-performance-for-mobile-device-fluent-2015
https://www.youtube.com/watch?v=2ksXo2_Lfl0
http://calendar.perfplanet.com/2013/the-runtime-performance-checklist/
http://www.paulirish.com/2015/advanced-performance-audits-with-devtools/
http://www.filamentgroup.com/lab/weight-wait.html
@perfmatters
Pinkoi 全站 92 折優惠碼
到 2015/5/18 日。
Thank you!
adam.wang@pinkoi.com
最近出了一本書,跟前端無關 ...
http://goo.gl/46rEOe

Weitere ähnliche Inhalte

Andere mochten auch

Javascript征服世界是可能的嗎?
Javascript征服世界是可能的嗎?Javascript征服世界是可能的嗎?
Javascript征服世界是可能的嗎?Fred Lin
 
Open Source Enlightenment 2015
Open Source Enlightenment 2015Open Source Enlightenment 2015
Open Source Enlightenment 2015Audrey Tang
 
ASP.NET 5 的創新與變革
ASP.NET 5 的創新與變革ASP.NET 5 的創新與變革
ASP.NET 5 的創新與變革Will Huang
 
知己知彼 善用分析工具 SimilarWeb 主要功能簡介
知己知彼 善用分析工具 SimilarWeb 主要功能簡介知己知彼 善用分析工具 SimilarWeb 主要功能簡介
知己知彼 善用分析工具 SimilarWeb 主要功能簡介MMdc 關鍵數位行銷 Bryan
 
高雄前端社群 #4 psdtohtml workshop
高雄前端社群 #4 psdtohtml workshop高雄前端社群 #4 psdtohtml workshop
高雄前端社群 #4 psdtohtml workshop洧杰 廖
 
《網站分析實戰》 Ch5書摘-你的網站在偷懶嗎?
《網站分析實戰》 Ch5書摘-你的網站在偷懶嗎?《網站分析實戰》 Ch5書摘-你的網站在偷懶嗎?
《網站分析實戰》 Ch5書摘-你的網站在偷懶嗎?Wanju Wang
 
Website Redesign
Website RedesignWebsite Redesign
Website Redesignvajaah
 
Gulp.js 自動化前端任務流程
Gulp.js 自動化前端任務流程Gulp.js 自動化前端任務流程
Gulp.js 自動化前端任務流程洧杰 廖
 
一拳前端考題
一拳前端考題一拳前端考題
一拳前端考題洧杰 廖
 
Etsy - XOXO 2012 - Portland
Etsy - XOXO 2012 - PortlandEtsy - XOXO 2012 - Portland
Etsy - XOXO 2012 - PortlandChad Dickerson
 
Sass&amp;rwd前端版型架構規劃
Sass&amp;rwd前端版型架構規劃Sass&amp;rwd前端版型架構規劃
Sass&amp;rwd前端版型架構規劃洧杰 廖
 
Pinkoi Platform
Pinkoi PlatformPinkoi Platform
Pinkoi Platformmikeleeme
 
自從學會Sass / Compass後,考試都考100分!
自從學會Sass / Compass後,考試都考100分!自從學會Sass / Compass後,考試都考100分!
自從學會Sass / Compass後,考試都考100分!洧杰 廖
 
2012.05.10網站分析工具實作工作坊成果
2012.05.10網站分析工具實作工作坊成果2012.05.10網站分析工具實作工作坊成果
2012.05.10網站分析工具實作工作坊成果Neo Marketing Workshop
 
改版專案V3
改版專案V3改版專案V3
改版專案V3Rich Wu
 
Stockflare 强大的股票筛选工具嘉维证券合作伙伴独享
Stockflare 强大的股票筛选工具嘉维证券合作伙伴独享Stockflare 强大的股票筛选工具嘉维证券合作伙伴独享
Stockflare 强大的股票筛选工具嘉维证券合作伙伴独享Shane Leonard, CFA
 
Mobile Flight 行動機票 APP 功能介紹
Mobile Flight 行動機票 APP 功能介紹Mobile Flight 行動機票 APP 功能介紹
Mobile Flight 行動機票 APP 功能介紹dreamslucy
 
從失敗中學習打造技術團隊
從失敗中學習打造技術團隊從失敗中學習打造技術團隊
從失敗中學習打造技術團隊Caesar Chi
 
Hello from mark・馬克說哈囉
Hello from mark・馬克說哈囉Hello from mark・馬克說哈囉
Hello from mark・馬克說哈囉YI Fei Tseng
 

Andere mochten auch (20)

Javascript征服世界是可能的嗎?
Javascript征服世界是可能的嗎?Javascript征服世界是可能的嗎?
Javascript征服世界是可能的嗎?
 
Open Source Enlightenment 2015
Open Source Enlightenment 2015Open Source Enlightenment 2015
Open Source Enlightenment 2015
 
ASP.NET 5 的創新與變革
ASP.NET 5 的創新與變革ASP.NET 5 的創新與變革
ASP.NET 5 的創新與變革
 
知己知彼 善用分析工具 SimilarWeb 主要功能簡介
知己知彼 善用分析工具 SimilarWeb 主要功能簡介知己知彼 善用分析工具 SimilarWeb 主要功能簡介
知己知彼 善用分析工具 SimilarWeb 主要功能簡介
 
高雄前端社群 #4 psdtohtml workshop
高雄前端社群 #4 psdtohtml workshop高雄前端社群 #4 psdtohtml workshop
高雄前端社群 #4 psdtohtml workshop
 
《網站分析實戰》 Ch5書摘-你的網站在偷懶嗎?
《網站分析實戰》 Ch5書摘-你的網站在偷懶嗎?《網站分析實戰》 Ch5書摘-你的網站在偷懶嗎?
《網站分析實戰》 Ch5書摘-你的網站在偷懶嗎?
 
Website Redesign
Website RedesignWebsite Redesign
Website Redesign
 
Gulp.js 自動化前端任務流程
Gulp.js 自動化前端任務流程Gulp.js 自動化前端任務流程
Gulp.js 自動化前端任務流程
 
一拳前端考題
一拳前端考題一拳前端考題
一拳前端考題
 
Etsy - XOXO 2012 - Portland
Etsy - XOXO 2012 - PortlandEtsy - XOXO 2012 - Portland
Etsy - XOXO 2012 - Portland
 
Sass&amp;rwd前端版型架構規劃
Sass&amp;rwd前端版型架構規劃Sass&amp;rwd前端版型架構規劃
Sass&amp;rwd前端版型架構規劃
 
Pinkoi Platform
Pinkoi PlatformPinkoi Platform
Pinkoi Platform
 
自從學會Sass / Compass後,考試都考100分!
自從學會Sass / Compass後,考試都考100分!自從學會Sass / Compass後,考試都考100分!
自從學會Sass / Compass後,考試都考100分!
 
Smart library
Smart librarySmart library
Smart library
 
2012.05.10網站分析工具實作工作坊成果
2012.05.10網站分析工具實作工作坊成果2012.05.10網站分析工具實作工作坊成果
2012.05.10網站分析工具實作工作坊成果
 
改版專案V3
改版專案V3改版專案V3
改版專案V3
 
Stockflare 强大的股票筛选工具嘉维证券合作伙伴独享
Stockflare 强大的股票筛选工具嘉维证券合作伙伴独享Stockflare 强大的股票筛选工具嘉维证券合作伙伴独享
Stockflare 强大的股票筛选工具嘉维证券合作伙伴独享
 
Mobile Flight 行動機票 APP 功能介紹
Mobile Flight 行動機票 APP 功能介紹Mobile Flight 行動機票 APP 功能介紹
Mobile Flight 行動機票 APP 功能介紹
 
從失敗中學習打造技術團隊
從失敗中學習打造技術團隊從失敗中學習打造技術團隊
從失敗中學習打造技術團隊
 
Hello from mark・馬克說哈囉
Hello from mark・馬克說哈囉Hello from mark・馬克說哈囉
Hello from mark・馬克說哈囉
 

Ähnlich wie Pinkoi 把手機版網站變好用了

解讀App新趨勢,運用App贏得更多商機!
解讀App新趨勢,運用App贏得更多商機!解讀App新趨勢,運用App贏得更多商機!
解讀App新趨勢,運用App贏得更多商機!Leo Lin
 
Csdn移动电子刊第一期
Csdn移动电子刊第一期Csdn移动电子刊第一期
Csdn移动电子刊第一期yangdj
 
如何打造品牌热门App案例篇
如何打造品牌热门App案例篇如何打造品牌热门App案例篇
如何打造品牌热门App案例篇Mary Yang
 
比價撿便宜 Steven
比價撿便宜 Steven比價撿便宜 Steven
比價撿便宜 StevenMichael Pan
 
橘子会 有米广告陈第 app营销
橘子会 有米广告陈第  app营销橘子会 有米广告陈第  app营销
橘子会 有米广告陈第 app营销宁 阮
 
APP行銷術
APP行銷術APP行銷術
APP行銷術jessmylov
 
台北好好玩App大賽講座
台北好好玩App大賽講座台北好好玩App大賽講座
台北好好玩App大賽講座Mr PM
 
App研究會小聚 (3):便利商店APP
App研究會小聚 (3):便利商店APPApp研究會小聚 (3):便利商店APP
App研究會小聚 (3):便利商店APPWell Huang
 
Web 真的死了嗎 談app與web app
Web 真的死了嗎 談app與web appWeb 真的死了嗎 談app與web app
Web 真的死了嗎 談app與web appYang SuJung
 
About Mobile Web Development Thing
About Mobile Web Development ThingAbout Mobile Web Development Thing
About Mobile Web Development ThingYu-Wei Chuang
 
千里之行,始於足下:動手寫自己的App
千里之行,始於足下:動手寫自己的App千里之行,始於足下:動手寫自己的App
千里之行,始於足下:動手寫自己的AppSmallr Huang
 
微疯客栈介绍 -微疯客20120411final
微疯客栈介绍 -微疯客20120411final微疯客栈介绍 -微疯客20120411final
微疯客栈介绍 -微疯客20120411finalansonji
 
昇鼎國際接案中心 App開發
昇鼎國際接案中心 App開發昇鼎國際接案中心 App開發
昇鼎國際接案中心 App開發Dale Hsieh
 
多巴胺數位行銷服務介紹
多巴胺數位行銷服務介紹多巴胺數位行銷服務介紹
多巴胺數位行銷服務介紹jessmylov
 

Ähnlich wie Pinkoi 把手機版網站變好用了 (20)

解讀App新趨勢,運用App贏得更多商機!
解讀App新趨勢,運用App贏得更多商機!解讀App新趨勢,運用App贏得更多商機!
解讀App新趨勢,運用App贏得更多商機!
 
Csdn移动电子刊第一期
Csdn移动电子刊第一期Csdn移动电子刊第一期
Csdn移动电子刊第一期
 
如何打造品牌热门App案例篇
如何打造品牌热门App案例篇如何打造品牌热门App案例篇
如何打造品牌热门App案例篇
 
[VideOhya] Titanium開發經驗分享_1020
[VideOhya] Titanium開發經驗分享_1020[VideOhya] Titanium開發經驗分享_1020
[VideOhya] Titanium開發經驗分享_1020
 
比價撿便宜 Steven
比價撿便宜 Steven比價撿便宜 Steven
比價撿便宜 Steven
 
App操作策略分享(建勳)
App操作策略分享(建勳)App操作策略分享(建勳)
App操作策略分享(建勳)
 
橘子会 有米广告陈第 app营销
橘子会 有米广告陈第  app营销橘子会 有米广告陈第  app营销
橘子会 有米广告陈第 app营销
 
Hp8 Talk
Hp8 TalkHp8 Talk
Hp8 Talk
 
APP行銷術
APP行銷術APP行銷術
APP行銷術
 
台北好好玩App大賽講座
台北好好玩App大賽講座台北好好玩App大賽講座
台北好好玩App大賽講座
 
AppDC 03, App x Design, Tony, Mobile 情感設計
AppDC 03, App x Design, Tony, Mobile 情感設計AppDC 03, App x Design, Tony, Mobile 情感設計
AppDC 03, App x Design, Tony, Mobile 情感設計
 
App研究會小聚 (3):便利商店APP
App研究會小聚 (3):便利商店APPApp研究會小聚 (3):便利商店APP
App研究會小聚 (3):便利商店APP
 
Web 真的死了嗎 談app與web app
Web 真的死了嗎 談app與web appWeb 真的死了嗎 談app與web app
Web 真的死了嗎 談app與web app
 
About Mobile Web Development Thing
About Mobile Web Development ThingAbout Mobile Web Development Thing
About Mobile Web Development Thing
 
千里之行,始於足下:動手寫自己的App
千里之行,始於足下:動手寫自己的App千里之行,始於足下:動手寫自己的App
千里之行,始於足下:動手寫自己的App
 
微疯客栈介绍 -微疯客20120411final
微疯客栈介绍 -微疯客20120411final微疯客栈介绍 -微疯客20120411final
微疯客栈介绍 -微疯客20120411final
 
【MMdc 分享】2012年可以為客戶帶來較多營收的兩個行動主題-Mobile page & app marketing
【MMdc 分享】2012年可以為客戶帶來較多營收的兩個行動主題-Mobile page & app marketing【MMdc 分享】2012年可以為客戶帶來較多營收的兩個行動主題-Mobile page & app marketing
【MMdc 分享】2012年可以為客戶帶來較多營收的兩個行動主題-Mobile page & app marketing
 
昇鼎國際接案中心 App開發
昇鼎國際接案中心 App開發昇鼎國際接案中心 App開發
昇鼎國際接案中心 App開發
 
Mr mobi
Mr mobiMr mobi
Mr mobi
 
多巴胺數位行銷服務介紹
多巴胺數位行銷服務介紹多巴胺數位行銷服務介紹
多巴胺數位行銷服務介紹
 

Pinkoi 把手機版網站變好用了