小程序開(kāi)發(fā):用原生還是選框架

原文鏈接:小程序開(kāi)發(fā):用原生還是選框架

小程序開(kāi)發(fā):用原生還是選框架

本文從面向用戶推捐、面向開(kāi)發(fā)者兩大維度七大細(xì)項(xiàng)弟灼,對(duì)微信原生及主流的wepy、mpvue萍摊、taro、uni-app開(kāi)發(fā)框架進(jìn)行橫向?qū)Ρ取?/p>

面向用戶献酗、面向開(kāi)發(fā)者維度蠢莺,具體包括:
1. 用戶:提供完整的業(yè)務(wù)實(shí)現(xiàn),并保證高性能體驗(yàn)蝇闭。
2. 開(kāi)發(fā)者:平緩的學(xué)習(xí)曲線呻率、現(xiàn)代開(kāi)發(fā)體驗(yàn)(工程化)、高效的社區(qū)支持呻引、活躍的開(kāi)發(fā)迭代礼仗、多端復(fù)用。

1. 用戶

1-1. 功能實(shí)現(xiàn): 【出發(fā)點(diǎn):小程序在不斷的迭代升級(jí)逻悠,如果某項(xiàng)業(yè)務(wù)依賴于最新的小程序 API元践,但三方框架尚未封裝,該怎么辦童谒?】

框架 描述
wepy 未對(duì)小程序 API 作二次封裝单旁,API 依然使用微信原生的,框架與微信小程序是否新增 API 無(wú)關(guān)
mpvue 支持微信的所有原生組件和 api饥伊,無(wú)限制象浑。同時(shí)框架封裝了自己的跨端 API,使用方式類似mpvue.request()
taro 支持微信的所有原生組件和 api撵渡,無(wú)限制融柬。同時(shí)框架封裝了自己的跨端 API,使用方式類似Taro.request()趋距,支持 Taro 代碼與小程序代碼混寫(xiě)(鏈接)粒氧,可通過(guò)混寫(xiě)的方式調(diào)用框架尚未封裝的小程序新增 API
uni-app 支持微信的所有原生組件和 api,無(wú)限制节腐。在跨端方面外盯,即便仍然使用微信原生的組件和 API,也可以直接跨端編譯到 App翼雀、H5饱苟、以及支付寶百度頭條等小程序。但為了管理清晰狼渊,推薦使用 uni 封裝的 API箱熬,類似uni.request()类垦。同時(shí)支持條件編譯(鏈接),可在條件編譯代碼塊中城须,隨意調(diào)用各個(gè)平臺(tái)新增的 API 及組件

結(jié)論:三方框架均可調(diào)用所有小程序 API蚤认,完成用戶的業(yè)務(wù)需求,這個(gè)維度各框架是無(wú)差別的糕伐。

1-2. 性能

長(zhǎng)列表加載到渲染完成
組件通信到渲染完成

結(jié)論:微信原生開(kāi)發(fā)手工優(yōu)化砰琢,uni-app>微信原生開(kāi)發(fā)未手工優(yōu)化,taro > wepy > mpvue

2. 開(kāi)發(fā)者

2-1. 平滑的學(xué)習(xí)曲線

框架 DSL支持程度描述 學(xué)習(xí)資料完整度
微信原生 四不像...要學(xué)習(xí)新語(yǔ)法 文檔豐富,API 搜索準(zhǔn)確良瞧,官方有示例 demo陪汽,支持官網(wǎng)上調(diào)起微信開(kāi)發(fā)者工具,預(yù)覽運(yùn)行效果 褥蚯,詳見(jiàn):傳送門
wepy 開(kāi)發(fā)風(fēng)格接近于 Vue.js挚冤,屬于類 Vue實(shí)現(xiàn),相對(duì)微信原生開(kāi)發(fā)算前進(jìn)了一大步遵岩,但相比完整Vue語(yǔ)法還有較大差距你辣,開(kāi)發(fā)時(shí)需要單獨(dú)學(xué)習(xí)它的規(guī)則 文檔只有 2 頁(yè),沒(méi)有搜索尘执,組件 API 等文檔都直接看微信的文檔舍哄。沒(méi)有提供示例 demo,很多配置需要靠猜誊锭。詳見(jiàn):傳送門
mpvue mpvue支持的 Vue 語(yǔ)法略少 文檔較少表悬,但其概念不復(fù)雜,組件 API 等文檔都直接看微信的文檔丧靡,學(xué)習(xí)難度低蟆沫。問(wèn)題搜索效果一般。沒(méi)有提供示例 demo温治。詳見(jiàn):傳送門
uni-app uni-app 則基本支持絕大多數(shù) vue 語(yǔ)法饭庞,如filter、復(fù)雜 JavaScript 表達(dá)式等 基礎(chǔ)文檔和各種使用專題內(nèi)容豐富熬荆,問(wèn)題搜索效果較好舟山,示例 demo 功能完備,并發(fā)布為 7 端上線卤恳。詳見(jiàn):傳送門
taro 對(duì)于 JSX 的語(yǔ)法支持度累盗,也達(dá)到了絕大多數(shù)都支持的完善程度 基礎(chǔ)文檔完整,具體使用問(wèn)題資源較少突琳,問(wèn)題搜索效果一般若债,示例 demo 只包含基礎(chǔ)功能,僅發(fā)布了微信一端拆融。詳見(jiàn):傳送門

備注:mpvue蠢琳、uni-app 框架基于 Vue.js 核心啊终,通過(guò)修改 Vue.js 的 runtime 和 compiler,實(shí)現(xiàn)了在小程序端的運(yùn)行

結(jié)論
DSL 語(yǔ)法支持評(píng)測(cè):taro,uni-app > mpvue > wepy > 微信原生
學(xué)習(xí)資料完善度評(píng)測(cè):微信原生 > uni-app > mpvue , taro > wepy

2-2. 現(xiàn)代前端開(kāi)發(fā)體驗(yàn)

通過(guò)cli的支持程度挪凑、開(kāi)發(fā)工具和語(yǔ)法提示庫(kù)等的對(duì)比

結(jié)論:開(kāi)發(fā)體驗(yàn)維度孕索,對(duì)比結(jié)果:uni-app > taro,mpvue > wepy > 微信原生
友情提示:如果你需要工程化能力,那就直接忘了微信原生開(kāi)發(fā)吧

2-3. 社區(qū)支持

社區(qū)支持

2-4 多端復(fù)用

結(jié)論:uni-app > taro > mpvue > 原生微信小程序躏碳、wepy

ENDING

如果你只開(kāi)發(fā)微信小程序,不做多端散怖,那么使用uni-app菇绵、taro是更優(yōu)的選擇,他們相當(dāng)于 web 世界的 vue 和 react镇眷,有了這些工具咬最,不再需要使用原生 wxml 開(kāi)發(fā)。

  • 如果堅(jiān)持微信原生開(kāi)發(fā)欠动,需要注意手動(dòng)寫(xiě)優(yōu)化代碼來(lái)控制setdata永乌,并且注意其工程化能力非常弱。
  • 如果你是react系具伍,那就用taro翅雏。
  • 如果是vue系,那就用uni-app人芽,uni-app在性能望几、周邊生態(tài)和開(kāi)發(fā)效率上更有優(yōu)勢(shì)。
  • 如果你開(kāi)發(fā)多端萤厅,uni-app和taro都可以橄抹,可根據(jù)自己熟悉的技術(shù)棧選擇,相對(duì)而言u(píng)ni-app的多端成熟度更高一些惕味。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末楼誓,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子名挥,更是在濱河造成了極大的恐慌疟羹,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件躺同,死亡現(xiàn)場(chǎng)離奇詭異阁猜,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)蹋艺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門剃袍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人捎谨,你說(shuō)我怎么就攤上這事民效°疚” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵畏邢,是天一觀的道長(zhǎng)业扒。 經(jīng)常有香客問(wèn)我,道長(zhǎng)舒萎,這世上最難降的妖魔是什么程储? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮臂寝,結(jié)果婚禮上章鲤,老公的妹妹穿的比我還像新娘。我一直安慰自己咆贬,他們只是感情好败徊,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著掏缎,像睡著了一般皱蹦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上眷蜈,一...
    開(kāi)封第一講書(shū)人閱讀 49,111評(píng)論 1 285
  • 那天沪哺,我揣著相機(jī)與錄音,去河邊找鬼端蛆。 笑死凤粗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的今豆。 我是一名探鬼主播嫌拣,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼呆躲!你這毒婦竟也來(lái)了异逐?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤插掂,失蹤者是張志新(化名)和其女友劉穎灰瞻,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體辅甥,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡酝润,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了璃弄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片要销。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖夏块,靈堂內(nèi)的尸體忽然破棺而出疏咐,到底是詐尸還是另有隱情纤掸,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布浑塞,位于F島的核電站借跪,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏酌壕。R本人自食惡果不足惜掏愁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望仅孩。 院中可真熱鬧托猩,春花似錦、人聲如沸辽慕。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)溅蛉。三九已至,卻和暖如春他宛,著一層夾襖步出監(jiān)牢的瞬間船侧,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工厅各, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留镜撩,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓队塘,卻偏偏與公主長(zhǎng)得像袁梗,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子憔古,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345