首頁  >  文章  >  微信小程式  >  小程式框架如何選擇

小程式框架如何選擇

王林
王林轉載
2021-01-27 09:39:373035瀏覽

小程式框架如何選擇

導語:

從小程式開始內測一直到現在,各家公司對小程式業務的開發需求越來越大。開發者在使用原生去開發小程式時很難受,尤其是遇上業務比較複雜的項目,如果仍使用原生開發,會變得很難去管理和迭代。

(學習影片分享:程式設計入門

使用原生開發的問題:

  • 小程式本身不支援常用的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可以很好的兼容微信小程序,如果要兼容其他端需要在代碼根據端進行特殊處理

總結

小程式框架選型,不過選擇什麼框架,最後都會編譯成小程式可識別的程式碼運行在微信客戶端,根據業務需求選擇小程序框架要搞清楚小程式原生的能力。最後不得不吐槽一下微信開發文件的粗糙,很多關鍵的點描述的都不是很詳細。

相關推薦:小程式開發教學

以上是小程式框架如何選擇的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.im。如有侵權,請聯絡admin@php.cn刪除