哪个更容易编码:Android App vs iOS App?

时间:2010-12-17 15:09:15

标签: java android objective-c ios

我想提高我的编码技能,所以我计划编写一个Mobile Application.need来选择Apple的iOS或Google的Android。

我的背景: 我已经在大学里完成了.Net,C / C ++,Python和PHP的基本编程,因此得到了OOP概念。关于我的技能水平,我只知道概念和基本语法。但如果被问到,则无法编写复杂的应用程序:(

所以决定磨练我的技能,而且我想知道哪个更容易学习编程n00b。

A)使用Objective C的iOS B)使用Java的Android

我想根据难易程度决定

9 个答案:

答案 0 :(得分:53)

我一直在使用iOS开发一年多一点,在Android上开发大约六个月。两者都提出了他们自己的挑战,但在一天结束时我会说所有事情都相同iOS更容易学习,原因有几个。

1)Interface Builder - 使用iOS可以轻松设置GUI,因为您可以在IB中进行布局,然后链接到代码中的对象。节省了大量时间。 Android最接近的是DroidDraw,它不直接链接到代码,只是在布局xml文件上生成草稿。它比以编程方式创建视图更好,但不符合IB的简单性和健壮性。

2)API - Apple API已经存在更长时间并且已经进一步发展。 Android肯定会迎头赶上,但仍有很多领域,特别是在以移动为中心的API中,Apple的API在可用和文档方面更好。更高级别的API可以完成许多低级别的事情,这有助于减少进入障碍。

3)硬件和操作系统碎片(或缺乏) - Apple在推动用户群更新到最新的iOS版本方面做了很多工作,该版本同时适用于所有外形尺寸(iPad卡在3.2中)一段时间是一个例外)。您可以非常安全地定位iPhone硬件平台,并实现与iTouch和iPad的交叉兼容,只需要额外的工作。 Android拥有大量设备,其中许多都具有特定于设备的操作系统修改,在测试时会导致大量的麻烦。还有不同的屏幕尺寸和分辨率可供处理。

我想强调的是,我喜欢在两个平台上工作的原因各不相同,但是从更容易学习的角度来看,我必须投票给iOS。当然,所有事情都是平等的。 Objective-C语法可能很难习惯,如果你已经习惯了Java,那么一些基本的Objective-C概念将是新的,可能需要一些时间来适应,加上你将被重新引入内存管理,因为Java中没有垃圾收集器。最后如前所述,如果您不拥有(或无权访问)Mac,则无法为iOS编程。

答案 1 :(得分:16)

它们都是同样复杂的,所以归结为你熟悉的东西。

仅根据您的知识判断,Android开发将变得更容易。语法将接近您已经识别的内容。

Objective-C的OO语法与您在帖子中列出的任何内容都不同。习惯了需要一段时间。

答案 2 :(得分:16)

我只是一名网络开发人员,在.NET(C#和VB)上做了一点点工作,而我的雇主想要开始在iPhone和Android上发布应用程序,因为另一个开发人员忙于一个重大项目,是一个学习Android和iOS(当时的iPhone SDK)的任务。

我刚开始使用iOS。我读了几本书,从Apples开发者参考资料中下载了一堆示例项目。我会说我花了大约2-3个星期才开始进行开发。

在iOS上开发应用程序一个月后,我的雇主希望我将其移植到android。所以我做了与iOS相同的过程,阅读了几本书,下载了一堆示例项目。我花了很长时间才开始感觉舒适的安卓。起初我根本就不明白。

现在花了一年时间开发这两个平台后,我更喜欢iOS。我发现他们的文档非常棒,我只是在平台上找到编码乐趣。

我讨厌android模拟器,它只是太慢了,只能在实际设备上测试。我发现编码是一件苦差事。我想说在任一设备上开发应用程序需要大约相同的时间,但我喜欢在iOS上做这件事。一切只是为我点击

答案 3 :(得分:9)

我认为你问的是错误的问题。编程语言在开发某些东西的难度上几乎没有差别。 API及其记录的程度可以产生很大的不同。如果你从未做过GUI,我想我会从一些不能移动的东西开始,因为这会让它变得更加困难。

答案 4 :(得分:2)

我已经写了几个月的Android应用程序,然后我去为iPhone创建相同的应用程序。我很快就开始喜欢关于iphone开发的许多东西,这些东西都适用于android(核心数据很棒,保存/传递复杂数据很容易)。

有许多不同之处可能会使平台变得容易/困难,但这完全取决于您制作的应用程序类型。有些项目可能更容易在iOS平台上编写,而其他项目,Android则更容易

总的来说,我学习iOS开发比学习Android开发更困难。

答案 5 :(得分:2)

我会从Google的惊人App Inventor开始,这是制作移动应用的最简单方法 使用App Inventor时,您可以直观地设计应用程序的外观并使用块来指定应用程序的行为,而不是编写代码。它不需要任何编程知识 您可以找到更多信息here

答案 6 :(得分:1)

两者都将同样困难,但只是以不同的方式。程序使用的难易程度通常取决于程序员使程序“易于使用”的努力。

如果您无法编写复杂的应用程序,那么它很可能与您的编码技能无关,而且与您的软件开发技能有很大关系。虽然它与你的问题并不完全一致,但我建议你加强你最弱的技能。

编程最多可能是运行良好的项目的20%。其余的是描述要解决的问题(也就是收集需求),创建一个简化解决方案块和测试的架构。如果你可以编码,但无法处理大型或复杂的项目,那是因为你需要在每个领域培养你的技能(不需要成为专家,但它有帮助),你需要知道他们如何一起工作

一旦你将知识扩展到整个过程,你会发现大型项目看起来很多工作,但每个“下一步”步骤都相当简单。有很多方法可以让所有这些项目都发生,one that I recommend is OpenUP

答案 7 :(得分:1)

我用两种语言进行编码并练习了很多,我会说你可以用Objective-C语言做很多事情,但是你应该预先知道C所以如果你是'noob'程序员我更喜欢的Java ..

- )

答案 8 :(得分:1)

如果您了解.Net,C / C ++,Python和PHP,您会发现Java / Android比Objective-C容易学习一百万次。 IOS API很不错,但Objective-C与任何其他主流语言完全不同,如果你习惯使用.Net,Java或C ++,那就很痛苦。