小程序開發過程中常見的問題及優化方法介紹
相比APP開發,小程序開發門檻低,成本低,但是小程序開發過程中還是會遇到一些問題。對于小程序開發過程中可能遇到的問題和解決方法,全通網絡梳理了一下
1.網絡請求接口域名的限制解決
小程序對網絡請求接口域名有明確要求。針對4種服務器域名(request、socket、uploadfile、downloadfile)每種只能指定一個合法域名。這樣,對于后臺業務十分復雜,并使用不同域名對業務進行劃分的應用就會有問題,比如騰訊的自選股,后臺就十分復雜。應對這個限制,騰訊自選股最終通過統一代理方式將多個域名收斂為一個域名,由代理層將請求轉發。
2.應用內部支持https請求
微信小程序文檔中要求wx.request網絡請求發起的是HTTPS請求,這對于有各種接口的應用也帶來影響。仍以騰訊自選股為例,通過在統一代理層部署證書支持HTTPS請求,這樣后端RS機器無需改動,成功解決必須是HTTPS請求的問題。
iOS規則自2017.1開始服務器會只支持HTTPS協議的接口,所以,現在開始盡量統一為HTTPS。
3.小程序僅支持5個并發的網絡請求
微信小程序官方文檔中也提到了,同時打開頁面有5個的限制。所以不適合做太深層級頁面的交互應用。像騰訊自選股這類深層級頁面交互的應用,可以使用動態接口將頁面需要的數據進行合并,通過一個接口獲取頁面所需數據。
4.多個頁面代碼共用問題
小程序頁面與頁面之間代碼復用性差。當多個頁面共用一個js或者json的時候(比如詳情頁面),需要打包和構建工具的支持(如用webpack)。沒有工具就只能自己手工復制,一旦涉及修改的時候,要修改多個頁面就比較麻煩了。
5.關于有狀態的登錄問題
關于登錄,目前小程序不支持cookie,而是采用前端利用微信提供的接口獲取登錄憑證code,server端再用code獲取密鑰session_key的方式對用戶數據完成加密解密,整個過程需要server端對已有的登錄體系進行再次封裝,而本地的登錄態可以利用微信提供的本地存儲進行保存。
以上是一些小程序開發中會遇到的部分問題和相應的解決方案,對于小白們有一定的幫助。可想而知未來小程序開發不再是個小眾話題,微信小程序的巨大能量,將會引來更多人加入這場紛爭。只有爭得先機者,才能笑到最后。