前言
前段时间做生意的老婆向我提了一个需求,希望我帮她定制一个客户管理系统。我第一反应就是网上找一个不就行了吗,网上找了一圈发现,大量的客户管理系统面向的是企业级别,功能做得过于的繁琐和冗余,并且还要收费。思来想去决定用微信小程序来实现她的需求。选择小程序而不用安卓的原因是,我老婆用的是苹果手机,而我主攻安卓。
初次体验
在这之前没有接触过小程序,第一步当然看看官网文档和网上的教程摸索一番。学习下来,给我的感觉是小程序封装性还是蛮高的,比写前端页面要简单,毕竟像移动端常用的tab框架已经集成好了。很多微信的功能,比如选择照片等也是一个api就可以搞定的。
后台
这次后台选择了微信云开发,云开发提供了数据库、存储、云函数、云调用等功能。我觉得小程序云开发这个功能作用真是大大的。以前搞前端的程序员想要自己独立做一个作品,往往面对的是要自己做后台的难题。大部分前端程序员是不具备做后台的能力的。要自己租服务器、买域名、安装数据库、配置环境、再开发后台程序,一套流程下来直接劝退了。有了云开发前面统统不需要,重点是免费。
免费的这个配置应付百十个用户基本上妥妥的,等用户上来了不够用了再买不迟。
前端
其实小程序的原生控件已经足够强大了,但是仍然可以选择更强大的第三方框架。小程序官方提供了一套“WeUI组件库”,也是这次项目我选择的框架。对于这个框架我只能说,真的是坑。也就表单组件还能勉强用用,其他控件要嘛样式不好修改,要嘛bug多多,真是填不完的坑。后悔没有选择Vant框架,当初想到用不了几个组件就选择了官方的,现在想想,Vant从样式到功能都比官方的UI框架强大不少,下次我会选择Vant。
踩坑
第一次体验小程序,总的还是踩了不少的坑。
使用npm的坑
比如使用npm,按照官方的步骤来做,怎么也不成功。后来网上反复找反复尝试,发现官方文档少了一步,正确步骤如下:
npm init -y
npm i ****** -S --production
首先进入小程序目录,运行npm初始化命令初始化项目。
再使用npm install命令安装想要的包。
最后再按照官方文档的提示配置和构建项目。
增强编译的坑
在一个功能上,需要异步方法变同步。一写await关键字就会报错,起初还以为我语法掌握的不好,哪里写错了。最后查文档才知道有个增强编译的东西。这个也不能怪官方文档,文档上写了,只不过比较深,查了半天才查到:
勾上增强编译的选项之后,再也不会报错了。
总结
总得来说小程序优点是简单,有前端编程基础的程序员,花个三五天摸索一下独立写个小程序不成问题。
缺点是坑多、限制多,官方的限制真的多,这不行那不行有时候也挺烦的。