想要开发一个微信小程序?“工具人”可以帮你一天就完成,我分享一下我历经了18个小时做出来了一个完整的小程序的经验,以及我开发的思路,以及后端代码给大家展示
时代在发展,社会在进步,市面上的各种工具越是越来越多,我们做程序员的也是可以说也是越来越快活了,可以说是,吃吃烧烤喝喝酒,闲着了就调试调试BUG。
那么今天我就来分享分享我前两天刚开发的一套完整的同样也带后台的小程序,完全是从0到有的开发出来的,也是没有借助任何的小程序框架
时代在发展,社会在进步,市面上的各种工具越是越来越多,我们做程序员的也是可以说也是越来越快活了,可以说是,吃吃烧烤喝喝酒,闲着了就调试调试BUG。
那么今天我就来分享分享我前两天刚开发的一套完整的同样也带后台的小程序,完全是从0到有的开发出来的,也是没有借助任何的小程序框架
一,成果
从早上的六点到第二天下午时分提交上架,除去做饭吃饭+拉撒,总共花费了18个小时。
进行了复盘下来,觉得很有成就感,就分析了出来。
二,工具清单
2.1 准备阶段
思维导图
小程序:微信公众号平台
2.2 开发阶段
2.2.1 后台
· 版本管理:github
· 后台开发IDE:PHPStorm
· 后台框架:PHP + Laravel
· 数据库:MySQL
· 微信后台对接(Laravel插件):EasyWechat
· 图片存储(Larave插件)Aliyun-oss-storage
2.2.2 小程序
· 小程序开发IDE:微信开发者工具
· 小程序: 官方的文档,组件,API
· 瀑布流展示(小程序插件):BrickLayout晓瀑布流
2.2.3 设计
· 图标:iconfont
· UI参考:WeUI小程序版
· 编辑与设计:Photoshop
2.3 运维阶段
小程序助手
小程序数据助手
小程序客服小助手
三,开发过程
3.1 从ldea到动手
吃够了漫不经意的生活,也是不经意的开始对自己以后的人生规划动动手开搞,带来一些甜头与苦头,近年ldea到后面的产品也都是非常谨慎的,就像这次的决定,也是已经好久没有见到过这个场面了。
其实我也是不推荐也不建议怎么迅速的做出开发的产品,当然如果具备几个因素:
· 项目开发周期较短,1-3天为宜
· 同样也具备立竿见影的效果
· 没有资金了
从ldea到产品,首先需要梳理自己的思路
之前用的思维导图,近期也是一直用着去年刚出的幕布,后者也更方便,也可以多端可用,也是比较适合国内的人群使用习惯。
思维导图
当时时间也是加急,也就只是简单的画了画,当然了如果是比较大的项目,那还是需要有着专业系统的东西与思路,在此我推荐一下processon,往前也是一贯的用着它来完成我的流程图,最近发现processon又出了一类的很好用的工具。
3.2着手设计
产品的成品,在开发之前最好也是又原型图的,否则研发过程中,会慢慢的失去方向,被一点带小事情干扰着,最后就会导致开发的最总产品与最初设想的有着很大的不同。
产品的原型图工具,上面也是没有列举出来,也是因为项目太小了,画原型图时间上不太划算,原型图设计工具我推荐,墨刀和幕布,这样可以方便给客户演示时非常方便。
此次的设计,就是在脑子里打出来的原型图,脑海里打了一个草稿,又去找了一些同产品同行业的产品借鉴了一些,这样一来一个基本的产品该有的就有了。
当然至于上面风格啊,那就只能在iconfont和ooopic这样的设计灵感招一些创意出来。
还好iconfont 也是有着一组图标,刚好与心中产品也是比较默契,也就用着这套图标。
到此,框架,图标,logo,灵感,以及原型图都有了,那么我就要开始撸代码了
3.3 撸代码
一个人搞定开发,设计,原型图,UI,前后端,推广,引流,其实这里面就有些门路了。
每个人的习惯各不相同,先做什么后做什么,也都是有方式方法的,当然还是以快捷方便为主。
首先搭建了小程序的框架,意思就是盖房子,先打地基,该有个东西,该留的地方,都是要先搭建好的,例如Larave的本地的调试环境,代码的仓库,服务器,也要有备案的域名,搭建微信小程序的账号,业务域名的配置等等一些其他的都关系,这一套流程环节都是要在脑海里先过一遍的。
之所以消耗那么多时间一口气做完,是因后面在编码的过程中的一些问题卡壳了,思路也可能会被扰乱,也会营销开发微信小程序的效率,当然很多的事情都是时间上都是比较长的,例如域名备案,如果慢的话就得卡个很长时间,最总小程序也会停止开发。
还有第二点是先前在后,这个意思是说,在开发微信小程序时,先设计开发前端的界面和逻辑,再反过来做接口和数据等等其他的问题,不行么?行,但是不好。
因为随着快速的迭代开发小程序的情况之下,前端界面和逻辑都时没有经过系统式的设计和流程,发生变动的话,这就和传统团队开发不太一样,没有很全面详细的设计再到开发的过程,也更没有并存的开发条件,所以因地制宜,采取更适合这种小型作战的方式方法。
当然了,这个还是建议重点关注的是具体的功能应用式的开发,而不是完全取消前置界面的设计,如果没有了开发框架的设计,同样也是不行的,就像房子不能没有地基一样的道理。
第三,就是先横再竖,我们从水平和垂直的这两个方式,去进行细致的划分着功能。
比如某个项目中有四个界面,分别是发现页面,发布信息页,以及单篇展示页,我在开发时,要先把这个也买你建好,把tad和图标也都是添加了进去,界面也都要切好,还是要先感受一下,最终的小程序效果,这种交水平式开发,还是有很多好处的好处就是,让你会对最终的形态有信心有感知,当然如果有什么不舒服的地方,也是可以进行调整把控。
最后是敏捷的支付,或者是脱胎与快速的开发模式的,大概的意思就是要持续的跟用户客户交付,可用的一些产品,在这里就是客户就是开发者自身的。
在一些开发基础原则上面,也一定要抓住按钮大小,合适吗,适用吗,美观等一系列的问题,在进行深度的打磨,才能精致。
3.4 运营准备
某个产品的启动也是非常有讲究的,尤其是社交UGC游戏产品,当一个用户的第一次的使用,如果觉得产品很冷清,同样也是毫无体验,用户是很难再体验下去的,所以也要适当的“作假”就要比游戏里面会有人机一样的道理,就是为了提升用户的体验度。
当产品在一定的量级之后,也要记好把这些“作假”移除掉,比如吃鸡的配位机制,当用户的段位很低时,系统会自动匹配一些AI人机,这样也是鼓励玩家去接着玩下去,有体验感。当然当用户人数达到了一定的数量量级后,也要适当的降低AI机器人的比率,让用户等待的时间过长也不是一件好事。
四,后记
项目的整个过程都是我自己一个人完成的,对于这种小项目尚能如此,当然了稍微大一点的项目就需要考虑协作等问题,以及也要用一系列高效率的工具进行开发和工作的进度问题。