一、微信小程序原生开发槽点
1.原生开发对Node、预编译、webpack支持不好,影响开发效率和工程构建
2.原生语法不如vue和react,只能做微信小程序
3.vue和react有很多周边工具,提高开发效率
4.微信的IDE和专业编辑器相比不好用
二、框架分析
1.从用户角度分析
- wepy:没有封装小程序api,使用原生的api
- mpvue:支持微信所有原生组件和api,无限制。同时封装了自己的跨端api,使用方式类似 mpvue.request()
- taro:支持微信所有原生组件和api,无限制。同时封装了自己的跨端api,使用方式类似 Taro.request(),支持Taro代码与小程序代码混写,可以通过混写的方式调用框架尚未封装的小程序新增API
- uni-app:支持微信的所有原生组件和api,无限制。在跨端方面,即便仍然使用微信原生的组件和API,也可以直接跨端编译到App、H5、以及支付宝百度头条等小程序。但为了管理清晰,推荐使用uni封装的API,类似
uni.request()
。同时支持条件编译,可在条件编译代码块中,随意调用各个平台新增的API及组件
2.从性能体验分析
- 微信原生开发手工优化,uni-app>微信原生开发未手工优化,taro>wepy>mpvue
3.从开发者角度分析
- DSL语法支持评测:
taro
,uni-app
>mpvue
>wepy
> 微信原生 - 学习资料完善度评测:微信原生 >
uni-app
>mpvue
,taro
>wepy
- 开发体验维度,对比结果:
uni-app
>taro
,mpvue
>wepy
> 微信原生 - 高效的社区支持评测结论:
微信原生
,uni-app
>taro
>mpvue
>wepy
-
活跃的开发迭代:taro
、uni-app >
wepy
、mpvue
- 多端复用:
uni-app
>taro
>mpvue
>原生微信小程序
、wepy
4.总结:
如果你只开发微信小程序,不做多端,那么使用uni-app
、taro
是更优的选择,他们相当于web世界的vue和react,有了这些工具,不再需要使用原生wxml开发。
- 如果坚持微信原生开发,需要注意手动写优化代码来控制
setdata
,并且注意其工程化能力非常弱 - 如果你是
react
系,那就用taro
- 如果是
vue
系,那就用uni-app
,uni-app
在性能、周边生态和开发效率上更有优势
如果你开发多端,uni-app
和taro
都可以,可根据自己熟悉的技术栈选择,相对而言uni-app
的多端成熟度更高一些。