本文意在整理我项目上使用过的小程序框架,其中的内容由我们团队里的大神根据项目整理出来,我只是二次整理精简出项目以外的内容。时间线为:wepy、mpvue1.x、mpvue2.x
wepy
当时的微信小程序还不像现在的如日中天,社区和生态还皆在萌芽,wepy当时推出的官方框架,确实解决了用原生小程序开发所面临的窘境。
wepy解决了什么问题?
- 支持使用三方npm资源,可以调用社区资源
- 开发风格,接近Vue.js,降低学习成本
- 支持组件化开发,便于复用,便于分工合作
- 自带编译器,模板,样式,es6等的支持
项目中遇到的主要问题:
- 代码风格上,四不像,可以说是react和vue的杂交产品;在来回切换web端开发时,有较大的切换成本
- 标签只能使用小程序标签
- 数据渲染需要手动执行刷新操作
- 组件开发很多功能不支持,使用起来不顺手,比如数据传递,嵌套v-for循环组件不渲染的等问题
- 不支持集中数据管理
- 社区资源贫瘠,很多工具不能使用
- 在环境配置时,需要修改代码,有代码侵入的风险
mpvue1.x
mpvue 是一个使用 Vue.js 开发小程序的前端框架,为解决小程序开发不爽而生。
核心特点如下:
- mpvue 保留了 vue.runtime 核心方法,无缝继承了 Vue.js 的基础能力
- mpvue-template-compiler 提供了将 vue 的模板语法转换到小程序的 wxml 语法的能力
- 修改了 vue 的建构配置,使之构建出符合小程序项目结构的代码格式: json/wxml/wxss/js 文件
mpvue2.x
因为小程序有包大小限制,大大制约了项目功能的拓展,而mpvue2.x最大的升级就是支持分包功能。
随着用户流量的变革,多平台小程序需求日渐清晰,mpvue2.x目前支持了微信,百度,字节小程序,并且进行了初步排坑。