1. 合理的設置可點擊元素的響應區域大小;
比較常見的是頁面的點擊按鈕太小,用戶點擊不到按鈕,這樣用戶體驗很不好。
2. 避免渲染頁面耗時過長;
當頁面渲染時間過長的話,會讓用戶感覺非常卡頓,當出現這種情況時,我們應該檢查一下當前渲染的頁面是不過大。
3. 避免執行腳本耗時過長;
執行腳本耗時過長,用戶也會感覺到非常卡頓,體驗非常不好,如果出現這種問題,我們應該檢查一下腳本的執行邏輯是否有問題,需要對腳本的執行邏輯進行相關的優化。
4. 對網絡請求做必要的緩存以避免多余的請求;
當每次從小程序從服務端去請求接口時,都會讓用戶有一個等待的時間,如果等待的時間過長,也會造成非常不好的體驗,所以我們應該盡量避免多余的請求,另外針對多次請求的相同數據,我們應該對數據做相應的緩存。
5. 不要引入未使用的WXSS樣式;
小程序里未使用的樣式應該刪除掉,以避免小程序打包體積過大,影響用戶加載小程序的速度。
6. 文字顏色與背景色搭配要好,適宜的用戶對比度更方便用戶閱讀;
小程序的界面建議有專業的美工進行顏色搭配。
7. 所有資源請求都用HTTPS;
小程序在上線后的接口地址必須是HTTPS的,否則無法正常請求;
8. 去掉官方廢棄的API和接口;
小程序在不斷更新中,有些API和接口會逐漸廢棄,特別是獲取用戶信息的相關功能,現在已經全面廢棄了,所以要特別注意;
9. 避免過大的WXML節點數目,一般應遵循以下規則:
(1). 一個頁面少于1000個WXML節點;
(2). 節點樹深度少于30層;
(3). 子節點樹不大于60個;
10. 避免將不可能訪問到的頁面打包在小程序里;
小程序在開發過程中,可能會寫一些臨時頁面在項目里面,比如一些Demo示例,在小程序在打包上傳時,應將無用的頁面刪除掉,以減小小程序包的體積。
11. 及時回收定時器;
小程序中的定時器是全局的,它并不會隨著頁面的銷毀頁消失,所以當頁面消毀時需要手動清除定時器。
12. 避免使用:active偽類來實現點擊狀態;
對于需要加上點擊態的地方可以使用navigator標簽來實現;
13. 滾動區域可開啟慣性滾動以增強體驗;
在安卓手機上,默認的慣性滾動功能,而在IOS手機上面,需要加上如下樣式才能開啟慣性滾動功能。
-webkit-overflow-scrolling:touch
14. 避免出現JavaScript異常;
如果小程序出現JavaScript異常,會導致小程序的交互出現異常,影響用戶體驗。
15. 所有的響應正常;
小程序的響應如果異常,頁面會一直處于加載狀態中,用戶無法正常使用。
16. 所有請求的耗時不能太久;
小程序的請求如果耗時太久,會導致用戶體驗不好,特別是一些用于投流的小程序,用戶首次打開的速度特別重要。
17. 避免短時間內發起太多的圖片請求;
如果在短期內加載很多的圖片會導致觸發并行加載,這樣就會加載的很慢,多圖片加載時一定要使用懶加載功能。
18. 避免短時間內發起太多的請求;
小程序短時間加載太多的請求會比較耗時,用戶等待過久會影響用戶體驗。
19. 避免setData的數據過大;
執行 setData操作時,邏輯層會把數據傳給系統層,系統層然后再傳給視圖層,這種層層傳遞對數據的大小的嚴格的要求,數據不能超過1MB。
20. 避免setData的調用過于頻繁;
頻繁的調用setData時,數據從邏輯層到達視圖層時,可能無法實時的發生改變。
21. 避免將未綁定的WXML的變量傳入setData;
在data中存放的變量在更新時會觸發頁面刷新,對于與視圖無關的變量應該存在頁面之外。