我已经为iOS使用开发一年多了,在Android上使用了大约六个月。两者都提出了自己的挑战,但归根结底,我会说,由于一些原因,所有条件都相同,iOS更容易学习。
1)界面生成器 - 使用iOS设置GUI要容易得多,因为您可以在IB中将其布局,然后链接到代码中的对象。节省大量时间。Android最接近的是DroidDraw,它不直接链接到代码,只是在布局xml文件上生成粗略的草稿。它比以编程方式创建视图更好,但低于IB的简单性和稳健性。
2)API - Apple API已经存在了更长的时间,并且已经进一步发展。Android肯定正在迎头赶上,但仍然有很多领域,特别是在以移动为中心的API中,Apple的API在可用内容和文档方面更好。许多低级的东西可以通过更高级的API来完成,这有助于降低进入门槛。
3)硬件和操作系统碎片化(或缺乏碎片化) - 苹果做了很多工作来推动用户群更新到最新的iOS版本,该版本可同时在所有外形规格上使用(iPad暂时停滞在3.2中是一个例外)。您可以非常安全地瞄准iPhone硬件平台,并实现与iTouch和iPad的交叉兼容性,而无需做很少的额外工作。Android拥有大量的设备选择,其中许多设备都经过了特定于设备的操作系统修改,这可能会在测试时导致大量头痛。还有不同的屏幕尺寸和分辨率需要处理。
我想强调的是,出于不同的原因,我喜欢使用这两个平台,但从更容易学习的角度来看,我必须投票给iOS。当然,这是所有平等的事情。Objective-C语法可能很难习惯,如果你已经对Java感到满意,那么一些基本的Objective-C概念将是新的,可能需要一些时间来适应,而且你会被重新引入内存管理,因为没有像Java那样的垃圾收集器。最后,如前所述,如果您不拥有(或无法访问)Mac,则无法为iOS编程。