選擇了uniapp開發app


7月份打算做一簡單app,之前公司做app的時候簡單用過Dcloud公司的mui,當時由於uniapp剛出來,最終選擇了mui。對uniapp的

了解幾乎沒有。

做app對我來說幾乎是零基礎的,當然是能把任務完成越簡單越好。

當時有了解谷歌的Flutter,是使用Dart語言開發的,由於我和另外同事都感覺入門門檻比較高,加上app開發時間比較着緊,所以放棄了。現Flutter更新的頻率比較高,加上阿里大廠的扶持,后再做app會比較傾向。

本打算使用mui,當時是由於mui的性能問題一直也在猶豫,直到再次看到uniappp,被官方的“只開發一套代碼,可發布到IOS,Android、H5、以及各種小程序(微信/支付寶/百度/頭條/QQ/釘釘)等多個平台。”。當時着實是被吸引了,這才導致了入坑的開始。

簡單說一下在開發過程遇到的問題:

1、app的onLaunch生命周期中無法頁面跳轉,導致登錄攔截無法寫到app的onLaunch生命周期中,只能是寫到pages.json中第一個頁面的onLoad生命周期中,隨間接也能實現,但總是不符合常理的。

官方提供了如果app onLaunch生命周期如果有頁面跳轉的話,使用定時器延遲加載,但即使登錄攔截頁面跳轉了還是會執行pages.json中第一個頁面的onLoad生命周期中函數,官方又有說不支持在onLaunch生命周期做頁面跳轉。(其實加延遲可以實現)。

截至到現在還是沒鬧明白到底行還是不行?

2、github上提的issue都石沉大海了。。。

3、所謂的開發一套代碼可發布到多個平台,不是你想的那么簡單的。

// #ifdef APP-PLUS

中間寫安卓原生的代碼

//#endif

自行體會。。。

4、生態

官方提供了一些組件,但是你肯定找不到合適的組件,那就自己寫吧,先實現功能再美化樣式,可苦了我。

如果能有想vant的開源組件那肯定是極好的。

5、開發工具

之前用過HBuilder,換了HBuilderX后真機調試動不動就崩潰退出,這體驗是糟糕透了,關鍵是浪費時間。、

說了你這么多不好,但gitHub上你的star越來越高(10000多了),也希望你越來越好吧。

tips:

開發的app安卓市場上線了。ios甲方還沒要求,但我總在想如果代碼編譯成IOS會怎么樣?編譯成微信小程序會怎么樣?編譯成今日頭條小程序會怎么樣?編譯成支付寶小程序會怎么樣?編譯成h5我不擔心。

如果編譯到微信小程序問題太多的話,我肯定會重新開發微信小程序,因為我最近在做微信小程序,正好可以拿來練手。

2019-11-05更新:

app 圖表需求有更新,之前用的echarts,后官方建議升級為自定義模式(Hbuildx2.2.2升級到2.3.7),官方給出了一些升級建議和需要修改的地方。按照官方的方案,echarts圖表不報錯也不顯示,后私信論壇管理員,論壇管理員回復推薦使用ucharts,能理解你的目的,但做法實在是差評。再看升級文檔沒有了echarts替換方案,改成了推薦使用echarts。

吐槽:一個開源的軟件,升級不考慮兼容性,遲早會被棄用。

2019-11-15更新:

解決app自動登錄未正確返回而加載主頁數據的問題。

pages.json的第一個頁面放login,在login頁面的onLoad中執行自動登錄。(如果有token執行自動登錄,沒有則用戶名密碼登錄)這樣就解決了main頁面執行自動登陸沒返回前執行main頁面自有請求的問題。

瑕疵:因為自動登錄是由login跳轉到main的,如果網絡慢的話肉眼看到頁面跳轉。

附加登錄攔截邏輯:

系統首頁為login,login onLoad生命周期內 根據是否有token判斷是否需要自動登錄(用戶名密碼登錄成功換取的token會存到手機存儲,同樣退出登錄的時候會清除(刷新token請求失敗的時候和其他業務錯誤都會清除(比如設備在其他設備登錄過等)))。自動登錄成功后跳轉到mian,自動登錄失敗跳轉到login(會清除token),然后使用用戶名密碼登錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM