背景

由于微信小程序原生开发,和团队技术栈(react)不统一,不支持ES7以上的高级语法,不支持工程化、缺少统一配置等局限性,选型考虑市面上主流小程序框架,期望能够:

  1. 满足当前需求,并能扩展到其他端,比如H5
  2. 技术栈统一,降低开发维护成本,提升研发效率
  3. 有不错的性能

框架语言

  1. 微信原生 wxml,类xml写法
  2. Vue: uni-app、mpvue
  3. React: taro 、rax、remax

开发维护成本

框架Uni-appMpvueRemaxRaxTaro
语法VueVueReactReactReact
guthub stars36.5k20.4k,停止维护4.3k7.7k30.9k
文档案例丰富较少丰富

首先看团队的技术栈,目前以react为主,大家对react也更熟悉一些,考虑到开发维护成本,首选支持react语法的框架;在社区活跃度方面,uni-app和taro最为活跃,文档案例也最为丰富。

跨端兼容性

框架Uni-appRemaxRaxTaro
微信小程序支持支持支持支持
H5支持支持支持支持
支付宝小程序支持支持支持支持
APP支持不支持不支持支持
QQ小程序支持不支持不支持支持
快应用支持不支持不支持支持

从跨端兼容性上考虑,uni-app和taro能力最好。

打包体积

小程序对应用内存大小在2M,在框架选择上应选择更轻量的

框架微信小程序Uni-appTaro
空包5k61k284k
项目包297k395k1016k

Uni-app

Taro

性能

长列表数据微信小程序Uni-appTaro
200770641752
400876741974
800140611131547

在渲染长列表时,uni-app借助vue3和vite,在性能上做到了最好,taro也有接近原生小程序的性能。

总结

综上,taro 的优势在于符合团队技术栈,能让我们在书写更有效率的代码、拥有更丰富的生态的同时,还有不错的性能

通过上述几个方面的对比,taro基本算是最适合团队的小程序框架。

更多推荐

小程序技术选型