BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

社区讨论:Android应用和iOS应用的开发成本比较

| 作者 崔康 关注 0 他的粉丝 发布于 2012年4月18日. 估计阅读时间: 10 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

最近,在知名问答网站知乎上,不少开发人员针对Android应用和iOS应用的开发成本谁高谁低(包括两个帖子)发表了自己的看法,大家普遍认为iOS应用的开发成本要低于Android应用,其中的分析和见解对从事移动行业的开发者很有帮助。

郝培强

iOS成本不高:表面上需要买个Mac很贵,但是7000多的Mac已经很好了,不需要买1万的入门。iOS设备可以买Touch或者iPhone 3G,也不贵。学习难度很低,只要你有点英文基础。Android表面上成本低,但是需要买大量手机做适配。而且不好挣钱。

贺利华

目前我在公司是做Android客户端方面的工作,从我近两年的编码经验来看,iOS和Android的比较必须从多个方面来比较,不能过于笼统地断定哪个成本高和低。从硬件设备投入来看,通常开发人员都会有PC环境,那么开发Android应用程序的基本条件已经满足了一个,而开发iOS程序最好还是需要一个Mac环境,对于绝大部分开发者来说还是需要另外花费一笔资金的,关于测试机当然肯定是Android会比iOS糟糕,因为Android的机型实在是太多太多了。如果你是个人开发者的话,那么在这个角度上来看你选择iOS是明智的,而对于公司来讲,其实这些并不是非常重要的问题,如果在公司就职的话,公司不论做哪个平台都是需要提供开发环境的,至于测试机也是一样的,如果公司有20个开发者,那么有20个iOS设备和拥有20个Android设备对于机型的覆盖率相差不会那么大的,虽然iOS可以做到百分百覆盖,但是对于Android来说也差不多了,当然小公司的话这个问题可能会稍微尖锐一些,其实从Android机器均价与iOS设备均价来对比,相差无几。从学习成本投入来看,Android程序员从Java转过来的是绝大多数,而且可以较为快速的进入状态开始编码,而iOS开发对于大部分开发者来说是完全陌生的,也就意味着要重新学习,但是对于程序员来讲,即便不是工作需要,我想在不断的工作过程中也会去接触更多的新鲜知识,从这个角度来看这个也不是什么问题,都有不错的官方文档来支撑前期的学习和入门。从开发具体应用来看,根据我在公司一年多经历的项目来看,在Android上做应用类产品的难易程度相对简单,因为Android的开放性以及Java界多年来在开源上的积累,项目中需要用到的很多模块都可以找到成熟的开源实现,而iOS近几年逐渐发力,在开源上的积累相对薄弱一些,在做应用时可能很多的模块需要自己造轮子,这个对于个人开发者来说可能比较重要。谈到适配机型的问题,对于想做游戏的同学们来讲可能会比较痛苦,特别是游戏使用到3D技术的,由于Android不同厂商选用的各种芯片的标准不一致实现不一致,很容易出现在某款机器上完全无法正常游戏的情况,而且游戏需要跟设备尺寸的结合度往往比较高,要完美地适配Android众多尺寸不一的设备确实非常的让开发者头痛,而且设备的选购也是一笔不小的费用,对于个人开发者来讲是比较不现实,而iOS相对来将就比较单纯,而且硬件控制得好,大家碰到的问题大体上都比较一致,社区里面肯定有能解决你问题的人和案例。综合上面的这些,我认为个人开发者选iOS更合适,对于在公司就职的同学们,公司对于不同平台的重视程度通常应该都是一致的,不需要考虑过多其他的问题,更多的是做好工作完成任务,做出好的应用和游戏,可以依照自己当前的技术优势和兴趣做出选择,成本公司自然会给你承担。

李琳玉

开发成本这个定义太大了。如今的软件企业,开发硬件成本基本可以忽略,主要是人力成本。一般来说iOS的开发成本低。iOS平台API和文档比较完善,很多问题都有一些苹果推荐的解决方案可以用,还可以有苹果的技术支持。相对来说Android平台API不同版本变化比较大,文档跟没有一样,Google的支持非常不给力。这个成本很容易忽略,但是在实际开发中非常影响效率。iOS有很多UI现成的Pattern,设计容易。Android在这个领域跟放羊一样,如果完全参照iPhone的设计又会增加开发的周期。iOS平台机型少,调试容易,周期短。iOS开发和Android开发者工资差不多,但是Android开发需要在多个机器以及不同分辨率进行调试,所以人力成本会增加。总体来说,Android开发同一个程序的成本要比iOS高一半左右。测试和后期维护也差不多是这个比例。

阿达

iOs前期硬件投入高,Object C熟练者较少,人工成本高,学习曲线较陡,总之门槛较高。但产品一旦成功回报丰厚。Android使用的java语言是计算机的基础课,人工成本低,硬件投入少,但产品利润较低。

黄轶明

这里的成本可以分成两个部分,开发成本和学习成本。学习成本来说,iOs比较低,文档丰富,不象Android,开源系统的通病,没有文档。开发成本,确实iOs的门槛较高,因为你需要一台Mac OS机器,和至少一台不太落伍的iOS机器,然后还要每年99$的开发者资格。如果只是讨论成本的话,我觉得开发一款同等质量(这里并没有提到收益),我觉得很有可能是iOS低于Android的。因为学习成本,开发复杂度太高,官方给予的支持少很多。这些导致要花费大量的人月。

李楠

因为iOS的表现和交互已经在事实上统治了移动应用的设计标准,所以高品质App的设计一般是Android向iOS看齐的。在这种情况下,如果要求同样的品质,以我的经验Android投入的人员至少是iOS的1.5倍。另外, Android在Windows下的开发环境非常之烂(不稳定,脑残一样的模拟器启动时间)。具有讽刺意义的是,我们团队的Android开发人员最终选择MacOS X来开发Android(还有人使用Linux)。但是,即使转移了平台,像模拟器和真机之间的失真问题,也仍然无法避免(这对高度重视设计的Apps而言很噩梦)。最后, Android有些非常脑残的历史遗留问题,比如3.0之前的Bitmap size exceeds VM budget 等。而因为Android手机的升级非常成问题,所以团队不得不面对低版本开发,去处理那些问题。这些都带来更多的成本和风险。而且,这还没有计算测试的代价。主流多个厂商,多个系统版本,多个分辨率的机器跑一遍,也需要大量的人力。简而言之,和 iOS 开发比较, Android 的开发要苦逼不少。但是,为什么在@蒋全刚的那个统计中, Android的开发费用并没有高出很多?原因去Market看看就知道: Android的Apps做的更烂!Android的Apps如果追求iOS的品质(设计和稳定性),要付出更大的代价。

王亚晖

如果说成本的话,其实问题相当复杂了。如果你没什么太高追求,或作做的App比较简单,那一定是Android的成本低,因为人力成本便宜。但如果你要App质量说的过去的话,一定是iOS低。Android开发过程中莫名的开支非常大,例如非常复杂的跨平台调试,例如非常复杂的开发流程,甚至配置一个开发环境投入的时间成本都不是一个小数字。

pansz

总的来说,成本差不多。iOS的主要成本:苹果硬件设备,人员工资等。Android的主要成本:你什么都想要,既要做得跟iOS一样又想兼容中低端设备。人员方面,因为Java人员的工资在程序员中算是低的,因而即便需要1.5倍的人力,最终也只跟iOS人力成本持平。更何况,如果你只兼容硬件配置不低于iPhone的机型,那么可以极大的节省开发开销,如果只关注少数的几款机型,最终,人力需求还小于 iPhone(主要因为,业界人员对 Java 的熟练程度远远大于 iOS 的开发语言)。

黄程

虽然开发环境而言,Android基本上都是免费的。但是Android的主要开发成本是在对各种终端的适配,调试,特性对应等工作上。当然也包括为了做这些工作而花的时间、人力成本。因此根据最后应用实际跑的终端的实际情况,最终开发成本可能大于iOs。

侯智

高端App里,尤其是同一家公司既做iOS又做Android的话,一般都是采用iOS的设计。这并非是iOS能展现更好的设计感,也并非iOS比Android高贵多少。而是Android开发过程中需要的适配和调试要比iOS复杂,另外,Android中UI特效比iOS更多得需要程序员自己编写和控制。这些造成了Andriod的开发周期一般较长,而App开发不可能让进度快的等着进度慢的,所以往往是开发进度快的掌握着产品设计的调整方向。而iOS开发人员和产品设计人员一般很少考虑同项目Android组的感受,当然,他们可能也并不了解Android的具体机制,所以很多Android App 都是iOS风,甚至没有利用到Android一些优于iOS的特性。越是大公司的项目,Android的特性越被抹杀。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

呵呵 by 张 宝华

我觉得你这么说,很明显偏向ios开发。先不说mac和pc的差别,android可以在linux,mac,pc上开发。因为是开源的,所以大家更了解android而不是ios。很明显android面临的最大的问题就是他妈的傻X分辨率问题。而ios会面临很多二义性问题,比如只可以在商店下载应用。只在mac上开发。这在以后会变成乔布斯的双刃剑。相反的,几乎一切免费的android带来的是另一个市场,移动网络的市场,物联网的市场。这个市场几乎是apple发起,而android使他辉煌。纯粹个人意见阿!!

偏向于iOS,android人力、学习、硬件成本低 by chj p

偏向于iOS, 纵观现在的android市场,iOS是可望和不可及的!呵呵,个人意见,欢迎围观

偏见 by Mao Anderson

如果只开发高端的大屏(4寸以上)手机,Android还是很好调试的。
至少如果开发个不太大的应用,Android不需要经过应用中心认证,开发调试完直接可以在真机上使用。
不然像iOS应用每次发布新版本都要提交去审查麻烦吧?

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

3 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT