仅以一个前端开发人员的角度看微信小程序
看了几天的小程序(当然也包括了上手书写),才有了这篇博文,非技术贴,只是发表下个人观点,仅以个人技术能力来看小程序。
首先说下优点:
- 调试工具:官方的工具还是做了很多工作,包括监听文件变动自动刷新,编译es6等
- 真机调试:里面集成了github上一款开源调试工具vconsole https://github.com/WechatFE/vConsole
- 文件关联:关联名称相同的wxss,wxml,js为一个组件的内容
- 样式:支持flex布局,不用hack
- 语言:支持es6,可以模块化布置项目的代码
接下来是缺点:
- 调试工具:审查元素必须切换到Wxml模式才可以,在控制台编辑css没有只能提示,用小箭头选择元素时貌似碰到wx原生组件会选择不上,只能一层一层展开查看
- 真机调试:这个真要吐槽下,就是在调试工具上明明好使,在真机上就会碰到内部错误直接退出,官方也没有给出一些合理的智能提示,这个时候往往需要靠猜哪里的问题
- 模块化:个人认为微信的模块化只是针对js语言,至于把写好的模块封装成组件是不便的也不现实的(至少现在这样的机制),原因有以下:1.dom没办法动态添加删除修改(当然现在想要修改属性,就必须要都绑定到page的data数据中,这样就会造成如果页面复杂,数据就会异常多,也不可控,加上改变的函数也会增多),2单独import的wxml组件跟page传输数据很别扭方式,3,page中的对象需要的方法需要提前定义,没法后期添加。4.模块import无法配置别名。
对于小程序项目构建的看法:
- 关于项目怎么构建目录和组件:官方并没有给出,给出的就是类似一个demo,完全不能提到构建这个角度
- 我个人配置的目录是pages,compoment,util,serve,image这5个目录
- 关于如何更好的处理组件和调用自定义组件的方式我认为官方还是要先解决这个问题的,要不小程序我认为永远就是小玩具,成不了大气候,本身小程序的市场定位更适合小B2C电商,但是电商的项目业务还是很复杂的,和用户的交互也比较多,如果仅仅是给个demo就扔给开发人员,那小程序的前景我个人是不看好的。
- 关于提供的原生组件接口和配置也太任性,毕竟面向的是web前端开发人员,而不是app原生开发人员,书写规范上还是要迁就一下前端开发人员的好
- 最后一点还是要回到小程序的定位上,现有的功能可以好不客气的说原生web都可以实现,没必要真的去移至到小程序平台,以京东商城的小程序为例提供的功能有限,交互体验也不是很好,官方的认为更流畅也没有很好的提现,这里可以举个例子就是小程序的打开时间,打开京东小程序大概要3-4秒,这个和打开网页没什么区别了,还限制了很多功能和交互方式。
至于小程序的前景怎样,个人认为已经不是微信能控制的了,如果还是像现在这样”任性“只提供基础的组件和不解决组件的调用方式的话,前景堪忧。如果还是如此”作风“真的火了,那我只能说中国真是一个神奇的地方。
以上仅为个人观点。。。(在国内写博文我还是加上这句话吧,以免被人当成某当,认为不思进取,阻挡前端大一统别人领域的潮流)