写点什么

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

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

关注

评论

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

英特尔黑科技加持,腾讯应用宝登陆电脑:安卓应用完美移植PC 更有神器辅助

E科讯

卧薪尝胆30天!啃透京东大牛的高并发设计进阶手册,终获P7意向书

做梦都在改BUG

Java 系统设计 高并发

究诸经典,探寻大模型演变之踪迹

Baihai IDP

人工智能 深度学习 大模型 LLM 白海科技

防lombok实现一个Getter注解,AbstractProcessor实例

Java你猿哥

Java ssm lombok

ERP已死,秒杀系统称王!阿里巴巴内部「10亿级并发设计文档」

Java你猿哥

数据库 缓存 分布式 消息队列 秒杀系统

开源一个网页版的 Xshell,支持 FTP 和 SFTP 两种方式!

Java你猿哥

Java json ssm Cookie xshell

CST如何查看哪些 GPU 在线?

思茂信息

cst cst使用教程 cst操作 cst电磁仿真 cst仿真软件

YashanDB推出共享集群技术 剑指核心系统替换

YashanDB

国产数据库

YashanDB:以自研根技术筑牢企业数字化发展根基

YashanDB

国产数据库

从源码全面解析 dubbo 服务注册的来龙去脉

做梦都在改BUG

Java 源码 dubbo

软件设计中你考虑过重试了吗?

Java你猿哥

Java ssm 软件设计

【论文解读|GL-Cache 】基于组级学习的缓存替换算法

Databend

CIO视角|平台工程带来的优势与机遇

SEAL安全

IdP 平台工程 企业号 5 月 PK 榜 内部开发平台

CISA零信任成熟度模型(译文)

权说安全

GitHub星标126K的京东「微服务进阶笔记」首次开源!好评如潮

Java你猿哥

Java 架构 微服务 微服务架构 架构师

YashanDB携手中地数码联合发布空间数据存储管理解决方案

YashanDB

国产数据库

Software 软件版本的含义

Andy

未来,零信任安全还会持续火热吗?

权说安全

500代码行代码手写docker-设置网络命名空间

蓝胖子的编程梦

k8s 容器网络 ,docker 容器网络方案 容器网络平台

阿里逆天级调优方案,内部这套Java性能调优实战宝典,堪称教科书

做梦都在改BUG

Java 性能优化 性能调优

听听飞桨框架硬核贡献者如何玩转开源!

飞桨PaddlePaddle

开源社区 百度飞桨 PaddlePaddle

Java中synchronized锁的深入理解

做梦都在改BUG

Java synchronized

渲大师云主机按量付费功能上线!

Finovy Cloud

渲大师 按量付费

数据可视化管理尽在RazorSQL注册激活版~

真大的脸盆

Mac 数据库管理 Mac 软件 管理数据库 数据库处理

HUAWEI永远滴神!华为顶级网络专家总结出了这份网络协议开源手册

Java你猿哥

TCP ssm 网络协议 io IP

微服务架构:构建灵活、可拓展和高效的现代应用体系

xfgg

Java 微服务

背刺Alibaba?阿里巴巴工程师1480道Java面试题及答案整理( 2023年 整理版)

Java你猿哥

Java MySQL redis JVM mybatis

腾讯高工内产,Github都没的SpringBoot源码手册

做梦都在改BUG

Java spring Spring Boot 框架

人工智能与数据分析

Data 探险实验室

人工智能 机器学习 AI 数据分析 数据

BeanUtils.copyProperties的11个坑

Java你猿哥

Java spring ssm bean

2023年天津等级测评机构有哪些?具体位置在哪里?

行云管家

等保 等保测评 等级 天津

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