影響使用者體驗的點一般包括以下幾個:
網站本身內容的價值:這是核心,使用者有需求才有訪問;
UI對使用者的吸引度:第一印象很重要;
互動對使用者的友好度:操作的流程度?使用起來是否簡單?
網站的開啟速度:打不開我怎麼看?
從前端工程師的角度,我們能做的主要在第3和第四點上。
關於互動這塊,我並沒有太過深入的研究,但如果把我自己看做一個使用者,我覺得可以從以下幾個方面嘗試去做最佳化:
簡單化:互動流程儘可能簡單,能1步搞定就不要2步;
狀態可見:清楚明確的狀態可以讓使用者操作前,更好地預知結果,以便省去多餘的反覆試錯過程,比如提交或載入資料的loading進度條。
尊重使用者習慣:比如使用者習慣了某個圖示代表設定的意思,這時候就不要為了追求設計的新鮮度貿然去更換
重點突出:整個頁面不能千篇一律,不然使用者找不到重點還有可能產生視覺疲勞。
指引:當釋出新功能或流程中出現一些異常的時候,需要有明確的指引告訴使用者下一步該做什麼。
載入效能我們一般從幾個維度去衡量
白屏時間:在這個時間段,整個頁面就是一張白板,什麼也看不到。
首屏時間:在這個階段,在訪問裝置的可視視窗區域已經渲染完畢,使用者能看到部分內容。
針對性能這塊我們常見最佳化方案有:
1、載入最佳化:
2、js和css執行最佳化
3、渲染最佳化
影響使用者體驗的點一般包括以下幾個:
網站本身內容的價值:這是核心,使用者有需求才有訪問;
UI對使用者的吸引度:第一印象很重要;
互動對使用者的友好度:操作的流程度?使用起來是否簡單?
網站的開啟速度:打不開我怎麼看?
從前端工程師的角度,我們能做的主要在第3和第四點上。
與使用者的互動關於互動這塊,我並沒有太過深入的研究,但如果把我自己看做一個使用者,我覺得可以從以下幾個方面嘗試去做最佳化:
簡單化:互動流程儘可能簡單,能1步搞定就不要2步;
狀態可見:清楚明確的狀態可以讓使用者操作前,更好地預知結果,以便省去多餘的反覆試錯過程,比如提交或載入資料的loading進度條。
尊重使用者習慣:比如使用者習慣了某個圖示代表設定的意思,這時候就不要為了追求設計的新鮮度貿然去更換
重點突出:整個頁面不能千篇一律,不然使用者找不到重點還有可能產生視覺疲勞。
指引:當釋出新功能或流程中出現一些異常的時候,需要有明確的指引告訴使用者下一步該做什麼。
訪問速度載入效能我們一般從幾個維度去衡量
白屏時間:在這個時間段,整個頁面就是一張白板,什麼也看不到。
首屏時間:在這個階段,在訪問裝置的可視視窗區域已經渲染完畢,使用者能看到部分內容。
針對性能這塊我們常見最佳化方案有:
1、載入最佳化:
減少HTTP請求CDN快取資源壓縮合並載入不阻塞按需載入、預載入、非首屏非同步載入無cookie域名http22、js和css執行最佳化
減少重繪和迴流儘量使用事件代理,避免批次繫結事件使用touchstart、touchend代替click避免CSS表示式儘量避免使用DataURL3、渲染最佳化
儘量使用CSS3動畫使用requestAnimationFrame動畫代替setTimeout使用canvas或WebGLGPU加速函式節流(throttle)和防抖(debounce): 針對高頻事件,如捲軸