您所在的位置:主页 > iOS开发培训 >

iOS和Android哪个系统更好?

时间:2014-02-15 10:08来源:未知 作者:疯狂java 点击:

  

  苹果智能手机和Android智能手机占据着手机市场中最多的市场份额,业界都在探讨Android和iOS哪个系统更好?唯有让软件开发者更舒心的开发平台,平台才会发展的更加快速,更加完美,广州iOS培训为你整理:Android VS iOS开发详细对比。
 

  开发环境

  你当然可以像往常一样,通过文本文件写代码,不过如果你使用整合开发环境,那么编程无疑会变得更高效。

  苹果的开发环境是Xcode,在Xcode上工作是一件十分愉悦的事情。它反应迅速,功能强大,同时又十分顺手。它的调试器可以做到无缝工作,同时反应十分快速。

  而Android平台呢?目前的开发环境是Eclipse,由Android外挂程序调试,表现相当糟糕。迟缓,拖沓,同时操作又违背常理,复杂的一团糟,与Xcode相差甚远。而更不要提Android模拟器了,每次启动都要好几分钟,而其中一半时间都无法连接到Android Debug Bridge。

  从目前来看,谷歌也已经意识到了问题,他们正在开发一套全新的Android Studio IDE:Android Studio目前已经提供了预览版的下载,其中一些功能还没有完成,开发者在使用的过程中会遭遇到许多bug。如果你对于使用这样一款半成品觉得十分不爽,那么或许你可以通过下载ADT Bundle来替代它。

  虽然谷歌开始重视开发环境这一点还是值得令开发者欣喜的,不过反应速度还是慢的让人吃惊,要知道,距离我购买第一款Android手机已经过去了四年半,而四年半的时间,开发环境仍然一团糟。

  获胜者:iOS 胜出一条街
 

  配置

  与苹果的Xcode相比,Android拥有一个清单文件,通过Eclipse可以将你的应用在这个文件中进行存储或编辑。当应用运行出现错误的时候,我还是更希望可以得到更清晰的错误信息。而Android应用的配置明显更简单却更优雅。

  获胜者:Android
 

  交互设计

  你可能已经猜到,苹果肯定会获得这一轮比拼的胜利。苹果的界面生成器可以快速生成美观的用户界面。不过它也存在着一个问题,随着我试用界面生成器的时间越长,我就越不喜欢它。虽然它对于简化有着很深刻的理解,可是随着时间流逝、应用进化,这些简化看起来却更复杂更混乱,而我同样不喜欢苹果在一年前为Storyboard添加的多屏幕功能。

  Android理论上来说拥有一套相同的视效开发工具,在实际使用中只要你编写XML文件,那么在编写结束之后,它会自动适应不同屏幕尺寸并完成布局。

  在这一环节中,竞争程度要比你想象的更激烈,尽管我认为两个系统都有着自己的优势,不过我还是认为iOS胜出。首先,它更加简洁:只有三种屏幕尺寸需要适配,而Android则明显要复杂许多。第二,默认的iOS视觉元素要比Android的好看太多了。

  获胜者:iOS
 

  语言

  Android应用的语言是Java,而iOS的应用语言则为Objective-C。在编程的最开始,我选择使用Java,而没有选择Objective-C,因为当时对于Java更熟悉。但是我很快就发现自己越来越喜欢Objective-C。它比Java更易用也更简洁。它有category,可是Java没有;它有block,可是Java没有。

  获胜者:iOS
 

  API

  Android和iOS都为开发者提供了海量的软件资料库,而笼统的说,这些资料库也十分相似:这些API中有一些提供了手机的使用功能,有些提供了网络连接功能,这些部分大多归于控制器来完成。对于iOS ViewController来说,它的作用等同于Android Activity。但iOS却具有Android所没有的一些框架和功能。Android并没有iOS强劲的Core Data框架。这个框架使用十分方便,而且设计也相当简洁。

  获胜者:iOS
 

  网络

  网络连接通常是在后台运行的,因此它们不会对应用本身造成太多影响。Android提供了AsyncTask,用于检测用户当前是否在线。而iOS也提供了相应的功能,不过它们因为级别还很低,因此表现还不是很让人满意。

  不过你可以通过许多开源的资料库让这部分变得更加简单。我通过使用AFNetworking,可以让连接变得十分简单。但这个工具却不支持Android,因为Java不能完成block操作。

  获胜者:Android的第一方获胜,但iOS的第三方资料库也相当出色

  最终获胜者是iOS,Android在一些地方有优势,不过还远远不足,总体对比来看,软件开发者在为iOS编写出色的应用还是要比Android简单多了,iOS属于高端消费人群使用,更多的软件开发者很自然的选择iOS开发应用。