标签:c c# objective-c
2012年3月份,苹果公司的市值已经突破5000亿美元,成为世界上市值最大的公司。5000亿是神马概念呢?
这个5000亿,真可谓“富可敌国”。在此,我们还要感谢苹果公司给雅安捐款5000万。其实,苹果对我们中国消费者一直都重视。为什么苹果公司这么有钱呢?我在这里简单分析一下。
苹果公司有个叫AppStore的应用商店,既然叫商店,肯定是卖东西的,它卖的是软件。开发者可以将开发好的软件,标个价钱,发布到AppStore。用户可以免费注册一个AppleId账号,然后利用AppleId登录AppSotoe,下载一些喜欢的软件,安装到自己的iPhone\iPad等苹果移动设备上!AppStore里面包含了77.5万款应用,应用的下载次数已经超过400亿次,有些是免费的,也有些是要钱的。比如一个植物大战僵尸HD版,下载一次需要45¥,HD版一般是指iPad版。而iPhone版的植物大战僵尸,下载一次需要18¥。每个AppleId第一次下载的时候才需要花钱,以后重新下载是不用花钱的。
很多人可能觉得可笑,在我们天朝还怕没有免费软件用么,有谁会笨到去花钱买软件啊?但是,就是有这么多的用户愿意花钱向苹果买软件。要想知道为什么,这个要追溯到2001年了。
没有用过iPhone的人可能会问:iPhone上的软件一定要从AppStore下载么?可不可以像android手机一样从别的网站下载软件后再安装到手机上呢?
接下来分析一下:为什么有这么多的用户愿意花钱向苹果买软件。
2001年10月23日,苹果公司发布第一代iPod,iPod是一种MP3播放器。当时很多公司都在嘲笑苹果公司,因为几年前就有MP3这种东西了,而且已经被三星、索尼等公司占据了市场。但是,第一代iPod的推出在当时引起了轰动,它不但漂亮,而且拥有独特和人性化的操作方式以及巨大的容量,为MP3播放器带来了全新的思路,这是一款具有跨时代意义的产品。就这样,iPod为苹果公司吸引了一大批全球各地的消费者,这批消费者彻底被苹果的产品给迷上了,俗称“果粉”。乔布斯并不是PC(电脑)的发明者,但是苹果电脑却使人眼睛发光;他也没有发明MP3,但iPod却风靡世界;他以前没有做过手机,但iPhone将诺基亚摩托罗拉打得落花流水;在乔布斯之前许多人做平板电脑失败了,但iPad却激发了消费者的狂热......所谓创新,就是把别人已经做过的东西再做得更好一点!
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应用商店,也有一大批“果粉”愿意花钱向苹果买软件。
至于用户,苹果主要赚取了2大部分的钱:
1> 硬件
2> 软件
用户如果花钱从AppStore下载了一个软件,这个钱就给苹果和开发者三七分。比如,我开发者了一款软件,以10块的价格挂在AppStore上,如果有用户花10块下载了一次,我就得7块,苹果得3块。
只要你有了Xcode,就可以开发iOS程序,顺便可以将程序运行到模拟器进行调试,一切操作都是免费的。但是,如果你想把程序运行到真机(iPhone\iPad等)上调试,那就得有开发者证书;如果你想发布应用到AppStore,那就得有发布证书。要想得到证书,首先你得向苹果申请为iOS开发者(iOS Developer),而且并不一定免费。成为iOS开发者后,就可以从官网下载前面所说的2种证书了。iOS开发者可以分为4种类型:
(1) 个人型(individual)
(2) 公司型(company)
(3) 企业型(enterprise)
(4) 大学型(university)
可以看出,苹果不仅是赚消费者的钱,还赚开发者的钱。而且开发者还要买苹果笔记本呢,这里又赚了一笔。
以我个人和身边朋友的开发经历来说,对比android开发,iOS开发会更简单一点。做一个相同的功能,在android上可能需要9-10行代码实现,在iOS上可能只需要1-2行,而且实现地更加出色。这并不是夸张的说法,这是事实,但并不是所有的功能都这样。我并不是说android开发不好哈,只是有些功能开发起来相对复杂一点。为什么会有这样的差异呢?
苹果公司提供了非常强大的开发利器---Xcode,集成了iOS模拟器、Interface Builder等工具。Interface Builder是用来构建软件界面的,利用Interface Builder,你可以轻松地拖拽一个按钮或者文字到软件界面上。比如下面的QQ登录界面:
你可以轻松地将右边的按钮(Round Rect Button)、文本标签(Label)、文本输入框(Text Field)拖到左边的手机界面上,通过调整位置和文字,就形成了左边的界面效果。
运行到模拟器上的效果:
苹果公司提供了非常强大的SDK,也就是开发包。用了这个开发包,有些功能,你只用几行代码就能实现非常出色的效果。
1> 比如iPhone的图标抖动效果
长按软件图标后,iPhone桌面上的所有软件图标都会抖动,左上角也出现一个圆形的“X”,点击“X”,可以卸载这个软件
这个抖动效果只需要4行代码就搞定了。
2> 有些软件为了给用户一些提示,图标右上角会出现红色的数字
这个红色的59表示有59条未读的QQ信息。这个效果只需要1行代码。
苹果公司的iOS系统是不开源的。不开源意味着什么呢?意味着其他公司的移动设备不允许搭载iOS系统,即使你出再多的钱,苹果公司也不愿意给你用。所以你会看到只有苹果公司自己的产品上才运行着iOS系统,比如iPhone、iPad等。你不可能说看到某辆车的车载系统是iOS的,那肯定是山寨车、山寨系统,除非苹果公司自己卖车了,出了一款iCar,哈哈。
而google开发的android系统呢,它是开源的。那意味着android系统是免费的,谁都可以使用,所以你今天看到满街都是android手机,有三星、索尼、华为、小米等,就连康师傅和读者杂志都出android手机了,有网友还调侃“康师傅,够了,别逼三星出方便面”。甚至连电视、洗衣机、微波炉、汽车等,都是android系统的。对比iOS设备,android设备的价格都比较便宜。
可以看出,android的市场占有率是很大的,但是苦了android开发者,为什么呢?市面上的android手机屏幕有大有小,为了考虑程序能够适应所有的手机屏幕(也就是“屏幕适配”),android开发者可是吃尽了苦头啊,这对开发者来说,简直是个噩梦。再者,由于android是开源的,意味着每个手机厂商都可以对原生的android系统进行修改,包装成自己特有的系统,小米、魅族就是如此。这对android开发者来说,又是一个噩梦。举个例子:本来好好的一个功能,在三星手机上能运行成功,但是在小米手机上就可能运行不起来或者达不到想要的效果,这种事情是经常发生的。为了让这个功能适应所有的手机,android开发者又是吃尽了苦头。公司一般会为android开发者配备N台不同型号的手机,感觉公司对自己挺好的,这么多手机任你用,其实,你懂的。。。
运行iOS系统的设备就那几个:iPhone\iPad\iPad mini等,屏幕大小也比较统一,比如iPhone4和iPhone4S的屏幕是一样的,不管是iPad2还是iPad4,所有的iPad屏幕也是一样的,不会像android那样很大变化。不过iPhone5的屏幕比以前的iPhone多大了一些,不过我觉得这个问题不大,因为利用苹果的开发工具和开发包,可以轻松地解决这个屏幕适配的问题。苹果官方也表示iPhone6的屏幕并不会变得更大。
在公司里面,经常会出现这样的情况:同一个项目,iOS开发组早早做完了,android开发组还在苦逼中,而且领导经常在那催“iOS组都做完了,你们怎么还没做完啊”,加班也是常见的事。当然,iOS开发组也有加班的时候。前不久,听到一个朋友在调侃,他说感觉他们公司做iOS开发的都比android开发的帅气精神一点。他还说,一个星期不见,那个做iOS的皮肤好像又好了一点。哈哈哈,挺搞笑的。
现在市面上的android手机,屏幕越来越大、CPU越来越高级,听说有8核的了、内存也越来越大。但是有时候使用起来,还是不如iPhone流畅。就拿iPhone4来说,内存才512M,CPU单核;我现在有部android系统的索尼LT26ii,双核CPU,1G内存。对比之下,还是iPhone4顺畅一点。有时候,LT26ii上有个程序崩溃了,会导致整个手机都停滞一段时间;在iPhone上,有个程序崩溃了,并不影响其他程序的使用。Facebook的开发者也在吐槽android系统太粗糙了。为什么会有这样的差异呢?这跟系统架构有关系。
android是基于Linux内核设计的,是在Linux内核上面运行一个Java虚拟机,虚拟机再运行软件。像是在一个系统上面又套了一个系统,相当于同时跑2个系统,我们的应用要穿越2层系统才能跟手机硬件交互。所以占内存大、运行速度略低。
版权声明:本文为博主http://www.zuiniusn.com 原创文章,未经博主允许不得转载。
【零基础学习iOS开发】【01-前言】03-前景和难易度分析
标签:c c# objective-c
原文地址:http://blog.csdn.net/u013141940/article/details/46872929