iOS开发的前景如何、iOS开发的难易度。要想分析iOS开发的前景,首先你要搞清楚是哪一个牛X公司在维护着iOS系统、是谁在背后支撑着全球的iOS开发者,那就是大名鼎鼎的Apple。html
2012年3月份,苹果公司的市值已经突破5000亿美圆,成为世界上市值最大的公司。5000亿是神马概念呢?android
这个5000亿,真可谓“富可敌国”。在此,咱们还要感谢苹果公司给雅安捐款5000万。其实,苹果对咱们中国消费者一直都重视。为何苹果公司这么有钱呢?我在这里简单分析一下。浏览器
1.苹果公司的商业模式安全
1> AppStore服务器
苹果公司有个叫AppStore的应用商店,既然叫商店,确定是卖东西的,它卖的是软件。开发者能够将开发好的软件,标个价钱,发布到AppStore。用户能够免费注册一个AppleId帐号,而后利用AppleId登陆AppSotoe,下载一些喜欢的软件,安装到本身的iPhone\iPad等苹果移动设备上!AppStore里面包含了77.5万款应用,应用的下载次数已经超过400亿次,有些是免费的,也有些是要钱的。好比一个植物大战僵尸HD版,下载一次须要45¥,HD版通常是指iPad版。而iPhone版的植物大战僵尸,下载一次须要18¥。每一个AppleId第一次下载的时候才须要花钱,之后从新下载是不用花钱的。架构
不少人可能以为好笑,在咱们天朝还怕没有免费软件用么,有谁会笨到去花钱买软件啊?可是,就是有这么多的用户愿意花钱向苹果买软件。要想知道为何,这个要追溯到2001年了。框架
2> 安装软件到iPhone上工具
没有用过iPhone的人可能会问:iPhone上的软件必定要从AppStore下载么?可不能够像android手机同样从别的网站下载软件后再安装到手机上呢?开发工具
2.“果粉”的诞生测试
接下来分析一下:为何有这么多的用户愿意花钱向苹果买软件。
1> 第一代iPod的发布
2001年10月23日,苹果公司发布第一代iPod,iPod是一种MP3播放器。当时不少公司都在嘲笑苹果公司,由于几年前就有MP3这种东西了,并且已经被三星、索尼等公司占据了市场。可是,第一代iPod的推出在当时引发了轰动,它不但漂亮,并且拥有独特和人性化的操做方式以及巨大的容量,为MP3播放器带来了全新的思路,这是一款具备跨时代意义的产品。就这样,iPod为苹果公司吸引了一大批全球各地的消费者,这批消费者完全被苹果的产品给迷上了,俗称“果粉”。乔布斯并非PC(电脑)的发明者,可是苹果电脑却令人眼睛发光;他也没有发明MP3,但iPod却风靡世界;他之前没有作过手机,但iPhone将诺基亚摩托罗拉打得落花流水;在乔布斯以前许多人作平板电脑失败了,但iPad却激发了消费者的狂热......所谓创新,就是把别人已经作过的东西再作得更好一点!
2> iPod的使用
iPod的操做方式跟普通MP3播放器是很不同的。普通MP3播放器,用一条USB数据线链接MP3播放器和电脑,就能够直接将电脑上的歌曲文件复制到MP3播放器中。而iPod呢,你须要用苹果官方提供的iTunes软件才能够将歌曲传送到iPod中。iTunes在每次iPod链接到电脑主机时,能够把特定的播放列表或把整个音乐库自动同步到用户的iPod里。iTunes中还有个iTunes音乐商店,用户能够从商店中购买正版高品质音乐,而后利用iTunes将音乐文件同步到iPod中进行播放。从其它商店购买的受保护音乐是不能在iPod上播放的,iTunes音乐商店已经售出了10亿首歌曲。固然,也有黑客破解了iPod的诸多限制,使得iPod能够播放从任何地方下载的音乐,至关于欺骗iPod,让iPod认为它在播放从iTunes上购买的音乐。
综上所述,从iPod发布开始,苹果公司已经培养了一大批忠实的“果粉”,让“果粉”养成了从苹果商店花钱购买东西的习惯。这个“习惯”就是关键!“果粉”对苹果公司已经有了依赖和信赖,因此,苹果推出了AppStore应用商店,也有一大批“果粉”愿意花钱向苹果买软件。
3.赚了用户的哪些钱
至于用户,苹果主要赚取了2大部分的钱:
1> 硬件
2> 软件
用户若是花钱从AppStore下载了一个软件,这个钱就给苹果和开发者三七分。好比,我开发者了一款软件,以10块的价格挂在AppStore上,若是有用户花10块下载了一次,我就得7块,苹果得3块。
4.苹果也赚开发者的钱
1> iOS开发者
只要你有了Xcode,就能够开发iOS程序,顺即可以将程序运行到模拟器进行调试,一切操做都是免费的。可是,若是你想把程序运行到真机(iPhone\iPad等)上调试,那就得有开发者证书;若是你想发布应用到AppStore,那就得有发布证书。要想获得证书,首先你得向苹果申请为iOS开发者(iOS Developer),并且并不必定免费。成为iOS开发者后,就能够从官网下载前面所说的2种证书了。iOS开发者能够分为4种类型:
(1) 我的型(individual)
(2) 公司型(company)
(3) 企业型(enterprise)
(4) 大学型(university)
能够看出,苹果不只是赚消费者的钱,还赚开发者的钱。并且开发者还要买苹果笔记本呢,这里又赚了一笔。
2> 应用发布的流程
5.总结
以我我的和身边朋友的开发经从来说,对比android开发,iOS开发会更简单一点。作一个相同的功能,在android上可能须要9-10行代码实现,在iOS上可能只须要1-2行,并且实现地更加出色。这并非夸张的说法,这是事实,但并非全部的功能都这样。我并非说android开发很差哈,只是有些功能开发起来相对复杂一点。为何会有这样的差别呢?
1.强大的开发工具
苹果公司提供了很是强大的开发利器---Xcode,集成了iOS模拟器、Interface Builder等工具。Interface Builder是用来构建软件界面的,利用Interface Builder,你能够轻松地拖拽一个按钮或者文字到软件界面上。
2.强大的SDK
苹果公司提供了很是强大的SDK,也就是开发包。用了这个开发包,有些功能,你只用几行代码就能实现很是出色的效果。
3.android开发与iOS开发对比
1> iOS是不开源的
苹果公司的iOS系统是不开源的。不开源意味着什么呢?意味着其余公司的移动设备不容许搭载iOS系统,即便你出再多的钱,苹果公司也不肯意给你用。因此你会看到只有苹果公司本身的产品上才运行着iOS系统,好比iPhone、iPad等。你不可能说看到某辆车的车载系统是iOS的,那确定是山寨车、山寨系统,除非苹果公司本身卖车了,出了一款iCar,哈哈。
2> android是开源的
而google开发的android系统呢,它是开源的。那意味着android系统是免费的,谁均可以使用,因此你今天看到满街都是android手机,有三星、索尼、华为、小米等,就连康师傅和读者杂志都出android手机了,有网友还调侃“康师傅,够了,别逼三星出方便面”。甚至连电视、洗衣机、微波炉、汽车等,都是android系统的。对比iOS设备,android设备的价格都比较便宜。
3> 开源背后的android开发者
能够看出,android的市场占有率是很大的,可是苦了android开发者,为何呢?市面上的android手机屏幕有大有小,为了考虑程序可以适应全部的手机屏幕(也就是“屏幕适配”),android开发者但是吃尽了苦头啊,这对开发者来讲,简直是个噩梦。再者,因为android是开源的,意味着每一个手机厂商均可以对原生的android系统进行修改,包装成本身特有的系统,小米、魅族就是如此。这对android开发者来讲,又是一个噩梦。举个例子:原本好好的一个功能,在三星手机上能运行成功,可是在小米手机上就可能运行不起来或者达不到想要的效果,这种事情是常常发生的。为了让这个功能适应全部的手机,android开发者又是吃尽了苦头。公司通常会为android开发者配备N台不一样型号的手机,感受公司对本身挺好的,这么多手机任你用,其实,你懂的。。。
4> iOS设备的屏幕适配
运行iOS系统的设备就那几个:iPhone\iPad\iPad mini等,屏幕大小也比较统一,好比iPhone4和iPhone4S的屏幕是同样的,无论是iPad2仍是iPad4,全部的iPad屏幕也是同样的,不会像android那样很大变化。不过iPhone5的屏幕比之前的iPhone多大了一些,不过我以为这个问题不大,由于利用苹果的开发工具和开发包,能够轻松地解决这个屏幕适配的问题。苹果官方也表示iPhone6的屏幕并不会变得更大。
5> 加班问题
在公司里面,常常会出现这样的状况:同一个项目,iOS开发组早早作完了,android开发组还在苦逼中,并且领导常常在那催“iOS组都作完了,大家怎么还没作完啊”,加班也是常见的事。固然,iOS开发组也有加班的时候。前不久,听到一个朋友在调侃,他说感受他们公司作iOS开发的都比android开发的帅气精神一点。他还说,一个星期不见,那个作iOS的皮肤好像又好了一点。哈哈哈,挺搞笑的。
4.iOS和android系统架构对比
如今市面上的android手机,屏幕愈来愈大、CPU愈来愈高级,据说有8核的了、内存也愈来愈大。可是有时候使用起来,仍是不如iPhone流畅。就拿iPhone4来讲,内存才512M,CPU单核;我如今有部android系统的索尼LT26ii,双核CPU,1G内存。对比之下,仍是iPhone4顺畅一点。有时候,LT26ii上有个程序崩溃了,会致使整个手机都停滞一段时间;在iPhone上,有个程序崩溃了,并不影响其余程序的使用。Facebook的开发者也在吐槽android系统太粗糙了。为何会有这样的差别呢?这跟系统架构有关系。
1> android系统架构
android是基于Linux内核设计的,是在Linux内核上面运行一个Java虚拟机,虚拟机再运行软件。像是在一个系统上面又套了一个系统,至关于同时跑2个系统,咱们的应用要穿越2层系统才能跟手机硬件交互。因此占内存大、运行速度略低。
2> iOS系统架构