只接受发布货源信息,不可发布违法信息,一旦发现永久封号,欢迎向我们举报!
免费发布信息
16货源网 > 餐饮行业新闻资讯 > 软件开发 >  开发一个 app 有多难?


  • 【莆田鞋厂家分类】
  • 【奢侈大牌包包厂家分类】
  • 【潮牌奢侈服饰鞋子厂家分类】
  • 【名表厂家分类】

厂家货源分类区域

开发一个 app 有多难?

发布时间:2019-07-16 20:04:46  来源:网友自行发布(如侵权请联系本站立刻删除)  浏览:   【】【】【
男神 @陈柏龄 提的问题,刚好熟这个领域,答一下回馈男神。1.开发一个APP有多难?懂则易,不懂则难。有的人有好点子,有的人开发能力强,你需要这两种人,或者成为这两种人。2.需要经历那些流程?产品策划
开发一个 app 有多难?男神 @陈柏龄 提的问题,刚好熟这个领域,答一下回馈男神。

1.开发一个APP有多难?
懂则易,不懂则难。有的人有好点子,有的人开发能力强,你需要这两种人,或者成为这两种人。


2.需要经历那些流程?
产品策划(点子/想法,没专业限制,但很重要)→人机交互设计(需要专业技能和经验)→UI设计(需要专业技能和经验)→程序开发(需要专业技能和经验,这里一般会包括前端开发、后台开发、服务器端开发)→测试→改bug→上线。

3.难点都在哪里?什么时候出现的?
难点是好几个环节需要专业技能,如果你能找到这样的人就不难了,慎防行业忽悠。产品点子很重要,最好你有一个商业头脑。

4.需要哪些人员进行开发?
参见问题2的回答,每个环节最少有一个人。

5.需要多少钱多少时间?
这个真的由市场定价。回答不了。

6.如果能结合自己的经历说说就更好了
做过移动端外包服务一年有多,很多人开口就说要做个APP,完全没想清楚自己为啥要做APP。
所以,请认真思考这几个问题:
1.这APP的使用对象(用户)是谁, 使用场景是怎样的。
2.解决了用户的什么问题(需求)。市场上有没有解决同样问题的产品,也许不是APP,他们是怎样做的,我的APP有哪些地方能赢他们。
3.APP能为我(公司)带来了什么好处。

获得男神点赞,好棒!!!! 再来话痨一下如何防行业忽悠:
1.如果这个公司的主营业务不是产品开发,就得注意了,你的需求可能会被转包出去,花了更多的成本不说,产品开发之前的沟通也会因为多了中间商变得更费劲!万一中间商把鸡传达成鸭呢?
2.有的外包服务商能说会道,这时你更需要关注他们做过的产品,参考价值会更高。

-
ps.现在公司暂时不接外包了哦,所以不要问我公司的事情,产品方面的话可以讨论,不过平时我收很贵哒,你是不是要请我吃顿好的呢>,<单纯开发出一个APP来不难,但是开发出来往应用市场一丢就算完事吗,不是,为什么要做这个APP,做出来有人来用吗?这个APP的用户使用场景是什么?这些都没想好,做出来APP也是没用的。
具体的话,我在一个 App 是怎样诞生的? - 知乎用户的回答 回答过,这里就再贴一遍吧,

  • (一)想法产生
我本人是一个喜欢听音乐的人,上个暑假我在用网易云音乐(我不是打广告)的时候,用了网易云音乐的歌词分享功能,当时我突然想到,像我这样喜欢背歌词的人,要是有一个专门的歌词社区来一起和志同道合的人一起谈论歌词,分享自己认为最美的歌词的地方多好,介于本人在学校自学android开发,有过好几个APP项目经验,又是一个以后想当产品经理的人,于是马上把这个想法记到印象笔记中,第二天去找相关资料,发现基于歌词的社交APP没有搜到什么,有的也是一些风格是android2.3风格的应用,又逛遍有关歌词的百度贴吧,人人小站,豆瓣小组.....基本确定歌词社交的需求是存在的,而目前没有相关APP,于是说干就干,拉上实验室的开发队伍(由于本人以前就做过几个APP项目,也在大赛得过奖,可以组织起开发人员),正式开始了最美之路。




  • (二)需求确定
我认为有一个好的创意是不够的,你需要把一个点,扩展成一个个具体的需求,于是在网上找了个钟跟歌词有关的资料,以及问了在哪些歌词贴吧,小组中的人,文他们希望APP哪些需求,然后大致完成APP的需求概要设计书。
  • (三)产品设计
然后产品经理瘾上来的我,不分昼夜的想了一个星期,终于对于APP说要得到的需求合理安排设计,初步完成APP的原型,






  • (四)APP开发
真正的难点来了,绝大部分的想法永远只是想法,于是产品经理化身工程师,开始和一个搞技术的同学一起开发,我主要负责UI,和一些常规开发,而他负责技术难点,两个人暑假在学校实验室里忘我开发。真正开发起来,计划永远赶不上变化,设想的功能因为技术难点无法解决或者我们技术根本搞不定,只能放弃,改变方案,但是每次改变都不是轻易说改变的,我又需要根据现在的技术和需要实现的功能做一个平衡,想个三四天,再做一个原型出来。
没办法,对于学生创业者,技术才是制约发展的最重要因素
下面贴做完后我们的应用


是不是感觉改变好大,我们算是一边做,我一边不断修改原型的,这貌似暴露了我这个产品经理的不专业,没办法,还是大学生,一步一步都是新手,又一开始把饼摊的太大了,只能每天晚上都想方案,现在想想真的是蛮拼的,自己对产品的喜爱还是很强的吧。
  • (五)上线推广,运营(如果有社交内容)
目前应用准备上线,产品经理又化身运营人员,开始苦逼的找应用市场,找首发机会,无奈大部分应用市场首发都需要企业开发者,我都把360的首发要求都做好了(闪屏加logo),应用推荐精品360手机助手,结果申请的时候,说不是企业开发者,想哭的心都有了,于是把logo和推荐又去掉。唉,目前正在各大应用市场上线,不要以为APP做出来了就是成功了,把APK往应用市场一丢就完事,你的应用被别人下载,而且一直被人使用才是真的成功。这里也希望看到的知友们,多多推荐最美歌词,分享的链接为分享-最美歌词


  • (六)根据相关数据来准备第二版改进点
我在APP里加入了友盟的统计,准备根据APP上线后的数据再对APP进行第二版的改进。

希望我的经历能帮到你,
最后贴下最美歌词官网
最美歌词官网 大家多多支持下小编收集一些同事们的见解,如有不全面的也请见谅啊! 希望能帮助到大家。

难与易是个相对的问题,几乎任何事情在真正付与实践时都比想象中更困难,就像计算永远没有变化快一样。
开发App的通用流程如下:

1. 设定
这里指的是你的最初目的或想法,如:『我希望做一款个性化闹钟的App』

2. 调研
许多小公司会省略掉这一步骤,而事实上这个步骤非常重要,它能直接的为产品提供有力的数据支持。这里的执行人员一般为产品经理、用户体验研究分析师。

3. 需求
需求确认与提出环节。通过前期的研究成果明确产品做什么,怎么做,这将成为标尺约束设计与研发。

4. 设计
设计阶段分为交互设计与视觉设计。而事实上,交互设计往往在上一个需求确认的环节就参与进来,以原型的方式进行原型测试,明确需求,同时,指导视觉设计师进行接下来的视觉设计。

5. 研发
设计师的交付物作为指导前端开发的标准被严格的还原,同时,后端开发工程师也会为产品提供强有力的架构、算法及数据保障。待前后端联调完成,一款App就已经基本诞生了。

6. 测试
App交付测试时,其实感官上已经是完整的App了,但未经测试的App不能进入应用市场,App测试保障了多平台下的兼容性、使用的连贯性及无错性。

当然 ,这个流程是原则的,是理想的。事情的发展往往会在各个环节中反复出现,混乱不堪。PM会因为市场的需求更改PRD,设计师会因为定位变化更改设计,工程师会因为难易度改变算法,这当中的一切都是不确定的。App的开发我觉得有两个很重要的特点,一是少数几个人,甚至是你自己一个人,可以把所有的事情都做了(只谈App开发,不包括后台),二是App是一个和用户强交互的产品。

对于第一点,也就是说,即使你是一个刚刚入门的菜鸟,如果你想一个人或者和几个小伙伴一起开发一个App,在写代码的时候,都需要考虑到代码的架构,类的设计,以及更小的一些编程的最佳实践和技巧。这些事情往往没有一个架构师或者更有经验的程序员帮你做(即使很多成熟的公司也是这样),需要你自己来掌控。这就导致一个问题,一个经验丰富,且技术扎实的程序员,可能写出一个架构良好、便于扩展、稳定、高效的App,但是一个菜鸟,或者从来不在意这些事情的程序员,可能会写出一个代码极其混乱的App,进而导致应用的稳定性不好,甚至连界面都写不好,影响用户体验。所以我觉得,写一个App,人人都是架构师,能不能做好这个角色,对最终的结果影响很大。

第二点,是很多程序员比较忽视的一点,App是和用户不停地做交互,用户对于界面的设计、交互的设计、功能的设计甚至颜色、动画、字体大小等细节,都会非常敏感。所以我觉得大多数情况下,要写出一个优秀的App,程序员是需要一定的审美能力以及对产品的理解的。当然,你可以说这些事情都是产品、设计师、交互设计师提前决定好了,程序员只要负责实现就可以了。但是程序员如何还原这些实现,用什么样的代码进行实现,使用什么样的API,使用什么样的开源库,都是程序员综合能力的体现。我看到过写的十分优雅的App,对于极少数App,我会用“丝般顺滑”来形容它的用户体验,我也看到过很多大公司的中规中矩、功能齐全、界面保守的App,然而我看到最多的却是一个个生硬的界面,让人一点触摸的冲动都没有,你能说这种情况程序员没有责任吗?

以上的回答可能不能完全契合题主的问题,但是却是我认为的很重要也相对比较困难的两个方面。开发一个对付着能玩的app很简单,开发一个商业级的app很难,开发一个顺手顺心的app更难。每个环节都很重要,但最致命的是产品设计和软件实现。这个问题我正好有心得,过年用10来天时间写了一个Android小游戏--智取华容道,可以到这里看看:

第一个AndroidApp-华容道

之前我是完完全全的JAVA,,Android零基础。为了探明"我这种条件下开发一个APP有多难",简单记录了一下开发流程:

开发日志:

很巧的,我在知乎看到了类似”如何20天零基础开发Android游戏” 的问题。大家都是对这种问题不屑一顾的,但我从开始到完成恰好十来天,可以作为参考记录一下。


Day1

确立市场方向,要做个益智类游戏,啥好呢?啥好呢?我把所有的Android的华容道下载下来玩了一遍,嗯,都很粗糙,看来有的玩,就是它了。

这个时候,其实你已经完成一半工作了。没错,就是那句什么 决定出发的时候,旅行就完成了一半。 这个时候就不要纠结于做什么了,关键是如何做。



Day2

开始搭建开发环境,先后折腾了Android Studio和Eclipse,家里翻墙实在慢呀,另外我用父亲打扑克的机器跑Android Studio是在跑不动啊,最后装了Eclipse。推荐个链接,有兄弟收集了开发环境套装国内下载,你值得拥有。

Android SDK开发包国内下载地址



Day3

开始学习Java,神马?你都不会Java还来搞Android。嗯,我也没想到,有一天我要搞Java!要搞Java啊,我对它的印象还是航空母舰啊~~~。没办法,找了本 电子书,照着书里面的例子一个个敲,没错,不论懂不懂,就一个个敲。,幸亏 Head First 系列专门照顾低智商读者的,像我这样的一天敲到了300多页的例子。



Day4

不知不觉就把600页的书敲完了。嗯,看来那种xx天精通xxx,也不是骗人的,现在我的状态,估计能出去忽悠一些HR了。



Day5

先不管Android,搞一个穷人版的华容道。就开始封装三个类,什么接口啊,多态啊,统统不用,就是简单继承。搞了个核心库,棋盘就用 0011 先画出来了。嗯,最后可以玩了。不过只有我一个人懂得怎么玩。 不过很有成就感啊,看来一天写个俄罗斯方块之类的不是难事啊。



Day6

这个核心库很关键啊,挂了直接影响后面的开发啊。但是我用 0011 看的很累啊。赶紧google之,看看Java怎么搞测试~~~,好,最后集成了JUnit,顺便学了学怎么在Eclipse里面跑测试,最后写了一堆测试用例,果然发现了BUG,某些棋子竟然能对角线走动,罪过罪过。



Day7

Android程序怎么搞,现在八字还没一撇呢。热情啊,就要消耗光了。

赶紧找了本网上号称最简单的Android开发教程 <第一行代码 >,再开始对着敲。没错,我就是只会这一招。



Day8

还在敲~~~,敲不完了。不是打字慢,而是电脑一开Android 手机模拟器就陷入昏睡模式,一气之下不敲了,直接接上手机开干。



Day9-Day13

游戏逻辑在前面那个核心库早写完了,我对Android App的开发印象就是:画View。没错,就是处理各种图像拉伸,各种尺寸适配,各种布局位置,各种奇葩的手机尺寸,各种API新老接口整合。

简单列举下中间遇到的坑:

  • 怎么在各种尺寸下画出一个比较漂亮的棋盘布局

  • 怎么用相对布局把几个菜单搞得整齐一点

  • 怎么PS出一个不那么生硬的背景,没错,我还同时开了Photoshop做美工,这个时候电脑已经处在超脱状态

  • 怎么在两个View直接传数据,怎么处理活动的生存周期

  • 怎么加背景音乐,怎么搞成服务,怎么能让程序退出的时候结束服务,怎么搞得好听一点,没错,这个时候我又客串DJ,研究了MP3各码率下音质和文件大小的关系,最后以专业乐评人的视角选择了一首古筝曲

  • 晕,现在为止还是只有一关呢,怎么办?我到 代码发芽 网上,写个Python脚本爬下来了所有关卡,同时邮件问作者申请授权

  • 到底是拖动棋子效果好呢,还是点击移动棋子效果好呢?我又化身PM,反反复复走最简单的一关, 十八步 ,最后确定还是点击效果好。没错,到目前为止,这个游戏我只玩通了三关,我的智商就是这样。最后我爸还解决了 横刀立马 ,我怎么也不行。

  • 发现一个重大问题,原来我一直以为只有五虎上将的,一共五横五竖十个长条棋子,突然发现有一关里面出现了魏延,我晕,再调吧

  • 又发现个问题,Android的默认sqlite模块好像没说怎么把已有的数据库集成进去,怎么办,Google吧

Day14

到各个Android市场注册账号,提交APP,等审核,之间经历若干PS工作,这也是辛苦活啊。

~~~~~

就是这样,我在各种大坑小坑瞎搞之后,瞎搞出来了。。。



结论
  • 所谓零基础xx天搞APP是可以的,但是有条件,你只是Android零基础或者Java零基础,其它编程基础还是要有的,不然期间大坑小坑肯定要浪费很多时间

  • 熟练工和初级工效率差距巨大,一天写个游戏APP不是开玩笑

  • 这样写出的APP完成度低,要加入完整的体验流程,工作量还是很大的



我在开发过程中用到的技能:


虽然说是零基础,但是我其它程序语言(C, C++, Python, Javascript, CSS)的经验还是有一点的,以这个条件来看也不是零基础,下面总结下我已有的技能铺垫:

1.Google能力。这个真的非常重要。我没有诋毁百度的意思。我只能说,做开发,真的只能依靠Google。另外搜索能力也很重要,比如我遇到个最简单的问题:"如果把已有的数据库集成到Android程序里",一般就会以"android sqlite exists database" 为关键字google,要更精准的话,还会以google的site 语法过滤stackoverflow上面的答案;如果你要解决布局问题的话,起码要知道layout这种术语吧。所以不夸张的说,Google能力是最重要的一项技能。
具体可以参考这里:如何用好 Google 等搜索引擎? - Google 搜索

2.版本控制能力,我是使用http://bitbucket.com的Git服务开发的,现在大部分开发人员都转向Git了。GIt也有一个非常陡峭的学习曲线,如果从来没有接触到版本控制的人,要很长时间才能熟悉。

3.PS能力,就是有点美工能力,可以简单的修一下图,PS一下背景,调下大小,抠个图什么的,要求不是太高,不过有些很简单的问题就足够考验新手的,比如"怎么创建圆角图片?","怎么平铺背景?","怎么设置叠加效果?" 等等等等,这些会的人根本不用时间,几秒钟的事,但是毅力不足的新手很容易就被吓退了。或者就去找简单工具想一键修图之类的,我只能说,简单工具可以帮你在某个情况下完成某个特定问题,长远来看,你一定会为今天省出的一分钟,付出一小时的代价。

4.测试能力,这个就是耐心。毅力第一位,没有花巧,就是一个个写测试用例,一项项测。

5.最好有一点脚本能力,比如我想找到所有华容道游戏的关卡,怎么办?一项一项添吗?无疑是到网上找现成的最好,可是怎么把网上现成的关卡搬到你的程序里呢?一般就是写脚本爬虫转化。这个还真的是会者不难,我大概半个小时就做到了。前提是我已经熟知前端开发的那些东西,还有简单的HTML parse,还有HTTP协议等等,这个真的是要基础的。

6.最后就是毅力了。上面每个技能掌握前都会遇到大大小小的坑,考验的就是你的毅力。天下事有难易乎?为之,则难者亦易已。 共勉之。

---------------------------------------------------------------------------------------------------------------------------------------

接触过上万名创业者,开发上线过超过30款App,没有比我更适合回答这个问题的了。。

本文对想做好一款App项目的人来说这是一篇价值百万的回答!因为这是我们花了几百万试错成本试出来的经验!




在我们从事app开发行业以来每天都会收到大量客户的咨询。其中有创业者,公司的项目经理等等。前后2年左右的时间接触了上万名想做App的客户。发现80%的客户都容易犯一些致命的错误。

◆以为做个软件很简单,所以描述需求的时候及其模糊。

◆ 急着想要报价,在自己对需求不确定的时候就要报价。然后就按这个报价开始做。

◆不知道自己要什么,想做个商城说要做的是淘宝。

◆ 网站和手机App区别搞不清楚。要做手机App却说自己要做网站。

◆ 以为所有软件都有模板,而且模板都很便宜。

◆缺乏耐心,不明白也从未想过自己要做的东西有多复杂。

◆自己不知道要做的东西的具体功能,要靠开发商来猜。而且还这时候就要报价。



事实告诉我们,这些问题一定会导致以下结果。


◆ 项目做出来跟自己想的完全不一样。

◆根据一项国外的专业数据统计机构调查,在外包项目中,有52%的项目经理因为项目失控/失败而被迫离职/降职/开除。

◆ 项目上线的时候漏洞百出,反复修修补补解决不了问题。后面必须重做。(滴滴打车当年的外包就遇到了这种情况,找外包做的一塌糊涂。做出来没用过一次就直接报废重做)

◆ 误把自己都不确定需求时得到的不靠谱报价当做真实报价去开始做预算,导致后期资金预算跟不上继而导致项目失控/破产。



我们经常遇到客户第一次跟我们咨询的时候说,以前找的某某软件公司太坑爹。做的东西象一坨屎,仔细一问就发现。原来他自己在项目开工之前自己对自己的需求是完全不清楚和不确定的。就这样稀里糊涂就开工了,以为开发商会帮他完善剩余东西。实际这些客户告诉我遇到过的开发商没有一家会去帮他们中途完善。

原因很简单,需求想的越仔细开发成本越高。一般根据需求的细化程度,成本差出来几倍到几十倍都很正常。10万接的项目,真要扣细节100万的工资成本都不够。这也是一般客户们平时问报价的时候,不同的开发商报价会差出来这么多倍的原因。并不是仅仅是贵和便宜。根本原因是大家对需求的理解完全是不一样的。客户自己不清楚就没人会清楚了。


负责任的外包公司会仔细的问你需求细节,不负责任的外包公司上来就给你报价。


人总是有惰性的,一旦要想事情和要思考的时候都懒的思考。所以客户们一般反而会讨厌这种有耐心的会仔细问需求的开发商。反而喜欢这种什么都不问其实不知道你要做什么,但是先报个超低价吸引祝其入坑的开发商。最后带来的结果一般就是我们前面提到的那种情况,项目直接失败。或者中途被黑心开发商宰一把,中途狠狠加价(原来1万能做的功能中途要5万)。因为你已经选了他了,要么做到一半放弃,要么按他的继续加钱。大部分人都不想前面投入一半的预付款打水漂,而又不知道加这么一个功能到底会加多少钱。这时候已经没法再去选其他的开发商试了。所以会选择做下去。。。


我见过的最常见的例子,就是很多人上来就问做一个APP多少钱?或者问做一个简单的APP多少钱?或者说我要做个类似美团/淘宝/京东/滴滴打车。。。一样的APP多少钱?

第一种:问做一个APP多少钱?

其实你问这个问题就好像你到4S店问,一辆车要多少钱?车有10万的家用轿车也有1000万的超跑。车根据用途(轿车,越野,跑车,赛车,公交也是车),配置,引擎,装置不一样,价格和成本是天差地别。同理,你来问APP也是一样的。必须表达清楚自己要的是什么样的APP,用于什么场景,APP解决什么问题,怎么解决(具体需要哪些功能)。就来问价格,不亚于你去问汽车4S店,我就是要一辆车,你告诉我价格就行了。别人肯定会拿你当傻子。因为你踏马没告诉人家你到底要什么车啊魂淡!!!


如果你只问我做一个APP多少钱? 我只能告诉你,几百块到几个亿,都有可能。


第二种:我要做一个简单的APP,多少钱?

每个人对简单的定义是不一样的。你说的简单具体是简单到什么程度,你又具体是要做什么东西的,很多人觉得微信也挺简单的。。。建议你每次问的时候都说清楚具体功能。




第三种:我要做个类似美团/淘宝/京东/滴滴打车。。。一样的APP多少钱?

一般这么问的创业者有个特点,很多说不清楚自己要的是什么。可能只是看中了比如滴滴打车的地图功能,但是描述的时候说的是跟滴滴打车类似。而滴滴打车的地图功能本身实际只占了滴滴整个软件系统功能的百分之一都不到。同理,有的是看中了美团的团购部分,说自己要做的是美团。有的看到京东有在线支付,就说自己要的是京东。如果你直接这么问,我其实完全不明白你想要的是你举得例子里面的具体什么功能。因为不可能完全精品一个美团/淘宝/京东/滴滴打车。。。


为什么不能是完全精品做?你看到的貌似简单的美团/淘宝/京东/滴滴打车/微信......这样的APP,每个的软件研发成本都是过千万,乃至几亿的(特别是复杂的后台)。因为这些大公司APP的细节的复杂程度和后台的复杂程度超乎你的想象。现在所谓的很多软件精品京东,微信之类的,网上说能给你开发微信京东之类的公司,可以说真正能做的功能不到微信京东的百分之一。举几个具体的例子。比如就说最基本的注册登录,可能就分为邮箱注册登录,微信授权登录,QQ授权登录,微博授权登录,短信验证码注册登录,密码找回又分为邮箱找回和短信找回。这里就罗列了7种情况,你做一种还是做7种开发成本可能就差了7倍或者更高。


又比如搜索功能,最简单的搜索功能可能开发一下就是几个小时的事情,但是这种搜索可能在几千个,几万个商品数据的时候还能正常运行。但是如果商品数据有几百万条,这时候肯定会崩溃。而不仅仅是商品数据会起到影响,比如你搜索功能是支持模糊搜索(即输入的关键词可以有偏差)还是精准搜索。模糊搜索能模糊到什么程度,讲究都是很大的。淘宝京东这样大平台的搜索功能,很多大公司光一个搜索功能就是需要十几个人的开发小组常年去进行开发和优化,养这些人的成本一年就是几百万上千万。你现在就可以打开淘宝的搜索功能仔细看看它有多少细节(高级搜索,地域,价位筛选,搜索结果排序等等等等)。感兴趣的可以自己去查查这些上市公司的财报。每个季度在软件开发上的成本都是几千万到几个亿不等。大公司一定是招自己有需要的人,如果不需要肯定不会招这么多人。由于篇幅有限,更详细的原因和要注意的地方不做详述。




这里贴上滴滴打车的招聘广告,感兴趣的可以看看滴滴打车背后的技术团队有多少人。

仅3月份在招的技术职位就多大上百个。平均年薪都在20到40万之间。

滴滴打车招聘职位


现在诸位能理解为什么很怕这些问题了吗? 因为创业者的确是明明确确的告诉我,要做一个淘宝/京东/滴滴打车类似的APP,但是这种APP的成本是天文数字。你可能要的只是其中一部分功能,或者只是想模精品他的运营模式。



有些人可能会觉得,这是大公司所以才需要。我创业初期需要考虑的这么细吗?很明确的告诉你,非常需要。

等到错误发生了你再去解决,所要付出的成本是非常巨大或者会直接导致失败。

大公司不仅仅是因为他是大公司才做得细,是因为他做得细才能成为大公司。

而且你不考虑没人会替你考虑。不要寄希望于你在网上找的这些软件公司,他们只会告诉你这件事很简单,你快来吧,来了就能发大财,互联网人傻钱多。你不说清楚自己的APP具体需要的是哪些功能,最后吃亏的一定是你自己。因为你在不清楚自己要做的东西具体是什么样子的时候,你找的软件公司就更加不知道。




你寄希望于他们给你去思考细节,他们只会给你偷换概念,偷工减料。因为这样做就可以给你的报价更低增加你选他的概率。



之前有个真实的例子,一个客户跟个不负责任的开发商只说了有注册登录,而没和他说过要做找回密码,开发商也没有提醒他。而最后软件就是没有找回密码的。如果各位看官不想自己也遇到这样的情况而被坑,就请想清楚自己App尽量多的细节。


比如一个购物车功能包括,加入购物车,从购物车移除,添加/减少购物车内某个商品的数量,直接输入数字修改商品的数量,批量付款。这些功能里面你说了一个很多开发商就只会做一个,大部分开发商不会考虑其他的。而一般创业者会觉得,淘宝有啊,一般都有啊你为什么没做?(创业者看到的一般都是那种大公司很成熟的产品),你要知道,淘宝的开发成本是亿级别的。而且经过了很多年的迭代和更新。


阿里巴巴集团2015年Q3季度财报显示,2015年第三季度产品开发开支为人民币32.25亿元(约合5.07亿美元),占营收的15%。你没看错,一个季度32亿的开发成本。一年就是一百多亿。


大部分情况下细节方面你不和开发商提,一般就没有。如果别人会替你考虑的越全面,那么开发成本一定会很高。

这里我列举三大块最影响APP软件质量和成本的东西。希望大家一定要记在心里!!!方便找合适的开发商和掌控项目质量。


1.功能的开发方式

现在市场上存在的几种开发方式如下:


a.web网页加壳生成APP

web网页加壳生成APP的开发方式,先花几百块钱买个现成的手机网站模板,在加壳打包一个APP只需要5分钟,但是做出来的效果很差,耗流量,浏览体验极差,访问速度慢等等。部分开发商利用客户不懂,把这种5分钟速成的东西,当成原生态开发的APP去欺骗创业者。卖几千到几万的价格。而创业者很多时候还自以为捡了便宜(问了十几家这家最便宜)。


b.Web网页+原生态混编(网页部分占80%以上)

混编方式的APP效果比第一种稍好。但是如果要做出接近原生态的效果,需要不断的优化和改版,花的钱不比原生态少。而如果不对网页和系统优化,只是简单的拼凑。那么做出来的效果和web加壳的差不多.


c.HTML5开发

成本大概是原生态APP的50%到30%,也是比较接近原生开发能达到效果的一种方式。但受到很多限制。各大平台兼容性还不足,相对来说还处于过渡期,同时比较耗系统资源。在低配的手机上更卡。手机淘宝的APP目前就是HTML5+原生态混编的,相对来说在很多低配的手机上还是比较卡的。最近优化了很多,但是早期的表现很不尽人意。Facebook和京东都尝试过HTML5,同时也吃了不成熟的亏。HTML5的未来或许是美好的,但是这期间的试错成本小公司不一定承受得起。


d.原生态开发

是目前最常用和最成熟的方式。越重视细节成本越高。一般根据具体功能要求一个APP的开发成本从几千块到几千万不等。


2.功能的实现方式(功能的复杂程度和用户量)

比如上面说到的搜索功能,具体对搜索功能的要求成本会让成本差出来几万倍。不仅仅是搜索,再举几个例子。比如微信里面的聊天,分为文字,图片聊天,录音的语言聊天,语音及时对讲,视频聊天。

语音及时对讲和视频聊天只简单提一提。这些都是开发成本要用百万级和千万级来计算的东西。微信和QQ乃至现在自己的语言对讲和视频聊天都是有很多问题的,比如同时多人聊天会有很大的回声,电流,杂音。不是腾讯不知道,是知道了但是很难解决。

这里具体讲比如录音发送,一般来说我们听一段60秒的音乐是1M左右。而微信的一段60秒的语音压缩到了几十K,来保证发送和接收时的速度。同时还做了语音降噪(减少周围的噪音)等等。而如果这些不去考虑,只是简单的发送一段语音。两者之间的开发成本相差几倍到几百倍很正常。同样的,你的APP做出来你会发现,消息发送很慢,很耗流量等等。


3.APP在手机上的兼容性

相信各位在用手机APP的时候,特别是安卓手机。肯定发现有些APP会闪退,卡死之类的情况。这个就是因为APP的一部分功能在这台手机上不兼容或有bug。这些问题非常多而且很难解决。你只是一个用户的时候感觉不会那么强烈,因为你用的大部分都是大公司开发的很成熟的产品。但是你自己作为创业者的时候就必须要考虑了。因为没有人想自己的APP开发出来,10个手机上8个闪退。但是事实又的确如此。很多几十万成本开发出来的APP到处都是闪退。

兼容性是非常影响成本的(会对成本造成上下几倍到几百倍不等的成本)。仅安卓而言。安卓手机全世界有一万多种机型,各种不同的手机品牌,分辨率,操作系统版本号,都对程序的兼容性有影响。很多时候做兼容性调试的成本还要大于软件的开发成本,真要做到主流手机兼容,光买测试的手机就要花几十万去买。一个APP如果开发出来,不做兼容性调试开发。和做兼容性调试开发,成本也是会差出来N倍的。

另外在说说模板,很多时候一些项目如果有成熟的模板解决方案能节省很大的成本。

但是模板也一样价格存在巨大的差异。同样的一个商城模板可能价格也上下差出来几十倍,原因也是因为细节功能完全不一样,可能功能差了十几倍。如果你在买之前不仔细观察细节功能,那么一定会出现买了后大呼坑爹的情况。这个系统可能整个流程都是残缺的,更不要提你拿这个残缺的系统去运营了。

另外不是所有APP都有模板,一般来说只有商城相关的APP的模板比较多。而且模板有成熟不成熟的区别,真正成熟的模板开发成本和时间是巨大的,一个公司不可能同时有很多好的模板。因为数量多,必定不精。开发一个好的模板的成本已经巨大了,同时还搞多个,则说明每个模板上投入的成本和精力不会太多。


3月30日更新几个app外包开发常见的几个坑。

----------------------------------------------------------------------------------------------------------------------------------

常见坑一:

客户问外包公司你们有什么知名案例吗? 外包公司说有啊,美团,大众点评,携程,一号店(说出一个一二线,或者是三线有一定知名度app的例子)是我们做的/是我们的案例。

这种情况下90%是偷换概念或者纯骗。不管你找的这家公司是真有几百个人的大公司还是只有几个人的小公司。


客户喜欢听大案例,这样放心。但是在互联网技术领域,大公司的互联网产品是不可能外包给别人做的。

实际情况是,任何你但凡听说过小有名气的App,基本都是互联网公司自己招人做的 不太可能是找外包。你可以在百度搜索任何一家你听说过的app名字或者互联网公司名字+招聘2个字,都能看到他们长期在招聘大量的程序员工程师,同时公司长期备有几十到几百,甚至上千人的技术团队。


即使真的找外包,可能是最早创业初期的第一期找的外包,但是他们后来出名的那个系统跟最初找外包做的,已经完全不是一回事了不是一个东西了,业务代码已经完全不一样 。

外包做的东西就是前期低成本试错的一个东西,很可能一次都没用过就直接报废。滴滴打车之前最早就是找的外包开发的,但是基本没正式用过就直接报废了自己招人重新做。但是这家外包公司可能在N年后滴滴打车牛逼了后会跳出来跟客户说:滴滴打车是我客户案例,滴滴打车是我做的。利用的就是偷换概念和客户不懂不会较真。滴滴打车当前找他们做并不是因为他们牛逼,而是滴滴打车可能也被他们坑了。

还有的是,有些外包公司在这个很出名的App公司团队初创的时候,跟这个团队的创始人吹过牛逼,也只是吹过一点牛逼而已,可能并没有实际合作项目。然后这个外包公司N年后发现当年一起吹过牛逼的那小伙做成功了,这时候他跳出来说 XX是我客户,XXApp是我们客户案例。。

还有一种情况就是, 比如很大的互联网公司,比如携程或者大众点评或者一号店,他们平时开发的时候也会有忙不过来的时候 ,偶尔会找些外包公司进行一部分的人员外包,要几个技术员过来帮忙干几个月临时的杂活。一般都是打杂接触点边缘化的没有技术含量的东西,根本接触不到核心部分业务代码。 但是这时候外包公司又会说,大众点评是我们做的。都是偷换概念,显得自己牛逼。

还有的就是一点关系也扯不上, 强行欺骗来增强客户信任。揭穿了就算了。


其实你可以做个简单的实验,你在百度或者其他任何平台公司找app外包开发公司的时候,会遇到N家官网上有大众点评,或者在家点点,携程,美团之类的app是他的客户案例的,或者是他们的业务人员亲口跟你吹这样的牛逼。

其实这些被合作的互联网公司并不知道自己被合作了,以前有个梗是说吃了一次肯德基就是肯德基的战略合作伙伴了,加了一次油就是中石化的战略合作伙伴了。 而在app外包领域里真的这么干的公司非常多,不说小的,甚至大量已经上市的外包公司也吹这样的牛逼。偷换概念乐此不疲。


常见坑二:

外包公司给你的合同一定要仔细看,很多时候被骗的客户自己公司是有法务的但是也一样被骗。因为你的法务和律师根本看不懂那些看似专业的技术词语。所以并不知道他是在扯淡还是合理的。由其是在验收标准和开发要求的这几大块上。基本如果甲方公司没有懂技术的,哪怕有专业的法务也太容易被骗。


一般体现在合同里对需求描述的不详细或者压根合同里就没有提到需求,只说要做个某某app,多少钱什么时候交付。 这样的合同其实压根没有一点卵用,你们之间商量的做个某某app只有你们自己口头讨论了需求,但是如果没非常详细的落实在合同里,最后外包公司随便给你个东西也能交付。甚至压根就不是最早你们商量的,因为合同里并没有证据能证明你们要做的到底是什么。

同样的还有开发方式(原生还是混编,H5还是加壳),验收的标准是什么这些如果不提,每一次都是提前被埋下的炸弹,遇到骗子你去法院都白瞎。根本就告不倒人家,就是合法的骗。


一般负责任的公司在合同里都会非常详细的给到一个很长的需求文档,根据项目的大小起码有几十页,里面有各自原型图和需求说明。用到的技术,项目架构,开发方式等等都讲的非常清楚。


这个文档是合同非常重要的附件,里面详细的描述了你们这次项目具体是要做成什么样子。如果没有这个,双方签完合同的时候其实都是蒙逼的。要做什么根本没个界定,到时候胡乱拿个东西交差也是不违反合同的。


这个看似常识的东西其实大部分外行都不知道,我每年都至少见到几十起外包开发被骗是被坑在这个地方的。


甲方如果不重视这个,哪怕被人骗了告到哪去都没用。 因为别人没违反合同。你们的合同压根就是一张废纸。


暂时就更新这么多,app外包坑非常非常深。最好的方式就是甲方自己公司有个懂技术的能参与进来选择开发商和逐步交接。以后有时间在慢慢更新,希望能帮到真正想创业的人。

先介绍下自己的背景情况,题主可以作下参考:
1.本科通信工程,非计算机科班,大一学过C语言基础,后来因为专业课程需要,学了一点汇编以及Matlab。这部分经历我认为对于我后来的编程学习只有基础语法理解方面的帮助。
2.去年11月中开始系统学习编程语言,由于想做Android开发,所以入门语言选择了Java。
3.11月中到12月中,边看传智播客的一套视频边敲里面的练习。
4.12月中到1月中,20天左右时间看了《编程之美》,并用Java实现书里百分之五十左右的算法题,剩下的题由于难度太大 或者比较复杂,当时没有深入研究下去。
5.1月中到2月中,选择了网易公开课里面的《斯坦福大学公开课—编程方法学》这套视频,同样是边看视频,边完成里面的Assignment。在这里感谢帅帅同学@王帅 推荐这套视频。里面的Assignment题都是经典题目,对于初学者来说非常适合。
6.2月底开始学习Android语言,花了1个月左右的时间,照着《第一行代码》里面的例子,敲代码进行实现。

由于在学习编程之前就有两个小产品的构思,所以也没有想自己基础是否打扎实了,先试着去实现,看看能不能做出个可用的产品来。截止到目前为止,两个小产品都已经开发完毕了,其中一个“苹果序列号查询”已经在小米、豌豆荚、Google Play、魅族Flyme等应用市场上线并且有了一版更新,本篇文章就结合这个应用和题主的问题来说下自己的想法,同时也当是此应用的一个开发总结。

-----------------------------------------

问题1:开发一个APP有多难?

这个与产品的复杂度有很大的关系,复杂度包括业务逻辑多不多,业务模块多不多等,对于玩票的爱好者或者初学者来说,一般会先选择功能比较少的产品来实现。我的第一个APP“苹果序列号查询”就属于这种功能很少,逻辑不复杂的应用,简要来说就是:
1.找一个API,根据序列号去请求查询数据,返回数据后进行解析呈现
2.另一个大功能就是记录查询历史
功能少,逻辑不复杂对于我来说有一个好处是:虽然心里还是没底能不能完成,但是至少自己思路一直很清晰,先完成什么事情,再去完成什么事情。

最终第一版做出来大概花了10天左右,程度是刚好能用,但是有好几个需要优化的功能,以及需要新添加一些功能。当时由于很想快点上线同时也看看有没有一些反馈,就把这个很糙的1.0版上线了。后来帅帅同学@王帅 提了好几点优化建议,再结合自己此前的想加的功能,也就是第2个版本的改进目标了。第2版开发大概花了5天左右,最终在5月18日上线(4月14日上线,到目前为止下载量已经超过1000)。现在,“苹果序列号查询”是这个样子的:

关于开发“苹果序列号查询”具体实现逻辑介绍,请移步(最近好像需要翻墙):JeffinBao - Android开发,读书,见人,行事

问题2:需要经历哪些流程?
1.像我这样没有编程基础的,学习基础知识的过程肯定是必须的。我的学习过程在背景介绍里面已经描述过了。
2.有了一些基础之后,就需要有做出应用的构思。如果没有自己想要做的产品,类似于天气查询这样很多人都会拿来练手的应用是比较好的选择。API成熟;做过的人多,有问题随时查询基本都能有答案。我做“苹果序列号查询”是因为之前没有这样的应用,每次需要查询苹果产品激活信息都要去那些广告繁多的网站上,体验很不好。刚好聚合数据又有苹果序列号查询的API,所以就想自己做一个
3.这一步就是写代码的过程了,对于Android来说,代码有两个方面:布局配置(xml)+具体业务逻辑(一般用Java语言)。
4.完成开发之后就是在各大应用市场上线了。

上面所有流程,对于新手来说肯定会遇到各种各样的问题,还好Google搜索很强大,遇到问题,大胆去搜吧。

问题3:难点都在哪里?什么时候出现?
就像上面说的一样,新手会遇到各种各样的问题,我不认为都是难点,由于对于新事物的不熟悉,很多别人认为很简单的地方在我这里都会成为拦路虎,唯一能做的就是保持耐心,不断去找答案。比如在“苹果序列号查询”开发过程中,阻碍最长时间的是这样一个问题(耗了两天才解决):在使用聚合数据API时,请求数据的一个代码块始终无法执行到,我在网上查了两天,再反复看自己的代码,都没有解决。实在没办法了,工作日的时候,向聚合数据的工程师求助,最后问题是我在配置文件里面少写了一行代码,导致sdk初始化不成功。聚合的工程师在远程很快就发现了这个问题,所以我认为遇到的不见得都是难点,关键还是遇到问题后自己怎么去寻找解决问题的途径和方法。

问题4:需要哪些人员进行开发?
标准的配备一般是:产品,设计,软件工程师,测试工程师
但是根据项目大小以及性质,可以精简。个人项目,当然1个人就充当了上面4种角色了。产品原型在纸上画出来,设计样式软件工程师在代码中不断调整实现,软件工程师写完后自己进行简单测试。

问题5:需要多少钱多少时间?
钱方面不清楚,时间上也是根据具体应用业务逻辑多不多,业务模块多不多来决定的。目前我个人完成的2个应用,做出第一版花费的时间都在10-15天左右,这个速度肯定是偏慢的,因为对于我来说很多知识都需要去现学。

------------------------------------

写了这么多,不知道有没有帮助到题主,下面我也想安利下自己的应用以及在求职中的自己:

1.小米、豌豆荚、魅族Flyme、Google Play、锤子应用商店上搜索“苹果序列号查询”,有任何问题,欢迎反馈给我丫。

2.第二个应用做的是个人简历—JeffinBaoCV,没有上线,感兴趣的朋友可以通过下面链接下载(由于身边手机不多,可能在小屏幕低版本系统的手机上会有适配问题,如果有,也欢迎反馈给我丫,多谢):百度云 请输入提取密码.(提取码:9x6d)

3.下面是跟我有关一些主页的链接:
个人主页:JeffinBao - Android开发,读书,见人,行事
主要用于写技术文章和一些自己认为写得比较好的文章,刚开始用jekyll引擎不久,所以内容比较少。

GitHub主页:JeffinBao (Jeffin.Bao) · GitHub
主要用于托管自己的代码,寻找一些好的开源项目来学习使用。

-------------------------------------

深知自己在Android开发上只是个入门选手,但还是想踏出这一步开始找工作,原因有以下几点:
1.从去年11月辞职开始,这大半年时间中除去出去玩+过年,真正学习编程的时间在5个月左右,我认为这是我的劣势:接触编程时间太短;但也是我的优势:这5个月中,从结果来说,我通过自学以及师友的帮助,完成了两个我个人构思的应用,虽然比较简单,但是通过这两个应用,让我了解了如何完成一个应用的开发上线以及维护。也证明了大学毕业1年半以后我的学习能力依旧没有丢掉。
2.希望能接触更复杂的项目,我相信真正面对用户的商业应用挑战更大当然也更能让我成长。
3.希望能接触牛人,总是一个人闷着学习开发,缺少与牛人的沟通交流对于技能的成长是不利的。

如果你对我感兴趣,请私信我或者通过下面邮箱联系我吧,谢谢!
邮箱:bjf13609846991@gmail.com

看了这么多回答,什么样的都有,所以忍不住答一发,,一点点说清楚。因为现在就从事与开发相关的工作,所以对开发APP 比较了解。


1.开发一个APP有多难?

说实话,单纯地从开发来说,如果一款APP的基本功能点确定了,开发一个APP没有那么夸张的难。


2.需要经历那些流程?

一款APP的开发一般流程是这样的:原型——设计——前端/后端——测试。


3.需要哪些人员进行开发?

原型:产品经理,根据确定的需求,画原型,脑图,流程图和需求文档。

设计:UI设计师,负责界面整体设计。

前端:前端工程师

后端:后端工程师

测试:测试工程师


4. 难点都在哪里?什么时候出现的?

APP的开发,难点在于核心功能的确定。在开发过程中,最麻烦的就是需求改来改去,影响整个开发流程,导致开发进度缓慢,拖啊拖的,,最后都是拖死了。这就是为什么会有“打死产品经理”的段子。题主所说的朋友开发健身APP应该就是这样吧。下图中的FitTime就是一个健身APP,前端一周就完成了。



有人说机型的匹配是一个难点。对于机型的匹配,没有那么难。

适配繁多的Android机型肯定是很困难的。较流行的Android界面尺寸主要有480*800、720*1280和1080*1920。为了降低尺寸过多所带来的分辨率适配难度,建议统一采用720*1280这个尺寸,在1080*1920中显示也很清晰,而且切图大小也适中。

iPhone手机也有好几款,但人们使用做多的是iPhone 5s(640 *1136 )、iPhone 6 和6s(750 *1334 )、iPhone 6 plus(1080 *1920 )。在界面尺寸适配方面,建议采用750 *1334 (iPhone 6 和6s),一是适应手机大屏的主流,二是这已逐渐成为更多人的适配选择,对plus的适配效果也很不错。(这一部分工作属于UI的工作,在我的专栏:APP开发中UI设计是否合格,该如何判断? - 互联网科技那些事儿 - 知乎专栏 具体讲了UI设计的工作)



5. 需要多少钱多少时间?

开发费用很难说,在一款产品功能点都不确定的情况下,根本没法给出报价,有的就几万块,有的十几万,几十万。时间都是根据工作量来评估的,几个月,半年啥的都有。


所以开发一款app,最难的地方在于需求不明确。都不知道你想开发哪些功能,那自然是没法开发的。

既然问题都分条列出了,那我就根据题主问题一个一个回答吧,与大家分享一些经验。

以下问题,仅探讨团队方面。

1.开发一个APP有多难?
团队方面难点,简单说下,一般体现在人员,成本,时间,技术。

2.需要经历那些流程?

完整版的流程可以点 @鸡飞 大大贡献的专栏文章,我有一个 App 创意丨如何将其实现? - FenzoTech - 知乎专栏,专栏里面有全过程的图解说明以及相关工具的涉及,在一定程度上也算手把手给大家一个完整思路了。

这里就要点分享一下。

此处应该有一个idea
第一步:需求梳理、分析
第二步:产品原型图绘制
第三步:UI设计
第四步:项目经理&技术负责人对接需求
第五步:技术方案 & 架构设计
第六步:项目排期 & 任务分解
第七步:产品研发阶段
第八步:交付测试阶段
最后,按原计划上线。

以上均是理想情况下,一个App必经的几个阶段的简洁步骤说明,具体执行依然会根据需求穿插进行。

3.难点都在哪里?什么时候出现的?
对于我们自身团队,在项目进行过程中遇到的难点,一般是需求在技术的实现上。出现时间也就是上个问题第一步分析讨论以及第五步技术实现的位置。

4.需要哪些人员进行开发?

开发团队标配:产品经理、UI设计、项目经理、全栈工程师、服务端工程师、IOS工程师、Android工程师、测试工程师。

(注:“一人以上全包”的“全能型选手”不在专业团队标配范围内,谢谢……)

5.需要多少钱多少时间?
需要多少钱多少时间,可以看一下 @鸡飞 大大分享的另一篇文章 开发一个App要多少钱? - FenzoTech - 知乎专栏

一句话概括就是,根据具体需求分析+团队经验才能得出价格以及时间。


6.如果能结合自己的经历说说就更好了

我感觉你这是在逼着我打广告。。。啊哈哈哈哈哈(严肃脸.gif)

想知道更多开发相关的话题可以关注FenzoTech - 知乎专栏,不定期与大家分享。

以上开发 app 一点也不难啊。

然而当你搞定了所有开发,把 app 提交到 App Store,被苹果拒绝个三次五次之后,终于上线了。

然后你就开始看着零星的下载情况了,一个不知名的 app 每天下载通常就十几个吧。

一年之后你的收入是约等于 -688 人民币,生活真难。

我做开发的第一年基本就这个情况,难得是我只把这个事情当成兴趣爱好,坚持做了下来。

小历在初期很长的一段时间基本没有收入,以至于很久之后我才知道 App Store 的付款策略:

每个月给你付款一次,如果没有满 150 美元就顺延到下个月。

目前总算是一个不错的开始了,付费应用能赚点零花钱(每个月大概 3k ~ 4k),免费应用下载量 50w(两个加起来哈哈哈)。

值得骄傲的是 Pin 和小历都被 App Store 推荐过多次,这比直接收入要更开心。

难的不是写一个程序,或者上线一个 app。难得是创造一个还过得去的产品,这个产品能给你带来能力上的增长。作为一个不懂技术的产品,介绍起来可能题主更能理解

现在我们在开发一款app,已经快上线了,回顾这个历程,也是有些体会,就在这里分享给大家了,我以时间为坐标,梳理下app的开发流程,关于题主提的几个关键问题的回答,我会加粗标记

大约是2016年5月,我失恋了,终于有精力投入到一款谋划已久的APP上去了(或喜或悲?)

  • 2016.5.20 下定决心,把产品原形在2个月内规划完毕
难点:要先摸清市面已有相关产品的优缺点,做到心中有脉络,自己的产品做成什么样

产品原型,英文是prototype,是“原型→ UI(user interface,即用户界面)→ 成品app”流程的第一步,原型规划好了,虽然不能直接在手机上用,但人家就知道你app是做什么的了

原型一般分为两种,普通原型和高保真原型,普通原型即只强调内容上的完整,比如标题、按钮等关键要素要具备;高保真原型强调样式上的完整,比如标题的样式、标题文字大小及颜色、按钮样式、按钮文字大小及颜色等...

高保真原型更像APP,用原型工具如Axure、墨刀等也可以实现动态效果,即动态交互设计,不过在企业中,动态交互设计往往专人(UE/UX)完成,而不是产品经理(UI)或设计师(UI),大公司团队分工明确,也有财力支持设置UE/UX岗,小公司解构精简,这部分工作往往由PM承担,或者PM和开发人员一起协商着做,蛮考研团队配合和默契程度的

我这边做的是高保真原型,但并非用Axure或其他原型软件做的,而是直接做UI图(PSD和PNG),一是有PS技巧做支撑,二是可以保证产品风格走向,三是等UI到位后,可以在原图上修改,不用从零做起(前提是psd文件要规范,图层结构清晰,便于整理和修改)

至于页面间跳转,我没有做,因为在和公司团队磨合时,我发现只要页面逻辑完整、关键跳转元素(比如“<返回”、“下一步”、“立即体验”等)不缺失、并且页面命名直白了当(如“我的资料-修改资料弹出框”),开发人员还是能够理解页面跳转的逻辑的

  • 2016.5~2016.8 招人阶段,挑选符合产品气质的团队成员
难点:找到能力强、做活细致、又符合产品气质的,并且愿意跟着我没有收入也一起做事的人

首先说一下我们团队的人员构成(仅仅涉及到产品开发方面):
我:产品经理&项目管理&其他职能
后端工程师1人:负责数据库、出接口(前端后端数据流转的东西)
安卓工程师1人:负责安卓端(就是安卓手机和pad上的app啦)的开发
IOS工程师1人:负责IOS端(iphone和ipad上的app)的开发
UI设计师1人:负责UI设计
数据工程师1人:负责app所需基础数据的抓取、清洗、导入

作为一个不懂技术的产品经理,如何挑选到靠谱的技术人员呢?——要做到“望闻问切”

  1. 望:就是演员,擅长社交的人,对陌生人都有几个一面之缘,判定这个人的气质,活泼好动,还 是 腼腆内敛?虚怀若谷,还是夸夸其谈?一个人的性格会从每个毛孔里渗透出来,要抓住点蛛 丝马迹,还是比较容易的,创始人需要找到踏实做事、又能和产品、团队一起成长的技术人 员,所以要看这个人平时是否爱学习、钻研新东西
  2. 闻:从其他熟悉朋友那里,了解到对方靠谱靠谱,比如我招安卓工程师,那么最好是从其他安卓工 程师里那了解一些情况,比如代码写的怎么样?团队配合能力如何?等等
  3. 问:就是面对面的交流,不一定要一问一答的形式,我指的是一切可能观察到他思维能力的语言表 达,分析一个问题的思路、分析问题的深度和广度、是否能触类旁通?和对方沟通一件事情 时,是否需要做过多的解释对方才能明白?(聪明人之间很轻松,常用词汇库交集比较大,给点提示就能懂,甚至是不用给提示,而如果对方不那么灵光,你说很多话都需要重复解释,就比较累,不适合在一起协作)
  4. 切:即看他们以往做过的产品,上手操作下,功能是否完备、逻辑是否连贯、页面布局是否细致、所用的动态交互是否主流?是否有自己的创新?

创业合伙人的考察是相互的,你考察完了对方,对方还得看你靠不靠谱呢,必须要兜得住

现在的职场环境非常公平,我出钱你出力,一方不满意可以再挑下家,大家都比较实事求是,对于创业这种风险性非常高的活动来说,参与人员必然怀有高收益期待,要么你钱给够,要么期权/股权给够。我的团队都是兼职开发,我这边也没有财力支付薪资,只有给股权承诺,当然,合伙人是否信得过你,就要看平时攒的RP了。

从开发走到管理再到创业至今 7 年的时间,我碰到了各种形形式式的企业 APP 整体方案和创业型项目,那到底开发一个 APP 有多难?如果单单把 “开发出来” 作为一个目的的话我认为就没有什么好讨论的了,下面说一下 “有质量地开发出来” 需要的过程,难点全在里面:


  • 想法

这是一个项目的起源,如果这个初衷 idea 在未实现前就已经存在大量的硬伤和不合理,后面的流程把控得再好都没用。


不管是自己成立公司组建团队,亦或是找方案公司设计开发,这都是绕不开的问题,资金预算能否满足 MVP (最小化可行产品)的验证以及后续的迭代完善的需要,这个也是很重要的问题。


接下来人就要出马了,一个完整的原生 APP 项目会需要用到 产品经理、项目经理、设计师、iOS工程师、Android 工程师、后端工程师、测试工程师,部分项目还需要用到前端工程师,人员数量不足或者角色不齐会影响周期和开发质量。


  • 规划

优秀的产品经理对项目进行合理的规划,这对 PM 来说具有很高的综合能力要求,不但需要命中用户痛点,还要以合适的方式命中,完整而又合理的规划是 APP 项目前期至关重要的一步。


  • 时间

除了沟通需要时间,设计、开发、测试调试、修复bug、上线等都需要时间,而时间又直接对应成本和项目是否在合适的节点时间完成上线,这些是时间控制上的难点。


  • 最大的难点

我认为是管理,即便团队角色完整,如果没有完善的管理制度,协作方式,流程管控,人基本上是一盘散沙,调动不出应有的效用。所以初创企业在组建自己团队时,往往需要半年都一年的磨合期,这个还需要看人员的素质和项目的体量。所以管理是贯穿在以上所有难点中的一条隐藏在团队背后的主线索,看不见却很重要。


希望对你有帮助。

Kevin Zheng

今天看了这个题目,真的非常非常非常有感触,因为我自己就是在软件开发外包公司工作,目前为止也已经工作了将近8年的时间,期间遇见各种各样的问题,下面来说说我的经历。为了让大家看的更明白,我将会按照题主的几个问题逐个回答(我想说的太多了,我想几天时间内肯定是回答不完的,所以我决定有时间的时候就来更新一点,咱们慢慢聊)。

题主的第一个问题:开发一个APP有多难?

回答如下:作为一个从业近8年的APP开发人员来说,做个app本身不难,难就难在前期客户方和外包方的沟通和对于需求的梳理和把控,个人觉得只要前期的功能点梳理清楚了,加上这家公司不是个坑壁公司(找个靠谱公司),那么做好一个APP的成功率就已经上升到了90%的可能性。

这个问题里面,我将会拆分进行回答两个问题“如何沟通好需求”和“如何找到靠谱的公司”。那么作为将要做一个app软件的你如何和外包公司沟通好需求呢?我觉得这个是你和外包公司双方的事情,如果你全部指望外包公司替你想到,这个是不可能的事情,其实需求也很好把控,只要说清楚就行,举个栗子来说,比如你要做一个商城,就算你不懂技术,你自己也可以看看其他人的商城是怎么做的,比如你的商城规划是有登陆功能,登陆功能采用那么方式来做(比如常见的登陆功能有联合登陆(微信登陆、微博登陆、QQ登陆)、还有输入用户名密码登录、还有手机号码登陆),你必须想好有哪些登陆方式,因为一般定制开发的项目,你说了外包公司才会做,你不说一般都是不会做进去的,同样的,你说的越细致后期的问题会越少,同样费用也会越多,因为外包公司的价格的评定标准就是根据你的功能来计算的,具体如何计算的,我后面再和你们说。

我在来回答这个问题里面的第二个小问题“如何找到靠谱的公司”。其实我对我的客户一贯的说法就是“一看二查三聊”,这个怎么说呢,所谓“一看”就是你一定不要怕麻烦,既然想做好APP,那么不管你选择的公司在哪个城市,你自己一定要亲自的过去看看这家公司,看看他们到底有多少人,有几个办公室,有几个做技术的,有几个做销售的 ,有几个做运营的。大部分只要你过去看看,你自己心里就有个底了,不是说所有的大公司都靠谱,但是大部分的大公司都会比小的团队会更加的有保障,出了问题他们基本都会给你解决,因为比起开发商的损失来说,开发商的信誉是他们更加看重的东西。“二查”就是从网络上面各种渠道去查查这家公司,看看整个网络媒体对于这家公司的侧面评价如何。“三聊”,这个就比较重要了,多和你的目标的外包公司对接人员聊聊,当你聊了几家外包公司的对接人员之后,你基本上就能感受到他们专业程度的差距了,从中选择一个你认为比较专业的公司即可。

那么说了这么多,你们知道了,开发一个APP真的不难,你只需要做好我上面说的2点,把握好需求和找到一家靠谱的外包公司,即可。是不是很简单? 那么就这样完了吗?项目就能做好就能做成功?当然不是,我还么有说完,今天事情太多了,一会还有一个客户从南京做高铁来我们公司验收他的app开发项目,我是项目负责人,得准备准备了,现在不和你们扯了,有时间再聊。写于2018年1月26日下午五点半。


今天下午事情不是很多,快过年了,过年的年味也越来越浓了,咨询的客户少了,原来着急上线的客户也不着急了,都各自忙各自的了,我也难得清闲,可以好好整理下思绪回答下题主的第二个问题“开发APP需要经历哪些流程”。

第一步:)需求方(也就是你自己),确定了自己的立项之后,一定要多看看竞品公司的app产品,看看他们是怎么做的,有哪些流程,细节做的怎么样,先做到自己的心中大楷有个数,然后再去网上找对应的app开发的外包公司,至于怎么找这个app开发公司,在我1月26号下午的回答中已经说过了。这个环节我姑且称它为“找公司”。

第二步:找到中意的app开发公司之后就和他们开始洽谈项目的细节(在我1月26号下午的回答中也已经说过了),并且一定要把这些细节明确到合同里面,因为如果你的项目是独立无二的,是需要这家app开发公司独立定制和开发的,那么你的需求一定要明确在合同里面,因为软件开发公司最终也只会按照这些合同约定的功能和条款来制作。也一定要明确每个功能的实现方式方法,同一种功能有很多不同的实现方法,就像我文章开头所说过的那样,同为登录,却有用户名密码登录、第三方联合登陆、手机号码登陆等几种不同的方式。如果这些方式开始没有明确,最后外包商又没有做,那肯定就是双方扯皮的事情,下面有张图是我们之前为其他客户做的一个需求分析的原型图,可能和你要做的APP不一样,但是大部分都是这个逻辑,发上来仅供参考。这个环节我姑且称它为“细需求”。

第三步:需求也确定好了,那自然就是合同了,合同也是要注意的事情,有几个点,我认为作为客户的你应该需要知道。

需要注意的A点:如果你的项目案值高于5万元,那么预付款不能高于60%,应该实行分阶段付款,建议的分阶段付款应该为合同签订支付30%,效果图全部确认之后支付30%,安卓端完成测试上线支付20%,苹果端完成测试上线支付20%。

需要注意的B点:就是软件所有权的问题,大部分正规的软件开发公司在合同中都会明确的表达该软件的知识产权是属于他们所有的,如果你作为需求方,你的软件开发完成还需要申请软著等等一系列其他的内容,那么我建议你还是和软件公司协商一下,争取把软件所有权或者知识产权谈成你们双方共同所有。当然你也可以谈成归属你自己所有,但是据我所知,如果这个项目开发完只归属你自己所有,那么你将会付出较多的代价(主要是金钱上面的代价)

需要注意的C点:此项目各阶段双方约定的交付时间以及截点,以及当前截点下双方各自的权利和义务,这个也一定要约束清楚,也是在后期双方责任不明容易出现问题的地方。

需要注意的D点:之前你和外包公司沟通确定的需求文档一定要做为合同的附件添加在合同里面。后期最容易扯皮的就是需求问题了。

这个环节我姑且称它为“定合同”。

第四步:接下来你只需要在不同的环节及时督促外包公司按照合同的约定交付当前应该交付的内容,并且对这个交付给你的内容进行审核即可。

第五步:项目验收

OK,以上五步就是开发一个APP大楷需要经历的流程,不管你是谁,你找哪家外包公司给你做合作,都摆脱不了我上述所说的五大步骤。

未完待续,后续有时间的时候我会继续分享题主提出的其他几个问题。(本段写于2018年1月29月下午)





各位新年好,咱们又见面啦,过年期间不是吃饭就是打牌确实好无聊,我也就趁着这个无聊的时间把题主的第三个问题好好的想了想,现在我将要回答题主的第三个问题:“难点都在哪里?在哪出现的?”,其实从我这么多年的经验来说,在软件开发中,假设双方都是靠谱的人和靠谱的公司,那么这个项目是肯定会做好的,也会完美完工的。难点出现在哪里,大部分的难点都出现在外包公司的不负责任和需求方对需求的不理解上面 在我回答这个问题的时候,我想了很多天,应该怎么回答,现在我觉得,如果我以需求方的角度来回答这个问题可能会更好,你们也更加的容易理解(虽然我所在的这家公司做开发已经做了很多年,但是有时仍然也会需要把部分项目做外包,或者项目中的某个技术点做外包,人无完人,公司的技术也是一样,不可能有公司是全能,什么都会,所以这是正常的)。


失败的外包案例一:

1:项目名称:XXXAPP开发双版本

2:项目案值:10万左右

3:项目时间:2017年9月份

4:外包方公司名称:重庆诺XXX科技有限公司

5:大体经过:这家公司我们之前去实地考察过,也有几十个人,只不过注册时间很短(2017年1月份注册,事后证明当时没有考虑这个重要因素确实太大意了!愧疚中···),这次合作的是一款游戏的全新定制开发,上面我也说过,定制开发需要根据需求方的要求从原型图开始,再做UI效果图,给需求方确认之后再开始程序。但是可惜的是这家公司对我们纯忽悠,直接从淘宝上面买了一款类似的游戏源码,在他们的服务器上面安装好之后直接手机截屏了几张图片发给我们,说这是他们单独为我们量身设计的,并且不予修改,在我们多次要求修改的情况下,直接失联(不接电话、不回信息、不给任何回复···)。然后就没有下文了,后来才知道这家公司就是专门骗首付款的。(这个案例可以说是我们最失败最最屈辱的案例,明摆着被人抢了,如果你们也碰到这样的公司,那真的是只能自认倒霉了,我写再多的经验对于这样的公司来说也是无计可施···)

6:得出的经验教训

一定要看外包公司的注册年限,一般注册在5年以上并且你也实地考察过的公司不会太差。


失败的外包案例二:

1:项目名称:XXX功能的A商城系统

2:项目案值:3000元左右

3:项目时间:2012年5月份

4:外包方公司名称:未知

5:大体经过:曾经有过一次,在某宝上面买过一套APP商城的源码,因为当时看了店家的介绍,感觉很不错,很牛的样子,而且价格非常的便宜(现在看来那时候还是年轻啊,事实证明便宜没有好货··· ),于是就很开心的和店家达成了交易并且支付了费用,当代码安装到我自己的服务器之后并且结合后台进行使用的时候我懵B了,总共居然有307个BUG····,你知道这意味着什么吗?意味着这套源码是垃圾中的战斗机,根本无法使用···

后续和店家进行协商,刚开始还积极协助修改,当改了三天之后慢慢的就不行了,到最后就皮掉了,也不理我们了,当然项目肯定是失败了。

6:得出的经验教训

A:你一定要相信“好货不便宜便宜没好货”的道理

B:在某宝购买软件类的源码如果金额过高,还是建议你去对方公司进行实地考察,并且在现场对代码进行审核。


失败的外包案例三:

1:项目名称:某某APP的某个功能的人力资源外包

2:项目案值:3万元左右

3:项目时间:2014年

4:外包方公司名称:非公司,是个人

5:大体经过:当时我所在的软件外包开发公司技术部排单太满,有个项目客户非常着急的要求我们提前2周上线,完全打乱了之前的开发节奏,公司没有办法的情况下,只得将此项目中的某个功能进行人力资源的外包,当时找的是一个在其他软件开发公司任职程序员的童某某,也和对方洽谈好了外包的金额和功能点。刚开始这个小伙还行,随着项目的不断深入,问题越来越多,主要问题是:

A他的时间和我们对接不上,我们白天上班就要对接,他白天要在公司工作,不能做私单,只能晚上对接,晚上对接了又不能搞到太晚,他第二天还要上班。

B要求他使用我们公司的架构和技术框架,但是由于他不熟悉,导致前期对接花费了很多的时间,并且增加了很多的沟通成本

C由于不在一起办公,无法做任何的约束,对他全凭信任,他干事当然也全凭心情了。

最终这次外包也是失败了,我们公司当时只得还是自己做开发,经过和其他客户的协商,抽调了一部分开发人员加急开发,也算是如期如质的在交付了项目

6:得出的经验教训

A:和个人合作真的要谨慎,除非你对他非常的了解。

B:和个人合作一定要找好自己的备选方案,万一项目失败你该怎么做?如何及时调整开发策略。


以上,是我所经历的失败案例,希望对你能够从我的失败中总结出来经验教训,哈哈。(本段写于2018年2月22日)


其他说明:

(虽然,对于这个问题的回答还没有结束,但是最近也收到了不少乎友的共鸣,很多人给我私信,问什么的都有,由于工作比较忙,我很多没有回复,在这里我做个统一的说明,我本人从事APP开发也已经8年有余,如果你们想做app开发开发或者在app开发的过程中有任何的问题都可以私信给我,目前以下几类问题的私信我会回复你们。

1:自己想做个app的开发,但是不知道该如何下手,不知道如何规划,你可以找我。

2:在学习app开发的过程中遇到了无法解决的问题,你可以把详细情况描述一下,给我私信,我有时间的时候会回复你。

3:找软件外包公司在做app开发的过程中碰到了难以解决的问题,可以找我,我可以给你对应的解决方案。)

(本段写于2018年2月26日)



今天下午事情不是很多,突然想起知乎上面还有这个回答了一半的问题等着我来回答,下午我们就来聊聊题主的“需要哪些人员进行开发?”。

A、APP开发-产品经理,负责分析需求,提需求,整理需求文档,提出低保真设计原型,并协调以下几类人。 专门负责产品管理的职位,负责调查并根据目标用户群的需求,确定开发何种APP,选择何种技术、商业模式等。并推动相应产品的开发组织;还要根据产品的生命周期,协调研发、营销、运营等,确定和组织实施相应的产品策略,以及其他一系列相关的产品管理活动。

B、APP开发-UI组,可分为平面设计和交互设计,负责对产品经理提出的需求设计app高保真原型,设计web页面,或者海报。

UI用户设计基础(UI行业发展及UI设计师职业规划,美术基础,平面设计基础,图形与创意设计,网页设计基础,交互式网站),软件:Photoshop、Illustrator

移动界面设计(图标创意思路与方法,图标的创作设计,主题图标设计,Ios系统Android系统Windows phone系统,UI设计实训课程)

交互类(UCD,交互设计高级技术)

流程设计(界面开发对接,流程管理,移动媒体综合开发实训)

综合项目实训及就业阶段(根据所学内容,选择一种移动平台(IOS/Android/Winphone),软件界面,WUI类型设计,完成初稿设计。

C、APP开发-后端开发人员,接管服务器数据,维护服务器性能,为app前端人员提供接口。 下面我们通过两个场景来说明下app后端的作用:

场景一:   

用户a平时是很喜欢用qq音乐app听歌,他的qq音乐app保存了他平时最喜欢听的歌曲列表。   

如果歌曲列表只保存在手机上,万一,他的手机被盗了,就算他买了台新的手机回来,那歌曲列表也会丢失的啊?   

为了解决这个问题,其中一个办法就是qq音乐app可以把歌曲列表放在远处的一台机器上,当用户a买了新手机后,把放在远处的机器上歌曲列表重新搬回到qq音乐app就行了。

场景二:   

相信很多有都人寄快递的经历吧。   

假设有两个人a和b,当a向b寄一样东西的时候,会叫来快递,把东西寄给b。   

当查看物流时,可以看到类似这样的描述“到达xx中转站”。只有经过中转站,东西才会到达b的手上。   

在app上的情况也差不多。假设app上的a用户需要向b用户发信息,这条信息也需要经过app后端这个中转站,才能到达b用户处。

总结:   从以上的场景1和场景2,可总结出app后端的两个重要作用:

1). 远程存储数据

2). 消息中转

D、APP开发-前端开发人员,这里分web和app,app分安卓和ios,web的前端也分后台系统和前台系统等,大型公司还有isv和osp。

把UI的设计图按照w3c标准做成html页面,并且用javascript脚本语言实现页面上的前端互动。互动效果包括,弹出层,页签切换,图片滚动,ajax异步互动等。   

高级前端工程师还要承担前端优化的工作,优化的知识就会更多一些,比如文件过期Expires,缓存,异步缓存,js和css以及图片的压缩等。   

前端开发是一项很特殊的工作,前端工程师的工作说得轻松,看似轻巧,但做起来绝对不是那么的简单。在开发过程中涵盖的东西非常宽广,既要从技术的角度来思 考界面的实现,规避技术的死角,又要从用户的角度来思考,怎样才能更好地接受技术呈现的枯燥的数据,更好的呈现信息。简单地说,它的主要职能就将网站的数 据和用户的接受更好地结合在一起,为用户呈现一个友好的数据界面。

E、APP开发-运营团队人员。

初级运营每天做什么?

对于一个刚入门初涉运营的人来讲,所有的脏活、累活,完全不用怀疑,确定、一定、以及肯定都会是你的。 编辑几篇伪原创的文章,开着官微到新浪和腾讯转转微博,每天收集信息准时发布公众号,遇到公司哪个部门出了稿件,你还要注册一堆ID发稿子,若不是这几年玩BBS、贴吧的人比较少,让你捡到了个便宜,如若回到那几年,哪个运营专员不是牛逼轰轰的在主流论坛开着几个大号ID?这叫啥?水军号!

那么中级运营呢? 其实搞运营就和玩游戏一样,入了门到了一定级别就要开始分门派了,当然这是大公司干的事,初创公司、小团队是没有这个门派之分的,吃喝拉撒都要跑,所以我这里还是要根据一定规模的团队来进行分工的。 运营团队大概分成了三大门派:

1)、内容(社区)运营 这个应该是大家见的最多的,微博写段子、论坛回帖子、公众号写文章、做医疗的经常要去发百度知道的贴,当然现在的“互联网公司”还有个新任务,就是到知乎答问题!不管对不对,反正要说的有理有据,让看到的人能够感同身受,觉得好像很有道理的样子,默默地帮助你传播那就对了! 相比初级运营做的事情,内容运营负责人要对结果负责,也就是你不但要制造内容,还要让别人帮你扩散并且传播你的内容,这里对内容运营人的文字功底还是有很高的要求的。所以之前我在的招聘里写过这样一个标准“资深吐槽帝,趣味屌丝男,出口成章,七步成诗,有超前的临时工精神。”

2)、产品(用户)运营 之前有好几个小伙伴搞不清产品运营,在大的定义里,产品运营的本质其实是围绕用户,你会经常看到招聘产品运营的介绍上有着这样一句话“负责XX网站/社区/应用/软件等产品的运营策略制定,提升产品用户基数。”其实就是对产品或用户运营的最佳释义。

你不但要充当在线客服一马当先的在一线整理需求,还要到社区反馈论坛、QQ群内与用户建立互动,了解用户需求,对产品团队进行反馈,你是一个桥,如果你的公司没有“用研”这个岗位,那么你就要干他一切该干的活!分析数据?用户增长值?这都是你该总结并且策划的事儿,当然有的时候你还要充当制造事件的PR。

最苦逼的就是做WEB2.0内容类的产品运营,尤其是产品早期,很多时候你不但要做为一个管理员去回答用户的问题,你还要反过来看着小号给自己问问题,建立X个ID在BBS里优雅的和自己的官方ID聊天,自问自答,想想都觉得醉了。

当然你一定要注意好自己的身份,别搞的官微问问题,用户来答,这不是开玩笑。

3)、市场(商务)运营

这个其实是最好解释的,平时的工作很多都是要靠庞大的人脉积累来完成的。这里的工作无非是两种,要么赤果果的做个销售,优雅的靠近客户在客户面前打广告、卖产品;要么就优雅的从合作共赢品牌曝光出发,与合作伙伴互换资源,与边缘产品建立合作进行产品对接用户共享,这里最初级的可能工作就是换友链,网站友链是两个产品公司一切友好的开端。

市场运营其实是很练嘴皮子的,你要谈客户、你要讲沙龙、你要不断的告诉别人你的产品,从大的方向来讲很多公司的销售都可以放到市场运营里来归类,你要建立很多渠道关系、广告联盟、行业会议、商业圈子,这些都将是你将来发展的舞台。

高级运营做什么?

高级运营一般都是运营总监级别的了,主要的工作就是调配公司整体资源,制定全盘布局规划,建立完整运营方案、规划,引入资源,最终交给初级、中级运营人手里,监督他们把事情落地,你所做的一切只为了一件事,对产品及品牌的结果负责!

(本段写于2018年3月15)




接下来我将要回答楼主的另外一个问题:APP开发到底需要需要多少钱多少时间?

这个问题我将从以下几个方面来做回答

1: App的构成

2:开发一个App需要的人员配置

3:开发一个App需要多长时间?

4:开发一个App需要多少钱?

如果你是互联网行业的,尤其是做产品或开发工作,总会遇到有人问你这样一个问题:开发一个App多少钱?

因为在自己的知识和能力覆盖范围之内,所以遇到这样的问题,我会耐心的问为什么要做App, 这个app给什么样的人使用,实现什么样的功能,满足什么样的需求,预估初期有多少用户,要开发安卓还是ios等等。

但是慢慢我发现这样问很多人会不耐烦,有的人觉得这涉及到他们的商业机密闪烁其辞,即使都问了一遍,最后的关注点,还是在让你能给出一个固定的费用,并不注重前面的分析,等于问了一大堆问题都是白问,浪费了彼此的时间。

为什么要问这些问题,一个是为了了解开发App背后的目的和用户的需求,方便给出准确的建议,在没有明确需求的情况下,不管是谁都无法估计出一个App多少钱,另外一个是要让提问的人知道,开发一个app的费用并非只有一个影响因素,还有其它很多因素要考虑。很多产品也没有必要开发App,为什么现在很多人说起互联网产品,就只知道App呢?虽然现在开发一个App并非难事,但也不是那么简单,在回答开发一个App需要多少钱之前先说说下面的这些问题。


1. App的构成


首先我们来看看App的构成,一般一个完整的App产品包含服务端和客户端两个部分(如上图所示),没有服务端的App也有,像简单的工具类,单机游戏,但是非常少,从经营的角度考虑,为了积累用户和数据,大部分App都有服务端;客户端就是平常我们从应用商店下载到手机上的部分, 服务端一般提供数据读写存储,处理业务逻辑,进行图片,视频等资源存储,部署在服务器上,用户使用客户端通过接口和服务端进行交互,享受App提供的服务。

客户端用户更能容易感知(大部分用户所理解的App,也就是客户端),实际上,服务端才是App中最重要的部分,从代码量上来说,一般一个客户端容量大小在几兆到上百兆不等,但是服务端往往会非常庞大,比如我之前工作的公司,每次更新代码量都在好几G,这还不是全部,所以在整个App产品中,客户端只是“小荷才漏肩尖尖角”中的尖尖角,大头是服务端。



客户端需要根据手机操作系统来开发,不同的操作系统,有不同的要求,对于开发者来说,只需要满足主流的的操作系统即可,目前用的最多的操作系统分别为(如上图所示)苹果的iOS系统,谷歌的Android系统和微软的Windows Phone(简称为WP),目前iOS系统和Android系统占据了大部分市场,WP的用户量非常小,如果人力和物力有限,只需开发iOS版和Android版本即可,没有必要全部开发,如果是为了测试市场,根据目标群体使用手机的特征,在iOS版和Android版中任选一个开发即可,要不然会造成资源浪费,总的来说,一个App构成如下图所示:


2. 开发一个App需要的人员配置

开发App最大的开销是人力成本,在一个完整的产品团队中,一般需要包含如下角色成员:

  • 项目经理
  • 产品经理
  • UI设计师
  • ios开发工程师
  • Android开发工程师
  • 服务端开发工程师
  • 测试工程师
  • 运维工程师

根据项目的大小,公司财力和项目的紧急程度,这些人员的数量配置会不等。

一个小的项目组,项目经理一般只需要一个,设计师和测试工程师在初期一个也可以满足,不够用的时候可以增加实习生,产品经理和工程师大概比例在1:4。


不论是处于创业期的团队还是大公司,开发资源永远都是稀缺的,很多都达不到满意的配置,在资源有限的情况下人员配置还可以压缩如下:

  • 产品经理
  • ios开发工程师
  • Android开发工程师
  • 服务端开发工程师

项目经理由服务端开发工程师或产品经理担任,产品经理负责产品需求梳理,产品设计,文案等工作,UI设计部分如果产品经理不能设计,外包解决,ios和Android开发各一个,服务端工程师负责开发和运维,测试大家一起测,这样一个最小的四人团队就组成了。在这里面对产品经理和服务端开发工程师的能力要求都比较高,需要全栈型人才。两个人或者一个人也可以开发App, 但是这样的人凤毛麟角,也很难持续。


3. 开发一个App需要多长时间?

在评估时间之前,我们先将开发过程拆分为以下6个部分:

(1)需求梳理

(2)产品设计及评审

(3)UI设计及评审

(4)开发任务分解和排期

(5)开发与联调

(6)测试并修改bug


每个环节的使用的时间加起来就是一个App大概的开发时间。



在上面每个环节里面,一部分时间会花在沟通上,另一部分会花在执行实施上 ,沟通时间包括需求讨论,评审,会议,以及等待确认的时间,执行实施时间就是干活的时间。在这里面很多人都容易忽略沟通的时间成本,尤其是和甲方合作的项目,沟通成本会非常大,而这部分成本甲方是最不理解的, 大多数时候,沟通的时间比执行的时间要大很多,所以在评估时间的时候,千万千万不要忘记这部分时间。

作为产品的owner,往往希望产品提前或者按期上线,但是人生不如意事十有八九,很多时间即使有排期,也因为一些突发事件导致项目延期,所以在评估时间的时候,一定要想到项目延期的情况。导致延期的情况各种各样,但有两个比较严重:

一个是需求方需求不明确,经常变更需求。比如开发了一半了,突然要加功能或修改功能 , 这种情况在新人和对互联网不了解的人身上经常发生 ; 另一个是研发中没有对过程进行干预,比如按照排期10天后产品上线,产品设计完成后交给研发,10天后到了上线时间,问研发的小伙伴,发现才做了一半,一问原因,是因为中间有人请假,这是好点的情况,如果是找外包的开发,有可能一点都没有做,这不仅浪费了资金,也白白浪费了时间,所以在需求阶段,一定要把需求描述清楚,排好优先级,在开发阶段,要做到过程干预和风险控制,要不然就等着延期吧!


4. 开发一个App需要多少钱?

谈钱不伤感情,终于要谈到正题了,前面已经介绍了App的构成,人员配置和时间预估,开发一个App的费用成本主要在于开发人员配置和开发的时间(工作量),那么我们用一个20个页面,包含50个常规功能,需要同时开发ios和安卓客户端的产品为例来说说需要多少费用:


人员配置:

产品经理1枚

UI设计师1枚

服务端开发工程师1枚

安卓开发工程师1枚

ios开发工程师1枚


时间预估:

需求梳理:7天,输出物为包含功能点,功能描述及优先级排序的需求文档

产品设计:10天,输出物为流程图,产品原型和产品需求文档

UI设计:7天,输出物为UI设计图

开发任务分解及排期:1天,输出物为甘特图

开发:60天,包含客户端和服务端开发,客户端和服务端联调(客户端按照每天一个页面计算,服务端按每天一个功能点计算,因为客户端和服务端时间有重合端部分,所以算了60天)

测试并修改bug:10天,输出物为最后可上线运行的产品


开始计算了:

假如工作地点在合肥,每个人的平均成本按1000元/天来计算(包含办公和社保等成本)

最后预估总时间为:7+10+7+1+60+10=95天

费用大概是5*1000*95 =475000元 【这只是一种计算方法,拿来做案例告诉你们应该怎么样去核算工期!并不表示你要做的app就要花这么多的钱!!!有的app几千、有的几万、有的十几万、有的几十万、有的上百万上千万!!具体完全看你的功能需求点,上面已经说过了,希望读者在这里不要产生歧义!!】

上面说的是评估费用的大概思路, 在具体实施的时候,同一个项目,不同的目标,不同的执行人来操作最后的时间差别会很大。比如在产品设计环节,领导发话说就照着某个产品来抄吧,那么产品和设计部分工作量会减少,在开发环节,如果用开源的框架或者开发者之前开发过类似的产品, 那么开发的时间也会大大缩短,如果采用敏捷开发的方式,时间预估按小时预估会更准确,设计师在完成UI设计后, 后面的不参与的部分可以不算工作量,开发团队放在合肥等三四线城市,成本也会降下来,如果团队里面有大牛级别人物,成本也会增加,以上只是一个思路让大家知道怎么去评估开发一个App需要多少费用,遇到具体的问题,还需要具体分析。


其他说明:

(最近也收到了不少乎友的共鸣,很多人给我私信,问什么的都有,由于工作比较忙,我很多没有回复,在这里我做个统一的说明,我本人从事APP开发也已经8年有余,如果你们想做app开发或者在app开发的过程中有任何的问题都可以私信给我,目前以下几类问题的私信我会回复你们。

1:自己想做个app的开发,但是不知道该如何下手,不知道如何规划,你可以找我。

2:在学习app开发的过程中遇到了无法解决的问题,你可以把详细情况描述一下,给我私信,我有时间的时候会回复你。

3:找软件外包公司在做app开发的过程中碰到了难以解决的问题,可以找我,我可以给你对应的解决方案。)


(本段写于2018年5月3日)





未完待续········

这个问题问得好!

开发一个App有多难,这得从许多许多方面去考虑,人力、财力、App类型、业务耦合度等等相关。本文会从各个角度分析开发一个App有多难,并给正在创业的你一丝丝宝贵的建议。

〇、写在前面

如果你确定开发一款App,请确定你要做的功能,别说我要精品淘宝,我要精品嘀嘀打车,淘宝技术员工可能比你公司员工的总和还要多,大多数员工都在处理并发、提高用户体验等,这对刚开始做App的你是没有一点帮助的,你说你要精品淘宝,你可能只是精品其中的商城功能、购物车功能、购买功能,并不需要淘宝复杂的店铺功能、头条新闻、直播等。

所以请把你的功能详细的列出来,这对自建团队还是找外包做都有好处。

一、人力

别给我扯套模板,套模板的都是坑!!!模板通常都是开发失败的App,没有售后保障,很容易出现漏洞和问题,一旦出现问题,对业务的打击是不可估量的!!用户的流失,你根本无法计算。

通常情况下公司组建一个技术团队,需要:一个产品经理+一个UI设计师+一个Android开发工程师+一个iOS开发工程师+一个后端开发。

在合肥,产品经理工资8k~12k
UI设计师工资4k~8k
Android工资6k~10k
iOS工资6k~10k
后端工资5k~9k

加起来,自建团队开发App,需要29k~49k 每月,如果你的公司有一定的经济实力(至少每个月能支付得起技术团队的工资),推荐自建团队进行开发App,只要招到靠谱的产品经理,App开发出来效果比找外包好太多太多。(会不会被领导骂?我们公司是做App外包的)

如果你没有那么多资金怎么办呢?找外包呗,拿我们公司举例子,一般复杂程度中等的App我们在一个月左右完成,那么我们的成本在4万左右(工资),我们会收取八万的开发费用,有人会问了,你们拿的50%的利润也太高了吧,这位客官别急,我们提供一年的免费维护。别的公司也应该都是这样,别找太贵的,也别找太便宜的,太贵的坑钱,太便宜的没售后。强烈建议大家按照工资给外包公司计算开发费用,不容易被坑。

二、财力

这里指的财力,不是指技术人员的工资、或者外包费用,而是指你App推广运营所需要的费用。

通常按推广所需的财力分,可分为这几种App

1,已有线下用户型
这种需要投入少量的运营成本,我们公司曾经给一个批发鲜花的做过App(宋宇花城),他们公司几乎掌握了全国的鲜花市场,有一定的用户基数,这种App推广起来相对容易,只需要投可估量的钱,招靠谱的运营和客服,就OK。

2,内部使用型
这种基本上不需要推广、而是作为一个工具使用,比如说办公OA、CRM、财务管理系统。

3,做出来再说等待融资型
这种需要你的创意很好,做出来了,找人融资,这种主要难在找到合适的投资方。

4,不靠融资就靠砸钱型
这种就不说了,滴滴、美团,都是砸出来的。

所以,开发一个App不只要考虑技术的成本,推广运营的成本也要在考虑的范围之内。

还有需要的财力,还包括服务器的费用,这里我建议不用太多的考虑服务器的费用,因为,刚开始用户量少,需要的服务器配置不高,这点费用不算什么,当用户量增多的时候,相应的需要增加服务器配置、服务器带宽,这时候,用户量带来的利润足以支撑服务器费用,所以千万不要过于在意服务器所带来的费用(通过知乎联系上我们公司做外包的,报小编的名字,小编送你阿里云价值200每月的服务器 3个月,足够你初期使用!)

三、App的类型

这里指的是技术方面,可以参考这个APP开发差价到底差在哪里?为何报价那么悬殊,也欢迎关注我们的微信公众号~

————————

其他想起来再补充~

你说要一个会的人去开发app,能难吗?不难!一点都不难!


记住:要钱有钱,要人有人,就不难。


开发一款app是需要一个团队去操做的。


由于工作性质(众包平台),我们帮助过近万名客户完成了近万个小程序、app、网站等项目的研发,还是能给予你们一点建议的。


1、需要经历那些流程?以及需要哪些人员进行开发?


互联网产品开发流程如下:



创业团队配置:

2、难点都在哪里?什么时候出现的?


  • 俗话说的好,万事开头难。我想你一定有一个好的想法了,我们需要赶快行动起来,去将想法变成开发能看懂的语言。

这个阶段也称做需求梳理和原型设计了。这个阶段承上启下。


将自己的想法变成开发语言的阶段,这样才能使开发进入一个闭环。


要记住在这行,想法是不能直接实现的,可以直接实现的只能是需求。从想法到需求的一个需求梳理的过程也是真正了解自己想要做什么的过程。需求越完整细致确定,越便于开发~


一份清晰完整的需求梳理清单包括三样东西:项目需求说明文档、产品结构图、模块功能梳理清单

原型设计阶段需要我们画出产品的基本草图页面,其中包括:产品原型页面交互/产品功能说明文档

可参考示例


  • 之后就进入开发和设计阶段了。


这个阶段应该注意的一点是比如注册域名、买服务器、备案、苹果开发者账号、安卓开发者账号、短信服务等等。在确定开发后就可以准备这些东西了。不然中途会影响开发工期,影响上线时间,比如网站备案都得1个多月!


  • 接下来说一说团队的问题,你没有一个可靠又有能力的团队,自己是决不可能完成一个互联网产品从0到1的,当然抛却非创业想法的。


组建团队其实是一个难点也是每个创业老板的痛点。抛开人力、时间、等成本不说,我们这里直接给出一条快速通道。


在创业做产品这条路上,需要快速试错,需要快速接受市场的检验。而普通的招人、找办公场地等等都是高成本的一种做法。


性价比最高的就是利用众包,寻找各个领域的对口人才,知道木桶理论吗?我们需要能力都在8/9的人去做,也好过一个能力10其余6。技术众包就是这样一个为自身提升竞争力的方式。足够为你在开发app的路上助力。


相较于传统的雇员,众包下的开发团队更专注一个项目,不仅节约成本还能加快开发进度,肯定不会出现像题主说的那个健身房的项目一样好几个月还没动静。


我们平台也是做这块服务的。

程序员客栈-程序员的经纪人|领先的中高仿程序员远程自由工作平台-程序员客栈

很多人不清楚是怎么运作的,这里可以说明一下:

我们通过客户发的一个项目需求,为其推荐对口的开发者,来自各个地区专业BAT级别的项目经理、产品经理、设计、前端、后端和测试组建的一个开发团队,在3个月左右的时间,实现从0到1的产品。因为成员都是远程工作,有兼职和全职远程,费用比自己招团队实在便宜多了。平均资费节省一半还多。


3、需要多少钱多少时间?


费用是依据你的需求文档中的模块功能梳理清单进行判断的。

你的模块越多,功能点越详细,费用就越高。因为开发是依据此开发的。所以记住没提的需求是不会开发的。后期增加需求也是看影不影响其他功能模块的。当然模块功能点越多,所需开发时间和费用也不一。

还是要个参考的话,就看看这里的吧

成功案例-程序员客栈

这个阶段,因为是开发初期,并没有盈利,所以建议做产品应该做小而精,做最核心的功能,你看就算是再牛逼的应用也会一个版本一个版本的提升呢。

不要想着说我要做一个美团,做一个淘宝。

慢慢来~


再说一次,开发app不难的:有钱有人,就不难。找人的事,交给我们吧~


质量效率不减,费用大降~

偶然看到这个问题,也看了前面有几位相关外包行业从业者已经回答的比较详细以及完整,自身经历过三次创业,外包业务一直是公司的一个辅业务,我希望我的答案可以通过简单易懂的言语给非互联网行业的相关人员了解一款APP从想法到完成开发上线落地的过程,同时也会给各位准备做APP的传统行业大佬提供一定的参考意见,如果损害到各位外包行业的利益,请各位大佬多多包涵,信息时代,想要长久生存,个人觉得外包行业应该降低开发成本提升服务质量,才可以保持自身竞争力。

----------------------------------以下为行业背景----------------------------------------------

首先,我从我个人的在外包行业从业几年的角度上为各位解释一下移动软件(手机APP)外包市场发展阶段,个人定义为三个阶段:

第一阶段:行业摸索阶段,简单解释一下,就是智能手机刚刚面世,各大手机厂商不断鼓励开发者转到移动手机开发领域,甚至发放补贴,以扩大智能手机市场,此阶段开发一款APP成本最高,因为最初的移动手机开发者均是从电脑软件开发者、芯片开发者等一边学习一边摸索实践进行开发,智能系统尚不成熟,各开发框架以及手机系统底层接口均不稳定,国内各安卓手机系统均是谷歌开源系统由C++开发人员进行系统裁剪和微调,再在此基础上由应用层人员参与开发APP。

第二阶段:行业红利阶段,智能手机用户数的快速扩散,手机版本迭代迅速,资本流入让手机系统快速成熟,同时移动互联网领域开发者人数快速增加。此时各大投资者纷纷将目光瞄准了互联网行业,淘宝、京东、微信、滴滴等产品让各路投资者看到了互联网扩散的魅力,此阶段开发一款APP成本相对较高,因为行业整体给开发者的薪资都很高,产品经理、项目经理等角色尚不明确,通常是产品发起人(想法提供者)自身担任产品职责,此时开发一款APP基本上都在几十万上下,我本人也是在此时进入移动互联网行业进行第一次创业,接到的订单基本上开发费用在30万到100万的偏多,外包者仅完成第一版本开发,极少客户会让外包方长期维护并参与项目,爆料一下,此阶段大部分外包项目为定制开发项目,纯利润在50%左右,如果项目完成的顺利,利润最高可达70%,最低也有20%。

第三阶段:行业稳定阶段,此阶段智能手机基本上完成市场扩散,手机应用市场的高风险性也让资本方开始理性的认识互联网,同时此时互联网相关从业培训使得行业开发者数量极速增加,移动开发者薪资也开始下降,最重要的是,各种手机系统底层接口以及移动开源代码都已成熟,开发一款常规功能性APP不涉及新技术的成本已经很低,这也就是现在互联网外包行业所处的阶段。

做个总结,做一款APP:

第一阶段需要开发者懂手机系统软件,然后在此基础上调用系统接口完成APP功能,甚至需要开发者完善或修改部分系统层代码,80%以上代码由开发者完成;

第二阶段开发者基本上不用了解系手机系统软件,只需要了解系统接口,进行组合调用即可,一款新APP60%左右代码由开发者从新完成;

第三阶段开发者已经有非常丰富的开源代码资源,用一句外行的话来讲,到网上下一些开源代码,进行修改组合调整就可以了(程序员别砍我,虽然这么说没错,但是和非互联网行业从业者解释一下,把网上的开源代码修改并集成到自己的APP里是意见非常麻烦以及繁琐的事情,复杂的功能可以如此,简单一些的功能其实老程序员更愿意自己重新写,因为会更省时省力。)整体上开发一款APP成本已经没有以前那么高。

------------------------------以上为行业背景,以下为盖房子简单类比开发APP--------------------

现在进入主题,开发一款常规APP的过程,不涉及高新算法(智能算法开发、多媒体编解码开发、高频处理算法、图像识别、自然语言处理算法以及搜索优化算法等)原生开发。

以盖房子为例,来类比说明开发APP的过程,

盖房子过程:

想盖房子----》想好选址和想规格以及原材料---》考虑钱够不够---》设计图纸---》开始建房子---》房屋毛坯---》装修到可拎包入住

做一款APP过程:

想做APP---》分析竞品(类似软件)---》成本考虑---》UE/UI交互图纸设计---》开始写代码---》代码demo版---》完善到APP上线到各大应用市场

备注:以上两种过程均只考虑了条件满足,比如资金足够的情况,如果资金成本不足,需要重新考虑过程,否则中间风向太大容易导致失败。前面几位软件外包相关从业者再三和各位强调,需求评估和需求沟通梳理很重要,因为服务行业性质决定了,如果前期沟通不清楚,你可能想盖一个别墅,最终出来的是个平房,外包行业人员成本高,也就是时间成本高,你盖房子如果计划半年盖完,你给工人的价钱就是半年的;如果因为中间沟通原因导致时间延长,工人的工钱还是一直付的,所以如果做APP找外包公司,切忌头脑发热,一定要三思,再行动。

举个实际例子加深各位看官的理解:

理想情况下剧本是这样的:

村头小王想盖婚房,看到村里房子都是两层小洋房,想盖一个三层的小洋房涨面子,吸引村头的俏寡妇串门。最后估算完口袋的钱,发现三层小洋房不够,小王觉得那也要盖个2层半,最上面放个楼阁。和包工头儿说好了价钱谈好了所有,包工头按照工期出了图纸如约盖了房子交工,小王开心的住了新房子,如愿勾搭上了俏寡妇,每天开始了没羞没臊的生活.......

别意淫了,实际情况多数是这样的:

小王想盖房,看到村里的都是二层小洋房,想盖三层,同时找了三个包工头儿(王朝马汉和李三)询价,王说你的钱不够盖三层只能两层,马汉说你的成本只能盖两层半,李三说我可以帮你盖三层。于是乎,小王选择了李三,李三想赚钱,只能从材料上下手,偷工减料,小王住了不到一年,房屋倒塌,索性和寡妇在外约会躲过一劫。

给各位看官当笑话了,但是目前软件外包市场基本上是这样。我现在从几种不同的情况来说明,做一款APP的流程,分别从互联网公司做APP,传统行业做APP,以及个人创业做APP几个过程来说明想法和流程,以供大家参考,大家问我为什么清楚,我创业以前在国内的一线互联网公司从业,创业以来各种客户都接触过,算是比较清楚各流程以及客户的想法,如觉得我说的有什么不妥当,仅供参考即可。

---------------------------------实际开发APP案例干货----------------------------------------

1、互联网公司:公司成本充足,流程门清,自己有人才储备,人员充足。

开发一款新的APP项目:高层人员出idea,安排产品经理做竞品分析并梳理需求,大佬们集体评审需求,通过评审以后开始执行项目,产品经理出UE原型交互,安排设计人员开始设计UI、LOGO、图标等,代码人员评估需求+UI,代码人员开发代码。

我说一下各阶段大概耗时情况,不含评审时间,各阶段成果都有评审人员,一般一天会议评审,

产品经理竞品分析--2周到4周,分析市面上已有同类型软件和功能优缺点并进行整理,简单用户画像分析,产品核心点分析,初步市场分析

产品经理梳理需求--2周到4周,根据同类竞品以及高层初始想法,结合竞品用户画像和市场分析重新定义产品核心点以及突破点,并梳理成详细的需求和UE,出初版的需求说明书

UI设计--4周到8周,UI设计师根据产品经理提供的需求说明书和UE,完成页面设计,出UI图纸

代码开发--8周以上,具体情况视工作量

执行人员配备:

产品经理:1人 上对产品总监负责

产品助理:0-1人,如果有,上对产品经理负责

UI设计师:1人 上对UI设计总监负责

开发团队配置:

IOS前端开发:1-2人,上对开发总监(或架构师)负责

Android前端开发:1-2人,上对开发总监(或架构师)负责

后端开发人员:1-2人,上对开发总监(或架构师)负责

测试人员:1-2人

如果项目巨大,开发团队成员可能会更多

多数互联网公司做一款APP就是这么一个流程,因为成本充足,又有自己储备,市场调研完整,很少会出现项目在开发阶段夭折的事,APP上线以后,还有运营团队运营,产品不断迭代,想要这样做APP的话,资金充裕即可。

2、传统非互联网公司:公司成本充足但项目预算有限,流程不清楚,无互联网人才储备

开发一款新的APP:高层出idea,安排秘书或亲信做了简单的市场调研,找了两到三款竞品软件,开始寻找APP外包公司,多家询价或者竞标的方式,选择一家外包做开发。

最终结果基本上都可以拿到APP,但后续需要公司自行招聘互联网开发者进行维护或重新开发甚至二次开发。多数APP上线以后,有公司原业务支撑,但没有长期规划和考虑。

3、个人开发者:预算很低,流程不清楚,行业不清楚,甚至打算创业

想做一款APP,找了几个竞品,找了多家外包公司询价,找最低报价,开始做,外包公司简单梳理需求,从代码储备中找一套稍做调整,完成交付。

----------------------------------接下来说一下软件市场情况和适用人员------------------------

1、代码贩卖:已完成的代码,贩卖,直接卖的,需要考虑是否适用于自身,考虑版权风险;个人建议如果有自己的开发团队配置,可直接购买代码,但不建议经常如此,不要省这点钱。

2、模板租用:已经完成的和运行的代码,有技术公司在运营和维护,客户只需要出软件使用费即可;个人建议适用于个人或小店家和小厂家,需要使用者仔细考虑使用软件是否会暴漏自身或公司方面的信息。

3、半定制开发:底价定制市场,多数为外包公司整合了代码,为客户在代码的基础上进行修改调整使用,特点是价钱比较低,需要客户考虑好代码安全性和后续维护升级问题,比较适用于一个版本不用迭代升级就可以用到这个产品死掉的客户。

4、定制开发:高仿定制市场,多数为实价,按照实际人力成本估价,建议客户遇到这种情况,一定要见开发团队,能驻场最好,毕竟花了大价钱,市场太乱,什么人都有,比较适合有钱的客户,对产品质量要求高,后期产品迭代有认真考虑的。

5、自建团队开发:比较适合有资本方支持的项目。

-----------------------------------------小结---------------------------------------------------

无论何种情况,一定要考虑好产品出发点和产品需求,如果自己不专业,可以找一个产品经理或者懂的顾问提出意见。

重要的事情再次强调:确认好出发点,考虑好需求。

确认好出发点,考虑好需求。确认好出发点,考虑好需求。

如果你盖房子盖了一半,原本计划盖三层洋房,后面想盖五层别墅,这种情况下一定会出问题,资金成本都会变动。

软件开发也一样,之所以互联网公司前面愿意花2个月来筹备,并且还是专门的产品经理,就是为了把各种情况考虑到。

最后给自己打个小广告,我公司现在做软件,基本上会问清楚客户打算用来做什么,

如果确实有计划运营推广并考虑了后期迭代更新,我们就高仿定制。

如果只是为了方便现有公司运转做个小工具之类的,产品不用更新迭代,我们基本上有现成的代码储备能用就用,降低成本;

如果有些客户只是想借个东风玩个概念(比如区块链),我们基本上都是拿现成的代码稍作修改,给客户打包,客户想去骗钱就骗钱,想去忽悠谁就忽悠谁。

最后再给大家强调一边,做个APP,是个大投入的事情,三思而后行,投入时间,投入精力,投入金钱。

开发APP难吗?其实这个问题就类似我们问:“做菜难吗?”


不一样的菜,难度不可同日而语


APP也是同样,要问其难度如何,具体要看做什么样的APP,大概有以下三种情况:


1、自娱自乐型APP


开发目的:纯粹练习/自娱自乐之作

参与人员:单个懂编程人员

完成难度:★★

这种APP开发方式的难点在于:因为缺乏经验导致的技术难题,解决方案也简单:学。


2、小范围自用型APP


开发目的:满足自家企业的日常办公需求;

参与人员:企业IT部门两三个人;

完成难度:★★★★★

虽然在很多企业这些流程其实并没走通

这类软件很多工作党都体会过,企业常常会有一些个性化需求,市场上没找到合适软件,就自己研发了一个。这类软件研发面临的难点比较多:


①因为技术人员缺乏相关软件的研发经验,进度缓慢;

②研发是IT部门,使用者多是业务部门,研发人员就必须从业务人员角度考虑体验问题,中间的磨合困难自不必说;

③随着企业的需求不断增加,研发人员需要不断补充软件功能,二次开发逃不了;

④一旦相关研发人员离职,因为技术门槛,很容易留下一堆摊子无人解决。

二次开发危机的始末

关于二次开发问题,之前我们一家客户也遇到过,遇到类似问题的朋友不妨看下这篇文章:【如何绕过“二次开发”,对原企业管理系统升级?】


3、面向整个市场的APP


开发目的:靠软件实现盈利目标

参与人员:一整个企业

完成难度:★★★★★★★★★★

一个面向市场的企业级软件诞生流程

这类软件通常面向整个市场,以上的每一步都必须走通。这里面起码涉及产品经理、研发、测试、UI设计师、视觉设计师、市场、运营、销售、技术支持等数十个岗位人员的共同协作。


除此之外,还要考虑两个重要问题:

①软件功能与用户需求之间的调和。很多人常常只用到一个软件5%的功能,剩下的95%都是各类用户提了需求之后不断完善的。这个不难理解,大家不妨回想一下当年的QQ和现在的QQ;

②由于市场竞争激烈,软件须有极高的创新能力,且能在合适的时间出现、并切准目标用户需求。


题主所说的“几个健身平台半年前就声称在开发APP,结果现在还没出来”,拖缓速度的可能性有很多,天时地利人和,任有一个不到位,这软件都很难出来。

作为为国内微商龙头提供过技术服务,参与其2018集团核心战略项目的负责人,我来讲下。

一个项目,从大流程可以拆解为,需求采集和梳理、原型设计、项目管理、美工设计、框架架构、开发、测试、缺陷管理、发布上线、维护。

其中随便一个环节随便拿出来拆解,都大有门道。

如需求梳理和采集,要想真正开发出符合用户体验,能解决用户问题的产品。我们团队做了如下努力:

  1. 用户访谈采集需求。以用户访谈为例,这就需要邀请用户上门进行软件可用性测试,为其分配一些使用软件的任务,在不做任何干涉和指导的情况下,观察用户行为,收集用户的反馈。
  2. 现地现物提炼需求。在产品真正的使用场景,观察真实的用户。分析在场景下用户遇到的不便,问题,困难。
  3. 定性定量分析需求。定性指的是听用户的主观反馈,感受。定量指的是通过大量的数据统计。因为单个用户的反馈有很大的偶然性和特殊性。所以要定性定量一起做,既要看真实用户想法,又要通过大量数据得到客观的认知。

再以框架架构为例,想要保证项目的可持续迭代,可维护,可扩展。有优秀的框架架构是必不可少的,如果没有一个资深的架构师掌控架构,很有可能出现代码一团乱,导致后面要付出2倍3倍的人工成本去维护臃肿胡乱的代码。付出后期不断重构,乃至推倒重做的代价。

那框架架构有哪些工作呢?

  1. 分析系统需求,根据项目涉及到的技术,界面,业务。定义好不同的抽象层次,如业务逻辑层,网络层,数据模型层,UI层,底层数据通讯协议,公共层。
  2. 抽离业务逻辑,公共逻辑、大段复杂逻辑,封装自定义UI组件。
  3. 制定开发规范和代码规范,约束每个编程人员的写法和风格。
  4. 随着活跃用户增加,在特定场景下出现并发问题,扩展应用服务器,采用数据库读写分析,redis缓存,内容分发,乃至分布式,集群等。

要把一个互联网项目做精做极致,从来不是简单的一句开发个app,少一个程序猿的问题。如果没有一个资深专业,有众多项目管理经验的人来统筹项目,又如何为项目顺利上线维护保驾护航?

选择外包公司,非常重要的是要考察这个公司的人员构成,技术人员的背景,注意一定要是给你做这个项目的相关团队成员的技术实力,不能只是听公司自己吹,说自己技术多牛。如果外包公司能够吸引到一些BAT的人员进来,如果你可以花更少的钱,请更牛逼的人干活,我觉得这就是赚到了。

另一方面,要看公司信誉,要知道,有多少软件开发工程,死在了半路上。你如何保证你的项目就能够成功,不会烂尾。一个好负责人就挺重要的。找到一个好负责人还是很不容易的。

App开发外包注意事项:

1、找公司或者团队。多找一些渠道,找一些觉得靠谱的开发公司,多接触,创始人最好是技术出身,有技术基因的公司才能保证项目的开发质量。很多的做销售出身的公司,技术能力真心没有办法保证。

2、合同签订。合同内容一定要细致,需要有比较详细的列表和功能描述,这样才能保证后期不会出现扯皮。因为软件开发需求经常会变,开发公司有时候也有愉懒的情况。

3、需求沟通。沟通结果一定要落实到纸或者邮件、文档。最后要产生详尽的产品原型。原型是必须的,产品文档可根据实际情况来确定要不要,因为产品文档这个太需要时间,可能咱的费用及开发公司精力等方面限制,PRD文档不是必须的。

4、产品研发。一定要提前沟通好技术架构,需要有一定的技术说明文档,关键的代码逻辑要有注释。这样对项目开发内沟通,以及后续产品版本迭代都会有非常大的帮助,减少沟通成本,提高开发效率和质量。

5、产品测试。这个环节非常重要,咱们需要在beta版本的时候参与进来。这样可以更早的了解熟悉软件的实现情况,为后续运营作好准备。

6、产品验收。一定要把各个功能细节,都要过2~5遍。这样双方都放心一些。

责任编辑:
热门阅读排行
© 16货源网