mominger / blog

Tech blog
45 stars 3 forks source link

小程序多端合一框架对比 #19

Open mominger opened 4 years ago

mominger commented 4 years ago

小程序多端合一框架对比

为何需要多端合一

  • 针对不同端定制研发的成本非常高昂,目前流量大的小程序平台有微信、支付宝、头条、百度....它们有各自的API和兼容特性。
  • 嵌入webView,运行H5的通用方案,则在流畅性上(尤其调用设备功能)大打折扣,且不支持小程序的所有功能。如H5 的web平台JS和UI线程互斥,而小程序是并行。如(最近、常用)小程序可以在聊天列表下拉访问,H5不支持。如小程序获取设备信息(蓝牙、电量、NFC..),H5不支持。

市面上各融合框架对比

1. 热门程度

starts

低于10K的不考虑

2. 研发团队

类型 公司 官网 详述
taro 京东凹凸实验室 https://taro.aotu.io/
wepy 腾讯团队(非官方) https://tencent.github.io/wepy github首页展示了大量捐赠情况
uni-app Dloud https://uniapp.dcloud.io/ 2014年9月获中关村兴业投资1200万人民币A轮融资 目前已B2轮
mpvue 美团酒旅事业部前端 http://mpvue.com/

3. 多端复用

平台 taro wepy uni-app mpvue
微信小程序
支付宝小程序
百度小程序
头条小程序
H5

4. 使用案例

类型 案例 案例地址
taro 京东购物(微信) 淘票票(微信、百度) 猫眼电影(H5) 货拉拉(支付宝) https://github.com/NervJS/taro
wepy 腾讯疫苗查询小程序、 腾讯翻译君小程序、 腾讯地图小程序、 玩转故宫小程序、 手机充值+、 手机余额查询、 手机流量充值优惠、 友福图书馆(开源)、 素洁商城(开源) https://github.com/Tencent/wepy
uni-app 腾讯全民模拟炒股大赛(微信、H5) 华为荣耀亲选商城(微信、H5) 开源中国(微信、百度)、vivo商城官方(支付宝) 联想集团(微信) https://uniapp.dcloud.io/case
mpvue uscore足球(微信) 搞怪小圈圈(微信) https://github.com/Meituan-Dianping/mpvue

都是取其展示案例上的前几个,更多案例可以去案例地址查询
wepy 都是微信小程序
taro 在互联网大企业的使用上明显强于 uni-app
mpvue 很奇怪,第一个二维码已停用了,前几个均是小公司,极简陋的小程序

5. 语言特征

类型 语言 IDE
taro 支持JSX语法
wepy 类Vue
uni-app 基于Vue HBuilderX
mpvue 基于Vue

仅uni-app 有定制的IDE。其他只能采用通用的IDE工具(如 VSCode WebStorm等)

6. 现状

类型 最近几次发版
微信小程序基础库 v2.10.4 (2020-03-24) v2.10.3 (2020-03-06) v2.10.2 (2020-02-20)
taro 1.3.39 (2020-03-16) 1.3.38 (2020-03-09) 1.3.37 (2020-02-09)
wepy 1.7.2 (2018-05-08) 1.7.1 (2018-02-28) 1.7.0 (2018-02-06)
uni-app 2.6.8.20200330 2.6.5.20200314 2.6.1.20200226
mpvue 2018.8.10 2018.7.30 2018.7.24

微信小程序发版日志 https://developers.weixin.qq.com/miniprogram/dev/framework/release/ taro 发版日志 https://github.com/NervJS/taro/blob/master/CHANGELOG.md
wepy 发版日志 https://tencent.github.io/wepy/document.html#/changelog

uni-app 发版日志 https://uniapp.dcloud.io/release
mpvue 发版日志 http://mpvue.com/change-log/
mpvue 发版日志非常粗糙
mpvue wepy不再更新

7. 结论

1. 从发版本来看 mpvue wepy 已陷入停滞

2. taro uni-app 仍很活跃,案例也非常丰富。两者不相上下。

3. 基于我司是Vue技术栈。支持Vue语法的uni-app比较符合。taro支持React语法。