选择框架原因
项目开始的时候,考虑到后续可能有做h5的需求,所以决定选择使用框架来做小程序。
调研发现目前小程序框架主要有
wepy:
腾讯团队开源的一款类vue语法规范的小程序框架,借鉴了Vue的语法风格和功能特性,支持了Vue的诸多特征,比如父子组件、组件之间的通信、computed属性计算、wathcer监听器、props传值、slot槽分发,还有很多高级的特征支持:Mixin混合、拦截器等;WePY发布的第一个版本是2016年12月份,也就是小程序刚刚推出的时候,到目前为止,截至目前为止已经有20.6k的star。
uni-app
DCloud公司的uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。uni-app在开发者数量、案例、跨端抹平度、扩展灵活性、性能体验、周边生态、学习成本、开发成本等8大关键指标上拥有更强的优势。目前已经完全开源免费,已经有24.6k的star;
mpvue:
美团团队开源的一款使用 Vue.js 开发微信小程序的前端框架。使用此框架,开发者将得到完整的 Vue.js 开发体验,同时为 H5 和小程序提供了代码复用的能力。mpvue在发布后的几天间获得2.7k的star,上升速度飞起,截至目前为止已经有20k的star;可惜的是,一年前,该框架停止维护。
taro
京东凹凸实验室开源的一款使用 React.js 开发微信小程序的前端框架。它采用与 React 一致的组件化思想,组件生命周期与 React 保持一致,同时支持使用 JSX 语法,让代码具有更丰富的表现力,使用 Taro 进行开发可以获得和 React 一致的开发体验。同时因为使用了react的原因所以除了能编译h5, 小程序外还可以编译为ReactNative;
由于mpvue已经不再维护,taro虽然目前也支持vue书写方式,但其自带组件不支持;所以作为vue开发者便首选wepy和uni-app,使用两种都搭建项目试了试,uni-app更贴合vue的开发思维,对比star数量,最终选择了uni-app开发框架
使用体验
目前整个小程序项目做下来:
使用uni-app没有发现什么大坑,一些bug也是微信小程序自身问题;开发上和之前的vue项目所差无几,思维一致。个人还是觉得比较好用。可能比较鸡肋的地方是自带的组件库不是很全面,样式也优待改善。