4.app是怎么炼成的
很多刚进入app后端的小伙伴,有的是之前没有接触过这个行业,有的是只在学校学习了基本的技术知识,不知道开发app的整个流程是怎么样的,因此心里会有一股恐惧。听着别人口中的一大串app相关的术语,也不知道怎么回事,更谈不上和别人交流。在本文中,根据本人在创业公司的经历,帮你解决以上的疑惑,助你迈入app开发的大门。
项目启动阶段
在一个app项目启动之前,由产品经理(在创业公司里, 产品经理一般都是公司的创始人)把自己对app的想法,例如,app是做什么业务的,有哪些界面,每个界面上有哪些元素,每个界面之间是怎么跳转的。根据以上的这些想法,出原型图。
原型图一般是用axure 这个软件制作的。在axure制作完成后,可以把原型图导出为一堆html文件,把名字为index的文件在浏览器中打开就可以看到原型图。
下图是原型图的文件的例子。
从上面的原型图可看出,这个原型图只是简单描述了app的基本界面,界面极其简陋。单靠这份原型图是很难开发app(如果硬是出了原型图就开始开发也行,只是前端估算的时间非常不准确)。
当原型图出来后,产品经理就把原型图交给UI设计师出设计稿。UI设计师就开始根据自己的美术功底,美化这份原型图:给里面的每个元素都配上合适的颜色;调整整个界面的布局,按钮的大小,位置,颜色等,务必使整个界面看起来更美观;标示里面的字体的坐标,使用的字体等。
下面是一个设计搞的例子:
甚至,有的UI设计师还要负责设计交互,例如,A界面是怎么跳到B界面,是从上往下跳转,还是从下往上跳转。
当原型图出来后,产品经理就会召开产品会议,把整个项目相关的人员拉进来开会。会议的内容主要就是亲自介绍一下原型图,把整个产品的流程向相关的人员说明,还有回复大家对产品的疑问。
这个产品会议非常重要:它要保证整个团队成员对这个产品的理解是一致,确保接下来开发工作顺利进行。
产品会议后,相关的人员就要根据自己的研发任务估算时间,研发总监(很多团队没有这个职位的,由产品经理兼任)根据各个估算的时间制定安排工作计划
研发阶段
后端人员根据产品,设计架构。
android和ios程序员,则可以根据设计稿开始先做界面,凡是和后台交互的部分先不做。
当一段时间后(大概一个星期),后端的架构应该设计好了,这时针对下面3点先初步定好api的接口:
1.这个api是有什么用的?
2.这个api的输入参数是什么?
3.这个api返回什么数据?
根据这些定好的api接口,和android和ios程序员相信说明,让他们了解。这些api接口初期先返回一些测试的数据,好让前端人员先开发,后端人员慢慢把这些接口的功能实现。这样子,前端和后端的开发进度都不会耽误。
当然了,这些api接口以后肯定要改动的,为了保证信息的通畅,有任何改动请及时通知相关的开发人员。
测试阶段
当制定开发计划时,就应该计划好,做完哪几个功能就测试一次。一般是一到两个星期测试一次为宜。
如果是研发了两三个月才测试一次,那么积累的问题太多了。如果是在某个点对业务了解错误,那么过长的研发周期也会造成错误难以修复。
在创业团队中,就不要幻想有专门的测试人员,更多的是全员测试。整个创业团队里的每个人,都充当测试人员,测试app里的每个功能,记录下所发现的问题,整理好,提交给相关的负责人修复。
正式推出阶段
当app测试完毕,觉得没什么问题了,就开始准备上架了。
如果是ios应用,就提交改appstore审核,需要7-15个工作日。
如果是android应用,就提交到各个应用市场,例如小米应用市场,豌豆荚,应用宝等。
但就算提交到各个应用市场,你的潜在用户也未必下载这个app的啊?
不是每个用户都知道这个应用?
知道这个应用后,怎么让用户按下载按钮呢?
这些问题,就是创业团队中市场推广人员需要解决的。
当用户下载了这个应用后,怎么保证用户会经常使用这个app,怎么保证用户的活跃度,这就是运营人员的工作。
后记
以上是大概的整个app研发流程。
上面的项目管理的部分,描述得比较简单,详细的项目管理请看本人以前发表的博客:http://blog.csdn.net/newjueqi/article/details/19011017
很多创业团队中的职权是很难分清的。例如,在创业团队中,app后端都要兼职做运维,甚至是前端。理由很简单,没额外的人员来干。
而且,在很多团队中,也有身兼多职的情况。例如,我认识一个创业团队,就4个人,一创始人,1后台,1android,1ios,按照这个人员分配,除了开发外,所有的工作都是创始人来做。
总之,在创业公司里,能力是成长很快的,因为大量的问题都要你处理,而不是在大型公司,只做一口螺丝钉。但同时,在创业公司里对人员的要求比较高,一专多长,加班而不是什么稀奇的事情。
---------------------------------------------------------------------------------------------------------------------------
【作者】曾健生
【QQ】190678908
【qq群】254659220
【微信公众号】 appbackend
【新浪微博】 @newjueqi
【博客】http://blog.csdn.net/newjueqi
版权声明:本文为博主原创文章,未经博主允许不得转载。
4.app是怎么炼成的的更多相关文章
- fir.im Weekly - 论个人技术影响力是如何炼成的
每个圈子都有一群能力强且懂得经营自己的人,技术圈也是如此.本期 fir.im Weekly 一如往期精选了一些实用的 iOS,Android 开发工具和源码分享,还有一些关于程序员的成长 Tips 和 ...
- 我的 Github 个人博客是怎样炼成的
Joey's Blog 长大后才发现政府建造 GFW 真是太 TM 机智了,由于本人自制力较差,且不说 91porn, youporn 等两性知识网站的超强战斗力,单单一个Youtube就可以让我瞬间 ...
- 自由是有代价的:聊聊这几年尝试的道路 要想生活好,别看哲学书和思想书。简单看看可以,看多了问题就大了。还是要去研究研究些具体的问题。别jb坐在屋子里,嘴里念着海子的诗,脑袋里想康德想的事情,兜里屁都没有,幻想自己是大国总理,去想影帝是怎么炼成的。
自由是有代价的:聊聊这几年尝试的道路 现在不愿意写过多的技术文章了,一点是现在做的技术比较偏,写出来看的人也不多,二来是家庭事务比较繁多,没以前那么有时间写了.最近,园子里多了一些写经历的文章,我也将 ...
- 2星|《10W+走心文案是怎样炼成的》:标题党。实际是台湾创意总监的一些人生感悟和两三个很一般的创意文案
10W+走心文案是怎样炼成的 作者是台湾人,曾在台湾奥美担任创意总监,做过一些广告.本书是他的一些经验介绍. 总体来说是标题党,作者的广告基本是电视广告,跟文案也有关系,估计播放量也很容易过10W+, ...
- 测度论--长度是怎样炼成的[zz]
http://www.58pic.com/newpic/27882296.html http://www.58pic.com/newpic/27893137.html http://699pic.co ...
- AI算法工程师炼成之路
AI算法工程师炼成之路 面试题: l 自我介绍/项目介绍 l 类别不均衡如何处理 l 数据标准化有哪些方法/正则化如何实现/onehot原理 l 为什么XGB比GBDT好 l 数据清洗的方法 ...
- 老杜告诉你java小白到大神是怎么炼成的(转载)
老杜告诉你java小白到大神是怎么炼成的 1. 学习前的准备 一个好的学习方法(应该怎么学习更高效): 一个合格的程序员应该具备两个能力 有一个很好的指法速度(敲代码快) 有一个很好的编程思想(编程思 ...
- 开会不用把人都轰进一个小黑屋子——《Office妖精是怎样炼成的》续2
<Office妖精是怎样炼成的>http://blog.sina.com.cn/s/articlelist_1446470001_6_1.html 一本不是技术图书却含有技术内容的图书,一 ...
- 学习型的“文山表海无限发展公司”——《Office妖精是怎样炼成的》续1
本篇无故事情节版:https://www.cnblogs.com/officeplayer/p/14841590.html <Office妖精是怎样炼成的>http://blog.sina ...
随机推荐
- How to configure ODBC DSN to access local DB2 for Windows
How to configure ODBC DSN to access local DB2 for Windows MA Genfeng (GuangdongUnitoll Services inco ...
- rails4 中使用分页的方法
以前老版本的rails中默认自带分页方法,不过从rails2.0开始就将内置的分页pagination对象移除了,改以第三方gem提供支持.要在新的rails里使用分页也是非常简单啦,首先安装will ...
- html5中新增的属性和删除的属性
一.表单新增的属性 1.对input(type="text").select.textarea与button元素指定autofocus属性,它以指定属性的方式让元素在画面打开时自动 ...
- web集群时session同步的3种方法[转]
在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,一个登录用户,一会是登录状态,一会又不是 ...
- Day5_递归_二分法
递归调用: 在调用一个函数的过程中,直接或间接的调用函数本身. def func(): print('from func') 间接调用: def foo(): print('form foo') ba ...
- Angular HttpClient upload file with FormData
从sof上找到一个example:https://stackoverflow.com/questions/46206643/asp-net-core-2-0-and-angular-4-3-file- ...
- FatMouse' Trade -HZNU寒假集训
FatMouse' Trade FatMouse prepared M pounds of cat food, ready to trade with the cats guarding the wa ...
- C++的拷贝构造函数、operator=运算符重载,深拷贝和浅拷贝、explicit关键字
原文地址:https://blog.csdn.net/shine_journey/article/details/53081523 1.在C++编码过程中,类的创建十分频繁. 简单的功能,当然不用考虑 ...
- springAOP之代理
AOP是指面向切面编程. 在学习AOP之前先来了解一下代理,因为传说中的AOP其实也对代理的一种应用. 首先来看这样一段代码: public interface Hello { void say(St ...
- kaggle入门项目:Titanic存亡预测(四)模型拟合
原kaggle比赛地址:https://www.kaggle.com/c/titanic 原kernel地址:A Data Science Framework: To Achieve 99% Accu ...