用框架是不可能用框架的,这辈子都不可能用框架。
微信小程序上手成本低,开发成本低,流量红利,推广成本低等等,很多公司的创业项目都会首选小程序来试水,小程序开发太火爆了,苦逼了前端工程师,又得学习新技术...学习让我快乐?
半年时间,我已经开发了四个小程序,其中三个微信小程序,一个支付宝小程序。原生开发过,框架也用过。到底最优雅的开发模式是什么呢,聊聊,聊聊。
技术方案
目前开发微信小程序时,可选的技术方案大概有若干种,分别是:
使用框架来开发,总结起来就干了一件事——加糖,但这糖好不好呢,不好说。
框架开发的初(li)衷(xiang)
- 快速迭代
- 减少开发成本
- 跨平台共享
- 提升开发体验
框架开发的挑(xian)战(shi)
- 必须同时熟悉微信小程序文档和第三方框架文档,给工程师提出了更大的挑战
- 框架的不完美,只是阉割版或者修改版的前端框架,并没有100%支持框架自身特性
- 框架构建与微信小程序之上,反而导致部分原生支持的特性作废,比如原生组件,模块化等
- 框架生态不健全,文档及相关资源匮乏
- 微信小程序自身处于快速迭代的状态,特性并不稳定,不像web一样有统一的标准
理想很美好,现实很残酷
wepy
框架来说,组件化的支持不成熟,在实际的开发过程中,如果组件嵌套超过两层,面对某些特殊业务场景,翻车几率很高。组件的列表渲染,不支持在 repeat
的组件中去使用 props
, computed
, watch
等等特性。
mpvue
框架是基于Vue.js
的核心,属于修改版的vue框架,用起来和web端的vue也有些差异。美团小程序框架--mpvue入坑指南
我的想法
使用第三方框架开发,可以享受框架带来的开发便利,但对于小程序新增的诸多特性和功能,比如WXS模块、自定义组件和插件等,受制于第三方框架,无法使用。
而原生小程序的开发模式,又过于简陋,就样式来说,写惯了less,stylus和sass的同学一定无法忍受wxss的这种写法,基于此,决定使用gulp自动化工具来构建一套微信小程序开发的基础模板,在完全保留微信小程序功能和特性的基础上,又可以的使用less来写样式,同时加入图片压缩,命令行快速创建模板等特性,如此开发,快哉,快哉!
后续会再加入其它工具,持续更新,欢迎各位提意见。