影響用戶體驗的點一般包括以下幾個:
網站本身內容的價值:這是核心,用戶有需求才有訪問;
UI對用戶的吸引度:第一印象很重要;
交互對用戶的友好度:操作的流程度?使用起來是否簡單?
網站的打開速度:打不開我怎么看?
從前端工程師的角度,我們能做的主要在第3和第四點上。
與用戶的交互
關于交互這塊,我并沒有太過深入的研究,但如果把我自己看做一個用戶,我覺得可以從以下幾個方面嘗試去做優化:
簡單化:交互流程盡可能簡單,能1步搞定就不要2步;
狀態可見:清楚明確的狀態可以讓用戶操作前,更好地預知結果,以便省去多余的反復試錯過程,比如提交或加載數據的loading進度條。
尊重用戶習慣:比如用戶習慣了某個圖標代表設置的意思,這時候就不要為了追求設計的新鮮度貿然去更換
重點突出:整個頁面不能千篇一律,不然用戶找不到重點還有可能產生視覺疲勞。
指引:當發布新功能或流程中出現一些異常的時候,需要有明確的指引告訴用戶下一步該做什么。
訪問速度
加載性能我們一般從幾個維度去衡量
白屏時間:在這個時間段,整個頁面就是一張白板,什么也看不到。
首屏時間:在這個階段,在訪問設備的可視窗口區域已經渲染完畢,用戶能看到部分內容。
可交互時間:用戶可以執行點擊、提交等與頁面交互的操作。
針對性能這塊我們常見優化方案有:
- 減少HTTP請求
- CDN
- 緩存
- 資源壓縮合并
- 加載不阻塞
- 按需加載、預加載、非首屏異步加載
- 無cookie域名
- http2
- 減少重繪和回流
- 盡量使用事件代理,避免批量綁定事件
- 使用touchstart、touchend代替click
- 避免CSS表達式
- 盡量避免使用DataURL
- 盡量使用CSS3動畫
- 使用requestAnimationFrame動畫代替setTimeout
- 使用canvas或WebGL
- GPU加速
- 函數節流(throttle)和防抖(debounce):針對高頻事件,如滾動條
以上就是我的個人見解了,如果覺得有幫助的話,不妨加個關注點個贊哦!也歡迎對前端有興趣的同學一起交流。