ios开发的就业前景如何?可以发展几个方向?
开发环境
当然,你可以像往常一样通过文本文件编写代码,但是如果你使用集成开发环境,编程无疑会变得更加高效。
苹果的开发环境是Xcode,在Xcode上工作是一件很惬意的事情。它反应迅速,功能强大,同时非常方便。它的调试器可以无缝工作,反应非常快。
安卓平台呢?目前的开发环境是Eclipse,用Android插件调试,性能相当差。慢,拖拖拉拉,同时操作违背常识,一塌糊涂,和Xcode相差甚远。安卓模拟器就更不用说了,每次启动都要几分钟,还有一半连不上安卓调试桥。
从目前来看,谷歌也已经意识到了问题,他们正在开发一个全新的Android Studio IDE:
目前Android Studio已经提供了预览版下载,部分功能还没有完成,开发者在使用过程中会遇到很多bug。如果你觉得使用这样的半成品很不舒服,那么也许你可以下载ADT Bundle来替换它。
虽然Google开始关注开发环境,还是让开发者感到欣慰,但是响应速度还是慢得惊人。要知道,我买第一部安卓手机已经四年半了,开发环境还是一团糟。
赢家:iOS赢一条街。
部署
与苹果的Xcode相比,Android有一个清单文件,你可以通过Eclipse在其中存储或编辑你的应用程序。当应用运行出现错误时,还是希望得到更清晰的错误信息。Android应用的配置明显更简单但更优雅。
赢家:安卓
交互式设计
你可能已经猜到了,苹果肯定会赢得这一轮的竞争。苹果的界面生成器可以快速生成漂亮的用户界面。然而,它也有一个问题。我尝试界面生成器的时间越长,我就越不喜欢它。虽然它对简化有着深刻的理解,但是随着时间的推移和应用的进化,这些简化显得更加复杂和混乱,我也不喜欢苹果一年前在Storyboard中加入的多屏功能。
理论上,Android有相同的视觉效果开发工具。实际操作中,只要你写一个XML文件,它就会自动适应不同的屏幕大小,写完后完成布局。
在这个环节,竞争比你想象的更激烈。虽然我觉得两个系统各有千秋,但我还是觉得iOS胜出。首先更简洁:只有三种屏幕尺寸可以适配,而安卓显然要复杂得多。第二,默认的iOS视觉元素比安卓的好很多。
赢家:iOS
语言
Android应用的语言是Java,而iOS应用的语言是Objective-C,在编程之初,我选择了Java而不是Objective-C,因为我当时对Java更熟悉。但是我很快发现自己越来越喜欢Objective-C了。比Java更容易使用,也更简单。它有category,Java没有;它有block,Java没有。
赢家:iOS
应用程序接口
Android和iOS都为开发者提供了大量的软件数据库,而且总的来说这些数据库也非常相似:这些API有的提供使用手机的功能,有的提供网络连接的功能,这些部分大部分都是由控制器完成的。对于iOS ViewController,其功能相当于Android Activity。
但是iOS有一些Android没有的框架和功能。Android没有iOS强大的核心数据框架。这个框架使用起来非常方便,设计也非常简单。
赢家:iOS
网络
网络连接通常在后台运行,所以对应用程序本身没有太大影响。Android提供AsyncTask来检测用户当前是否在线。IOS也提供了相应的功能,但由于水平较低,性能并不是很理想。
但是你可以通过很多开源数据库让这部分变得更容易。我可以通过AFNetworking使连接变得非常简单。但是这个工具不支持Android,因为Java不能完成block操作。
赢家:安卓第一方赢,但iOS第三方数据库也很优秀。
最后的赢家是...
虽然Android在某些地方有其独特的优势,但总体来说,为iOS编写优秀的应用要比Android容易得多。考虑到iOS用户往往有更健康的付费使用习惯,开发者自然会选择优先为iOS开发应用。新的Android Studio IDE可能会改善一些Android开发体验,但还不够。