写点什么

社区讨论: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:057913
用户头像

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

关注

评论

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

借助 API 接口深挖 1688 商品详情的奥秘

Noah

快照技术对比学习

天翼云开发者社区

云计算 快照技术

Cornerstone for Mac(SVN管理工具)v4.2激活版

Mac相关知识分享

测试工程师在敏捷项目中扮演什么角色?

禅道项目管理

敏捷开发 软件测试 软件开发 迭代 测试人员

ISA-L库调研

天翼云开发者社区

大数据 存储 simd

PDF Expert for mac(pdf编辑工具) v3.8.2中文激活版

Mac相关知识分享

FonePaw Video Converter Ultimate for mac(视频格式转换软件)激活版

Mac相关知识分享

淘宝店铺商品搜索API返回值全面解析:洞悉店铺全貌

技术冰糖葫芦

API API 编排 API 文档 API 协议

电商架构浅析

快乐非自愿限量之名

大数据 架构 电商

SD-WAN为什么成为小企业的首选

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

Deckset for Mac(MD文档转幻灯片软件) v2.0.33激活版

Mac相关知识分享

多项第一!天翼云霸气登顶政务公有云市场

Geek_2d6073

iPaaS 平台的发展方向

RestCloud

数字化转型 数据集成平台 企业集成 ipaas

TDengine 3.3.2.0 发布:新增 UDT 及 Oracle、SQL Server 数据接入

TDengine

Monaco Editor使用时右键功能菜单汉化

京东科技开发者

观测云:开源生态的桥梁

可观测技术

开源

Bonree ONE赋能汽车行业 重塑可观测性体验

博睿数据

Ceph PG状态介绍

天翼云开发者社区

分布式 存储 Ceph

淘宝店铺商品搜索API返回值全面解析:洞悉店铺全貌

技术冰糖葫芦

API 编排 API 文档 API 协议

工时记录软件:节省时间和金钱的最佳选择

爱吃小舅的鱼

工时管理 工时管理系统

面试官:Java中缓冲流真的性能很好吗?我看未必

EquatorCoco

Java 面试 程序员面试 开发语言

观测云:全球监控布局的高效能选择

可观测技术

喜讯!云起无垠入选《2024年中国网络安全市场全景图》

云起无垠

手把手教你搭建Docker私有仓库Harbor

不在线第一只蜗牛

Docker 容器 仓库

RTX 4090为什么被称为性能之王?

Finovy Cloud

显卡 显卡选择 #GPU

云容灾关键技术点简介

天翼云开发者社区

云计算 云服务 容灾备份

全链路监控革新:观测云如何助力企业运维升级

可观测技术

IPIDEA分享:并发和并行的区别

IPIDEA全球HTTP

并行 技术宅 并发’

(永久激活)MAMP PRO 本地Web服务器开发环境 【Mac/win】

理理

生产环境Nginx配置

源字节1号

小程序 开源 前端 后端

使用ChatGPT解决开发问题

京东科技开发者

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