做小程序?助手帮助你在一天内完成它。作者分享自己16小时完成一个完整小程序的经历,包括思路、准备、代码阶段。工具/轮子越来越多,做程序员可以说是越来越潇洒,真正的吃火锅唱
做小程序?助手帮助你在一天内完成它。作者分享自己16小时完成一个完整小程序的经历,包括思路、准备、代码阶段。
工具/轮子越来越多,做程序员可以说是越来越潇洒,真正的吃火锅唱歌,清闲调bug。
今天要分享一套完整的有后台的小程序,完全从0开始,没有用任何小程序生成框架。
一.成就从第一天早上10点出主意到第二天早上6点提交上架,大概需要16个小时,除了做饭+吃喝拉撒。
回顾了一下,觉得整个过程还是挺有代表性的,就分享给大家做砖。
二。工具列表2.1准备阶段思维导图:窗帘
小程序应用:微信公众平台
2.2发展阶段2.2.1背景版本管理:码云后台开发IDE:PHPStorm后台框架:PHP + Laravel数据库:MySQL微信后台对接(Laravel插件):EasyWechat图片存储(Laravel插件):Aliyun-oss-storage
2.2.2小程序
小程序开发IDE:微信开发者工具小程序:官方的文档、组件、API瀑布流展示(小程序插件):BrickLayout晓瀑布流
2.2.3设计
图标:iconfontUI参考:WeUI小程序版编辑:Photoshop
2.3运行和维护阶段小程序助手
小程序数据助理
小程序客服助理
三。显色法3.1从想法到实践做事不经调查我已经受够了。最近几年,我对Idea产品非常谨慎。像这种干净利落的决定,显然已经很久了。
实际上,我不建议这么快就做出开发新项目的决定,除非有几个因素:
项目开发周期短,1-3天为宜;具备立竿见影的效果;没钱了。
从创意到产品,首先需要理清思路。
之前用的Xmind,最近一直在用新窗帘。后者更方便分享,多端可用,更适合国内使用习惯。
思维导图
时间紧迫,就简单画了一张。如果是大项目,需要更系统的思考。下面推荐processon,之前一直用来画流程图。最近又开发了商用canvas等新工具,非常好用。
3.2开始设计产品的最终形态,在哪里开发,最好有一个原型,否则在开发过程中会逐渐失去方向,被琐碎的事情干扰,以至于最终开发出来的产品和最初的想法相差很大。
上面没有列出原型工具,因为项目太小,不值得及时绘制原型图。推荐原型的工具用于上墨。和幕布一样,也可以在线分享演示,非常方便团队合作和向客户演示。
这个设计,就是我完全在脑子里做了一个草稿,然后去找同类型的产品,有了一些想法,然后就有了一个大概的产品模型。
至于款式,看天气了。因为不可能在这么短的时间内使用设计兄弟,所以我在iconfont和ooopic这样的设计网站上寻找灵感。
好在iconfont上正好有一组图标,符合心目中的产品,果断下载。
此时,标志、图标、框架等。一切就绪,最激动人心的代码实现阶段开始了。
3.3“代码”自己搞定前后端,这里面有一些小技巧。
做你想做的事,然后再做。每个人都有不同的偏好。
以效率为出发点,我有以下建议:
先搭建框架,先下后上,先横后纵,及时交付
。
第一架是先设置前后基本架,搭配的基本功能要先做好。比如Laravel的本地调试环境、代码仓库、云服务器、归档域名、小程序账号、业务域名配置等。这些环节首先在你的脑海中经过,然后从头到尾完成。
之所以一下子全部完成,是因为在后期的编码过程中,一旦被上面的一些小问题卡住,思路很容易被打乱,效率也会受到影响。而且很多事情需要很长时间,比如域名备案。慢的话要120,10天。如果被域名卡住,项目流产的可能性会大增。
二是前后。这意味着在开发一个功能的时候,先设计前端接口和逻辑,再做后端接口和数据。不能反过来吗?是的,但是不好。
在快速迭代开发的情况下,前端页面和逻辑都没有经过系统设计,经常变化。不像传统的团队开发,没有从概要设计到详细设计再到开发的过程,不具备并行开发的条件。所以要因地制宜,采用更适合这种小规模操作的方法。
当然,这个建议侧重于具体的功能开发,而不是完全取消前期设计。如果没有整体的框架设计,那是绝对不可能的。
三是先横后竖。我们把具体的功能进行横向和纵向的划分。
比如这个项目有四个页面,分别是发现页面、发布页面、个人主页、单一展示页面。我在开发的时候会先建四个页面,添加标签和图标,切换好页面,先感受一下最终的效果。这种方法叫做横向发展。它的好处是你可以先对产品的最终形态有个大概的了解,如果有不舒服的地方,及时调整。
当我们开发一个页面或者跨页面的功能时,就叫做垂直开发。这个时候函数的粒度会比较小,更容易控制。
最后,敏捷交付脱胎于敏捷开发模式。意思是持续不断地向客户交付可用的产品,这里的客户就是开发者自己。
在前几条原则的基础上,要实现敏捷交付,还要注意不要被琐碎的点所束缚。比如图标颜色不好,按钮位置不对等等。记住,一定要注重大的,放下小的,美化完善工作一定要放在最后。再者,一个产品必须不断打磨,才能冲向顶级品质的产品。
3.4操作准备
一个产品的创业是很有讲究的,尤其是社交和UGC产品。用户第一次使用的时候,如果觉得你的产品冷冰冰的,毫无生气,就很难沉下心来体验。所以适当的“证伪”是一种提高用户体验的成长黑客方法。
产品达到一定程度后,一定要记得去掉这些措施。比如王者荣耀的排位赛,当你排位低的时候,会匹配一些AI机器人一起玩,来鼓励玩家。到了人多的年级阶段,AI机器人的比例会降低,因为用户等待时间太长是非常不好的体验。
同样,在我们的产品中,用户发的文章也要通过在一定时间内引入一定的激励机制来鼓励。当用户较多,且真实交互足以激励用户再创造时,可以取消激励机制,完全度过项目的冷启动阶段(由于时间关系,当前版本没有激励机制)。
四。增殖如前所述,这样的产品,站在前人的肩膀上,可以快速构建一个简单的MVP,而后续的运营和迭代才是难点。
首先,任何迭代开发都要保持一个大方向不动摇。换句话说,产品的调性不要轻易改变。
比如你做这样一个社交产品,就要扎扎实实的专注于社交的打磨功能。当它能成为一个精品的时候,你就要考虑逐步横向扩张,比如广告、带货、游戏。
微信就是一个很好的例子。
最近几个月,微信动作频频,推出了大量的货币化功能,而前提是用户体验没有受到太大影响。是社交微信的方向,是微信的固有属性,根深蒂固;如果这个基础动了,上面的功能模块就不稳定了。
另一方面,支付宝也在不断创新,对产品经理的大脑起到了很大的作用,无论是功能还是布局。结果它终于偃旗息鼓了,不再有大社交大脑了。
其次,产品的初始迭代要根据市场反馈灵活调整。你对市场反馈有什么看法?数据。比如微信小程序,提供了相当完善的操作工具,其他第三方工具如阿拉丁也可以作为很好的辅助。
具体怎么玩?看活动效果,推广渠道带来的指数增长,某项功能调整带来的用户波动等等。这是个大话题,不是一两段话能解决的。推荐一本范炳的成长黑客,更多的是从技术角度讲解如何提高操作效果,更适合技术人员充电。
动词 (verb的缩写)附言整个过程都是一个人完成,小项目还是这样,稍微大一点的项目就需要考虑协作问题了。我改天再分享中小团队协作的流程和一些用来提高效率的工具。
另外,我会继续做这个小产品。成功,或者失败,过几个月我再来回顾整个过程,分享中间的迭代、运营、推广等环节,希望对你有帮助。