導語:
從小程式開始內測一直到現在,各家公司對小程式業務的開發需求越來越大。開發者在使用原生去開發小程式時很難受,尤其是遇上業務比較複雜的項目,如果仍使用原生開發,會變得很難去管理和迭代。
(學習影片分享:程式設計入門)
使用原生開發的問題:
小程式本身不支援常用的css預編譯器
不支援ES7以上的高階語法,如async await等特性;
Uni-appuni-app 是一個使用Vue.js 開發跨平台應用的前端框架。 ChamelonChameleon/kəˈmiːlɪən/,簡寫CML,中文名卡梅龍;中文意思變色龍,意味著就像變色龍一樣能適應不同環境的跨端整體解決方案。 主要特性目錄結構:提供規範化的專案結構,適合企業級大型應用的開發。 視圖層:視圖層由CML與CMSS編寫,核心是一個標準 響應式資料驅動視圖更新。 邏輯層:邏輯層由javascript編寫,邏輯層將處理資料後自動更新視圖,提供視圖層的事件回應方法。 多型協定:提供了跨端時各端底層元件與介面統一的解決方案。 規範校驗:為了提高開發的效率與程式碼的可維護性,提供了全面的程式碼規格與校驗。 框架對比 star數量記錄於2019-09-17框架優缺點分析wepy優點:微信團隊提供的框架,對微信小程式的支持度高,可工程化開發項目,組件和相關文件內容豐富,論壇和交流社區活躍缺點:只支持微信小程序,支援端單一,框架本身靜態編譯,動態repeat時會出現比較嚴重的BUG,語法解析有時會出現錯誤,錯誤處理還比較簡單mpvue
##優點:開源時間最早的多端框架,網路上相關的問題和例子較多,適用於工程化和組件化開發專案
缺點:開發團隊基本上不再維護該框架,使用者數量越來越少,且框架本身存在的各種問題經過長時間的迭代依舊沒有解決
taro
優點:支援端能力豐富,開發團隊維護力度大,論壇和官方的問題解決速度快,本身基於微信小程式API開發,微信小程式的支援能力強大
缺點:本身是檔案的靜態編譯,複雜程式碼的轉換的上會產生問題,對H5和行動端的端相容能力比較差
uni-app
優點:開發團隊主推的框架,論壇和交流社區非常活躍,端的兼容能力異常強大,存在特定IDE去兼容框架代碼的書寫規範
缺點:部分代碼未開源,官方問題反饋速度不及時,編輯器綁定
chameleon
優點:規劃完整,統一的多態協議,漸進式跨端,提供了基礎開發腳手架命令工具,幫助端開發者從開發、聯調、測試、上線等全流程高效的完成業務開發
缺點:開源時間短,相關的資料和問題解決方法較少,端相容能力還待完善
選型分析
現有的小程式框架很多,在專案開發中選型要根據業務和專案本身的實際情況選擇
相容微信小程式
如果只是相容於微信小程序,使用wepy、taro、chameleon都可以,因為這些框架的API都是基於微信小程序的,所以對微信小程序的兼容性基本和原生差不多,vue系的開發者可以選擇wepy、 chameleon,react系的開發者可以選用taro。當然一下開發者為了輕巧的開發可以使用glup做工程化以原生的進行開發,不過框架本身雖然增加了包的大小,但是框架在原生基礎上會封裝一下性能優化的點,如setData的重複渲染等。
不選mpvue的原因是因為mpvue的開發團隊已不再維護,而且mpvue在相容微信小程式的複雜業務上也存在部分問題一直沒有解決。
不選uni-app的原因只有一個,不喜歡使用HBuildX
相容多端
如果是要相容多端的話,可以根據相容端能力的需求選擇taro或是chameleon,chameleon雖然開源時間短,但是統一多型協議這個設計理念確實很不錯。 taro是凹凸實驗室重點推廣的項目,在使用過程中可以發現論壇的反饋和交流群的恢復速度還是很及時的,使用taro可以很好的兼容微信小程序,如果要兼容其他端需要在代碼根據端進行特殊處理
總結
小程式框架選型,不過選擇什麼框架,最後都會編譯成小程式可識別的程式碼運行在微信客戶端,根據業務需求選擇小程序框架要搞清楚小程式原生的能力。最後不得不吐槽一下微信開發文件的粗糙,很多關鍵的點描述的都不是很詳細。
相關推薦:小程式開發教學
以上是小程式框架如何選擇的詳細內容。更多資訊請關注PHP中文網其他相關文章!