写点什么

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

  • 2012-04-17
  • 本文字数:3365 字

    阅读完需:约 11 分钟

最近,在知名问答网站知乎上,不少开发人员针对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 的特性越被抹杀。

2012-04-17 15:058169
用户头像

发布了 501 篇内容, 共 270.9 次阅读, 收获喜欢 62 次。

关注

评论

发布
暂无评论
发现更多内容

Python代码阅读(第67篇):获取列表中的去重后的元素

Felix

Python 编程 列表 阅读代码 Python初学者

偷天换日,用JavaAgent欺骗你的JVM

码农参上

字节码插桩 代理 探针 签约计划第二季

星环科技 TDH8.1.0:全新升级为用户带来极致体验

星环科技

大数据

【讲坛实录】知识图谱的探索与应用

星环科技

知识图谱

浅谈Java编译优化之常量折叠技术

码农参上

编译器优化 签约计划第二季

单库单应用 && 内容分发

空空

架构设计

多级缓存 && 分库分表

空空

架构设计

Go语言学习查缺补漏ing Day3

恒生LIGHT云社区

Go 编程语言

「Oracle」Oracle 数据库备份还原

恒生LIGHT云社区

数据库 oracle

换个角度思考勒索攻击事件

华为云开发者联盟

漏洞 勒索 攻击 安全检测 蜜罐检测

企业如何做好员工安全意识提升

腾讯安全云鼎实验室

网易应用创新开发者大赛成功在杭举办,十强队伍现场比拼

网易云信

人工智能 音视频 直播

Redis 的事务支持 ACID 么?

码哥字节

redis 事务 ACID 签约计划第二季

查询分离

空空

架构设计

一文讲透数仓临时表的用法

华为云开发者联盟

数据库 sql Local GaussDB(DWS) 临时表

基于HTML、CSS、JS的小游戏/工具制作过程及完整源码

海拥(haiyong.site)

28天写作 内容合集 签约计划第二季 12月日更 技术专题合集

会用泛型,但你知道什么是泛型的类型擦除吗?

码农参上

Java泛型 签约计划第二季

和合共赢,DataPipeline与麒麟软件完成产品兼容性互认证

DataPipeline数见科技

中间件 数据库中间件

少儿春晚表演

Tiger

28天写作

使用Harbor作为Rainbond默认容器镜像仓库,扩展Rainbond镜像管理能力

北京好雨科技有限公司

春松客服入驻Rainbond开源应用商店

北京好雨科技有限公司

Smack库 XMPP Tigase异常SASLErrorException

Changing Lin

12月日更

弹性伸缩 && 多机房

空空

架构设计

基于HTML、CSS和JS的年龄计算器

海拥(haiyong.site)

html 大前端 28天写作 签约计划第二季 12月日更

ipvs localhost 为何不正常

Geek_f24c45

k8s IPVS kube-proxy

2021商业评论管理行动力峰会

大咖说

商业 直播

【混合云】部分混合云管理平台大汇总

行云管家

云计算 公有云 混合云 云管平台

目前市面上堡垒机的品牌有哪些?采购时候需要考虑哪些?

行云管家

网络安全 等保 堡垒机 等级保护

微服务

空空

架构设计

Linux一学就会之Centos8软件包的管理和安装之yum管理软件包

学神来啦

Linux centos 运维 rpm yum

为什么要做团建TB?(6/28)

赵新龙

28天写作

社区讨论:Android应用和iOS应用的开发成本比较_Android/iOS_崔康_InfoQ精选文章