哪个更糟:Android设备碎片或iPhone版本碎片?

为两者而发展; Android设备碎片化要严重得多。

不过,这确实是苹果到橘子(而且显而易见)–当然,针对拥有5个iPhone设备/ 4个具有两个屏幕分辨率的iPod touch设备(其中一个iPad设备具有三分之一)的目标将更容易超过50种的电话,平板电脑,笔记本电脑,媒体播放器和中文的东西,并且硬件和制造商控制的软件多种多样。

开发者必须付出代价才能打入潜在利润丰厚的Android市场……

Google可以做一些更好的事情来减少碎片的困扰,例如提供更高级别的摄像头API,真正的LED /手电筒API,真正的通知LED API,并告诉用户为什么他们无法从市场上获得某个应用程序而不是仅仅隐藏它,但是在大多数情况下,碎片问题是Android工作方式不可避免的副作用。

昨天,我针对服务器上有数百万用户,上市时间为11个月的应用(在Android上仅提供了4个月)在服务器的登机中运行了一些数字:

  • 32种独特的iOS设备/操作系统版本组合
  • 823个 Android设备/操作系统版本组合

作为测试人员,我几乎可以用旧的iPod,3GS,4G手机和iPad来获得测试矩阵的横截面。 如果需要,您可以越狱或恢复到旧版本。 当然,我仍然会遗漏错误,但是我可以轻松找到设备/操作系统版本组合,并在其上反复敲击,以重现用户报告的问题。 投入beta程序,我们可以做得很好,确保覆盖了大多数边缘情况。

Android则不同。 您最近是否走进百思买并查看了可用的Android手机? 即使使用广泛的Beta程序(我们对Android版本有很高的要求,并且当时设备/操作系统的横截面非常好),也无法对每种配置进行测试。 您不仅拥有硬件/操作系统的组合,而且行为的变化不仅是由硬件和底层操作系统引起的,而且还包括设备制造商的附加组件和调整项,运营商附加组件和调整项,第三方应用程序(我们制作了需要麦克风的语音应用程序-您会惊讶的是,通常情况良好的应用程序在快速关闭时很难放开麦克风),用户安装的自定义ROM…

我们尝试通过Beta程序,愿意捕捉不良行为日志的非常有用的用户以及允许您在真实设备上进行远程测试的第三方服务(如Perfecto Mobile)来缓解这种情况,但我们仍然无法重现其中的某些内容用户在特定型号上看到的奇怪行为(有时在特定*载体*上……我对我们更有趣的错误之一的假设是它是特定的固件版本或载体所添加的某种东西……)。

我爱Google,也爱Android(摩托罗拉Droid是我的主要手机,爱死了),但是在参与开发和测试多平台应用后,我什至不明白为什么有人问这个问题:更加分散。 🙂

到目前为止的Android。 随后的每一代iPhone都不再支持一部手机。 Android在更多手机上有大量不同版本。 有些可以升级,有些不能升级,有些则被搁置,而HTC等公司则添加了自己的UI元素。 我认为关于这个主题确实没有任何辩论。