溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

小程序框架怎么選擇

發(fā)布時(shí)間:2021-01-27 11:26:33 來源:億速云 閱讀:234 作者:小新 欄目:移動(dòng)開發(fā)

這篇文章給大家分享的是有關(guān)小程序框架怎么選擇的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

導(dǎo)語:

從小程序開始內(nèi)測(cè)一直到現(xiàn)在,各個(gè)公司對(duì)小程序業(yè)務(wù)的開發(fā)需求越來越大。開發(fā)者在使用原生去開發(fā)小程序時(shí)很難受,尤其是遇上業(yè)務(wù)比較復(fù)雜的項(xiàng)目,如果仍然使用原生開發(fā),會(huì)變得很難去管理和迭代。

使用原生開發(fā)的問題:

  • 小程序本身不支持常用的css預(yù)編譯器

  • 不支持ES7以上的高級(jí)語法,如async await等特性;

  • 不支持工程化,如環(huán)境、變量等管理

  • 缺少統(tǒng)一的request攔截請(qǐng)求

  • 缺少統(tǒng)一的本地緩存讀取管理

使用框架可以解決的問題:

  • 支持css預(yù)編譯器

  • 支持ES7以上語法

  • 支持工程化

  • 大部分框架支持多端,一套代碼多端復(fù)用

框架介紹與對(duì)比

Wepy

WePY (發(fā)音: /'wepi/)是一款讓小程序支持組件化開發(fā)的框架,通過預(yù)編譯的手段讓開發(fā)者可以選擇自己喜歡的開發(fā)風(fēng)格去開發(fā)小程序。框架的細(xì)節(jié)優(yōu)化,Promise,Async Functions的引入都是為了能讓開發(fā)小程序項(xiàng)目變得更加簡(jiǎn)單,高效

小程序框架怎么選擇

Mpvue

mpvue 是一個(gè)使用 Vue.js 開發(fā)小程序的前端框架??蚣芑?Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 實(shí)現(xiàn),使其可以運(yùn)行在小程序環(huán)境中,從而為小程序開發(fā)引入了整套 Vue.js 開發(fā)體驗(yàn)。

主要特性

  • 徹底的組件化開發(fā)能力:提高代碼復(fù)用性

  • 完整的 Vue.js 開發(fā)體驗(yàn)

  • 方便的 Vuex 數(shù)據(jù)管理方案:方便構(gòu)建復(fù)雜應(yīng)用

  • 快捷的 webpack 構(gòu)建機(jī)制:自定義構(gòu)建策略、開發(fā)階段 hotReload

  • 支持使用 npm 外部依賴

  • 使用 Vue.js 命令行工具 vue-cli 快速初始化項(xiàng)目

  • H5 代碼轉(zhuǎn)換編譯成小程序目標(biāo)代碼的能力

Taro

Taro 是一套遵循 React 語法規(guī)范的 多端開發(fā) 解決方案

小程序框架怎么選擇

Uni-app

uni-app 是一個(gè)使用 Vue.js 開發(fā)跨平臺(tái)應(yīng)用的前端框架。

小程序框架怎么選擇

Chamelon

Chameleon/k??mi?l??n/,簡(jiǎn)寫CML,中文名卡梅龍;中文意思變色龍,意味著就像變色龍一樣能適應(yīng)不同環(huán)境的跨端整體解決方案。

主要特性

目錄結(jié)構(gòu):提供規(guī)范化的項(xiàng)目結(jié)構(gòu),適合于企業(yè)級(jí)大型應(yīng)用的開發(fā)。

視圖層:視圖層由CML與CMSS編寫,核心是一個(gè)標(biāo)準(zhǔn)響應(yīng)式數(shù)據(jù)驅(qū)動(dòng)視圖更新。

邏輯層:邏輯層由javascript編寫,邏輯層將處理數(shù)據(jù)后自動(dòng)更新視圖,提供視圖層的事件響應(yīng)方法。

多態(tài)協(xié)議:提供了跨端時(shí)各端底層組件與接口統(tǒng)一的解決方案。

規(guī)范校驗(yàn):為了提高開發(fā)的效率與代碼的可維護(hù)性,提供了全面的代碼規(guī)范與校驗(yàn)。

框架對(duì)比

小程序框架怎么選擇

star數(shù)量記錄于2019-09-17

框架優(yōu)缺點(diǎn)分析

wepy

優(yōu)點(diǎn):微信團(tuán)隊(duì)提供的框架,對(duì)微信小程序的支持度高,可工程化開發(fā)項(xiàng)目,組件和相關(guān)文檔內(nèi)容豐富,論壇和交流社區(qū)活躍

缺點(diǎn):只支持微信小程序,支持端單一,框架本身靜態(tài)編譯,動(dòng)態(tài)repeat時(shí)會(huì)出現(xiàn)比較嚴(yán)重的 BUG,語法解析有時(shí)會(huì)出現(xiàn)錯(cuò)誤,錯(cuò)誤處理還比較簡(jiǎn)單

mpvue

優(yōu)點(diǎn):開源時(shí)間最早的多端框架,網(wǎng)上相關(guān)的問題和例子較多,適用于工程化和組件化開發(fā)項(xiàng)目

缺點(diǎn):開發(fā)團(tuán)隊(duì)基本不再維護(hù)該框架,使用者數(shù)量越來越少,且框架本身存在的各種問題經(jīng)過長(zhǎng)時(shí)間的迭代依舊沒有解決

taro

優(yōu)點(diǎn):支持端能力豐富,開發(fā)團(tuán)隊(duì)維護(hù)力度大,論壇和官方的問題解決速度快,本身基于微信小程序API開發(fā),微信小程序的支持能力強(qiáng)大

缺點(diǎn):本身是文件的靜態(tài)編譯,復(fù)雜代碼的轉(zhuǎn)換的上會(huì)產(chǎn)生問題,對(duì)H5和移動(dòng)端的端兼容能力比較差

uni-app

優(yōu)點(diǎn):開發(fā)團(tuán)隊(duì)主推的框架,論壇和交流社區(qū)非常活躍,端的兼容能力異常強(qiáng)大,存在特定IDE去兼容框架代碼的書寫規(guī)范

缺點(diǎn):部分代碼未開源,官方問題反饋速度不及時(shí),編輯器綁定

chameleon

優(yōu)點(diǎn):規(guī)劃完整,統(tǒng)一的多態(tài)協(xié)議,漸進(jìn)式跨端,提供了基礎(chǔ)開發(fā)腳手架命令工具,幫助端開發(fā)者從開發(fā)、聯(lián)調(diào)、測(cè)試、上線等全流程高效的完成業(yè)務(wù)開發(fā)

缺點(diǎn):開源時(shí)間短,相關(guān)的資料和問題解決方法較少,端兼容能力還待完善

選型分析

現(xiàn)有的小程序框架很多,在項(xiàng)目開發(fā)中選型要根據(jù)業(yè)務(wù)和項(xiàng)目本身的實(shí)際情況選擇

兼容微信小程序

如果只是兼容微信小程序,使用wepy、taro、chameleon都可以,因?yàn)檫@些框架的API都是基于微信小程序的,所以對(duì)微信小程序的兼容性基本和原生差不多,vue系的開發(fā)者可以選擇wepy、chameleon,react系的開發(fā)者可以選用taro。當(dāng)然一下開發(fā)者為了輕便的開發(fā)可以使用glup做工程化以原生的進(jìn)行開發(fā),不過框架本身雖然增加了包的大小,但是框架在原生基礎(chǔ)上會(huì)封裝一下性能優(yōu)化的點(diǎn),如setData的重復(fù)渲染等。

不選mpvue的原因是因?yàn)閙pvue的開發(fā)團(tuán)隊(duì)已不再維護(hù),而且mpvue在兼容微信小程序的復(fù)雜業(yè)務(wù)上也存在部分問題一直沒有解決。

不選uni-app的原因只有一個(gè),不喜歡使用HBuildX

兼容多端

如果是要兼容多端的話,可以根據(jù)兼容端能力的需求選擇taro或者chameleon,chameleon雖然開源時(shí)間短,但是統(tǒng)一多態(tài)協(xié)議這個(gè)設(shè)計(jì)理念確實(shí)很不錯(cuò)。taro是凹凸實(shí)驗(yàn)室重點(diǎn)推廣的項(xiàng)目,在使用過程中可以發(fā)現(xiàn)論壇的反饋和交流群的恢復(fù)速度還是很及時(shí)的,使用taro可以很好的兼容微信小程序,如果要兼容其他端需要在代碼根據(jù)端進(jìn)行特殊處理

總結(jié)

小程序框架選型,不過選擇什么框架,最后都會(huì)編譯成小程序可識(shí)別的代碼運(yùn)行在微信客戶端,根據(jù)業(yè)務(wù)需求選擇小程序框架要搞清楚小程序原生的能力。最后不得不吐槽一下微信開發(fā)文檔的粗糙,很多關(guān)鍵的點(diǎn)描述的都不是很詳細(xì)。

感謝各位的閱讀!關(guān)于“小程序框架怎么選擇”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI