您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關小程序框架怎么選擇的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
導語:
從小程序開始內測一直到現在,各個公司對小程序業務的開發需求越來越大。開發者在使用原生去開發小程序時很難受,尤其是遇上業務比較復雜的項目,如果仍然使用原生開發,會變得很難去管理和迭代。
使用原生開發的問題:
小程序本身不支持常用的css預編譯器
不支持ES7以上的高級語法,如async await等特性;
不支持工程化,如環境、變量等管理
缺少統一的request攔截請求
缺少統一的本地緩存讀取管理
使用框架可以解決的問題:
支持css預編譯器
支持ES7以上語法
支持工程化
大部分框架支持多端,一套代碼多端復用
框架介紹與對比
Wepy
WePY (發音: /'wepi/)是一款讓小程序支持組件化開發的框架,通過預編譯的手段讓開發者可以選擇自己喜歡的開發風格去開發小程序。框架的細節優化,Promise,Async Functions的引入都是為了能讓開發小程序項目變得更加簡單,高效
Mpvue
mpvue 是一個使用 Vue.js 開發小程序的前端框架。框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 實現,使其可以運行在小程序環境中,從而為小程序開發引入了整套 Vue.js 開發體驗。
主要特性
徹底的組件化開發能力:提高代碼復用性
完整的 Vue.js 開發體驗
方便的 Vuex 數據管理方案:方便構建復雜應用
快捷的 webpack 構建機制:自定義構建策略、開發階段 hotReload
支持使用 npm 外部依賴
使用 Vue.js 命令行工具 vue-cli 快速初始化項目
H5 代碼轉換編譯成小程序目標代碼的能力
Taro
Taro 是一套遵循 React 語法規范的 多端開發 解決方案
Uni-app
uni-app 是一個使用 Vue.js 開發跨平臺應用的前端框架。
Chamelon
Chameleon/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可以很好的兼容微信小程序,如果要兼容其他端需要在代碼根據端進行特殊處理
總結
小程序框架選型,不過選擇什么框架,最后都會編譯成小程序可識別的代碼運行在微信客戶端,根據業務需求選擇小程序框架要搞清楚小程序原生的能力。最后不得不吐槽一下微信開發文檔的粗糙,很多關鍵的點描述的都不是很詳細。
感謝各位的閱讀!關于“小程序框架怎么選擇”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。