作者:cjcstc@163.com | 来源:互联网 | 2022-11-25 08:57
从小程序开始内测一直到现在,各个公司对小程序业务的开发需求越来越大。开发者在使用原生去开发小程序时很难受,尤其是遇上业务比较复杂的项目,如果仍然使用原生开发,会变得很难去管理和迭代。
star数量记录于2019-09-17
框架优缺点分析
wepy
优点:微信团队提供的框架,对微信小程序的支持度高,可工程化开发项目,组件和相关文档内容丰富,论坛和交流社区活跃
缺点:只支持微信小程序,支持端单一,框架本身静态编译,动态repeat时会出现比较严重的 BUG,语法解析有时会出现错误,错误处理还比较简单
mpvue
优点:开源时间最早的多端框架,网上相关的问题和例子较多,适用于工程化和组件化开发项目
缺点:开发团队基本不再维护该框架,使用者数量越来越少,且框架本身存在的各种问题经过长时间的迭代依旧没有解决
taro
优点:支持端能力丰富,开发团队维护力度大,论坛和官方的问题解决速度快,本身基于微信小程序API开发,微信小程序的支持能力强大
缺点:本身是文件的静态编译,复杂代码的转换的上会产生问题,对H5和移动端的端兼容能力比较差
uni-app
优点:开发团队主推的框架,论坛和交流社区非常活跃,端的兼容能力异常强大,存在特定IDE去兼容框架代码的书写规范
缺点:部分代码未开源,官方问题反馈速度不及时,编辑器绑定
chameleon
优点:规划完整,统一的多态协议,渐进式跨端,提供了基础开发脚手架命令工具,帮助端开发者从开发、联调、测试、上线等全流程高效的完成业务开发
缺点:开源时间短,相关的资料和问题解决方法较少,端兼容能力还待完善
选型分析
现有的小程序框架很多,在项目开发中选型要根据业务和项目本身的实际情况选择
兼容微信小程序
如果只是兼容微信小程序,使用wepy、taro、chameleon都可以,因为这些框架的API都是基于微信小程序的,所以对微信小程序的兼容性基本和原生差不多,vue系的开发者可以选择wepy、chameleon,react系的开发者可以选用taro。当然一下开发者为了轻便的开发可以使用glup做工程化以原生的进行开发,不过框架本身虽然增加了包的大小,但是框架在原生基础上会封装一下性能优化的点,如setData的重复渲染等。
不选mpvue的原因是因为mpvue的开发团队已不再维护,而且mpvue在兼容微信小程序的复杂业务上也存在部分问题一直没有解决。
不选uni-app的原因只有一个,不喜欢使用HBuildX
兼容多端
如果是要兼容多端的话,可以根据兼容端能力的需求选择taro或者chameleon,chameleon虽然开源时间短,但是统一多态协议这个设计理念确实很不错。taro是凹凸实验室重点推广的项目,在使用过程中可以发现论坛的反馈和交流群的恢复速度还是很及时的,使用taro可以很好的兼容微信小程序,如果要兼容其他端需要在代码根据端进行特殊处理
总结
小程序框架选型,不过选择什么框架,最后都会编译成小程序可识别的代码运行在微信客户端,根据业务需求选择小程序框架要搞清楚小程序原生的能力。最后不得不吐槽一下微信开发文档的粗糙,很多关键的点描述的都不是很详细。