本文目录

  • 一、iOS开发的前景
  • 二、iOS开发的难易度

  这讲继续介绍iOS初学者比较感兴趣的问题:iOS开发的前景如何、iOS开发的难易度。要想分析iOS开发的前景,首先你要搞清楚是哪个牛X公司在维护着iOS系统、是谁在背后支撑着全球的iOS开发者,那就是大名鼎鼎的苹果公司。

一、iOS开发的前景

  2012年3月份,苹果公司的市值已经突破5000亿美元,成为世界上市值最大的公司。5000亿是神马概念呢?

  • 可以帮助陷入欧债危机的8个国家偿还债务
  • 可以买下35个天安门广场、34座卢浮宫、109座圆明园
  • 可以同时买下雅虎、戴尔、百思买、摩托罗拉、动视暴雪
  • 超过105个国家一年的GDP
  • 平铺在地上,能覆盖42%的美国领土
  • 每个苹果员工可以分到660万美元
  • ......

  这个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手机一样从别的网站下载软件后再安装到手机上呢?

  • 默认情况下,iPhone上的所有软件都必须从AppStore下载安装;不过,可以对你的iPhone进行破解,也就是传说中的“越狱”, “越狱”后的iPhone可以安装从其他地方下载的软件,就跟android手机安装软件类似了。不过“越狱”有一定的风险,如果不幸安装了恶意的软件,也许会将你手机中的一些隐私信息泄露出去。如果你是从AppStore下载软件,那就很安全了,因为苹果会对开发者上传的应用进行严格的审核,如果发现有不妥的地方,就不允许发布到AppStore。网上有一键“越狱”工具,支持iPhone\iPad\iPad mini\iPod touch。
  • “越狱”还有个好处,AppStore上本来要钱的软件可以免费安装了。比如一个植物大战僵尸在AppStore上卖45块,一些热心的大神呢,花45块买了软件后,对软件进行破解,重新打包成安装包,挂到网上供网友免费下载。
  • 如果你是开发人员,也可以利用Xcode将你写的程序运行到iPhone上,也相当于安装软件,不过得有开发者证书,后面我会介绍这个证书。

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> 硬件

  • 移动设备:iPhone\iPad\iPad mini\iPod,现在一部iPhone5在天朝的价格大概是5k
  • 电脑设备:MacBook(苹果笔记本)\iMac(苹果一体机)\Mac Mini(微型苹果主机),iMac的价格一般都是上万的

2> 软件

  用户如果花钱从AppStore下载了一个软件,这个钱就给苹果和开发者三七分。比如,我开发者了一款软件,以10块的价格挂在AppStore上,如果有用户花10块下载了一次,我就得7块,苹果得3块。

4.苹果也赚开发者的钱

1> iOS开发者

  只要你有了Xcode,就可以开发iOS程序,顺便可以将程序运行到模拟器进行调试,一切操作都是免费的。但是,如果你想把程序运行到真机(iPhone\iPad等)上调试,那就得有开发者证书,如果你想发布应用到AppStore,那就得有发布证书。要想得到证书,首先你得向苹果申请为iOS开发者(iOS Developer),而且并不免费。成为iOS开发者后,就可以从官网下载前面所说的2种证书了。iOS开发者可以分为4种类型:

(1) 个人型(individual)

  • 费用:每年99$。看清楚了,是每年,而且是美元。
  • 作用:证书只能是个人使用。可以发布应用到AppStore。
  • 提示:用户只能在AppStore下载你的软件。(“越狱”除外)

(2) 公司型(company)

  • 费用:每年99$。
  • 作用:证书可以多人使用。可以发布应用到AppStore。
  • 提示:用户只能在AppStore下载你的软件。(“越狱”除外)

(3) 企业型(enterprise)

  • 费用:每年299$。
  • 作用:证书可以多人使用。不可以发布应用到AppStore。
  • 提示:如果你开发的软件是企业内部使用,或者给特殊人群使用,并不想发布到AppStore给全球用户使用,就可以用这种账号。你把开发好的应用放到某个服务器下,然后把下载地址告诉用户,用户在自己的机器上使用Safari浏览器访问下载地址,然后就会自动下载安装。用户就不用从AppStore下载你的应用了。

(4) 大学型(university)

  • 费用:免费。
  • 作用:用于校园内部开发测试,需要学校向苹果公司申请,但审核非常严格。

  可以看出,苹果不仅是赚消费者的钱,还赚开发者的钱。而且开发者还要买苹果笔记本呢,这里又赚了一笔。

2> 应用发布的流程

  • 如果你要把应用发布到AppStore,不是马上就可以上线的,还要经过苹果公司的严格审核。审核的内容有很多,比如是否为恶意程序、是否包含黄色暴力的内容、是否有使用的价值(不可能随便写的小例子也能发布成功)、是否有明显的BUG(BUG就是指程序错误)、是否侵权等等。而且,有些特殊软件,苹果是不允许你开发的,比如输入法、短信软件、通讯录等,像这类应用,是不可能在AppStore上找到的。
  • 可以看出,苹果是很为用户着想的。你想象一下,如果苹果不严格审核应用的话,那AppStore将会有多少垃圾软件啊,最终受伤的是用户。
  • 如果你上传的应用审核不通过,苹果会详细列出不通过的原因。而且这个审核过程至少为1个星期,有时候还要半个月或者1个月。因此,你的应用从开发到正式上线,要耗很长时间。如果软件要发布新版本了,一样的,还是进行审核才能上线。
  • 如果你开发的应用不想给苹果审核,那么你就选择企业型开发者,虽然贵了200$,但还是有好处的:不用再等待那至少1个星期的审核了,可以随时发布新版本,用户也可以及时享受最新版本。

5.总结

  • 说了这么多,应该能感受到为什么苹果这么有钱了吧。当然,苹果肯定还有其他赚钱的途径。有这么牛X的公司在撑着,这几年内,iOS开发的前景还是不错的。再加上iOS开发的门槛比较高(昂贵的设备成本),对比andorid,iOS开发者少了很多平民开发者。而开发android程序是完全免费的,即使你是农民工,只要你会写代码,就可以开发android程序。相对来说,iOS人才还是比较少的。
  • 近几年,移动互联的发展非常迅速,各大公司也不断推出自己的移动终端产品,都想在移动互联领域占有一席之地,前阵子听说腾讯以6000万的价格收购了一款由6个人开发的手机刷机软件,一人分了1000万。目前来说,移动开发是个不错的方向。
  • 大部分iOS用户的消费能力都比较强,特别是在游戏方面,一大堆RMB玩家,砸几万RMB只为玩一个手机网游。前几天看到一款《我叫MT》的iOS网游向雅安捐款了100多W,公司承认大部分钱是来自RMB玩家的支持。

二、iOS开发的难易度

  以我个人和身边朋友的开发经历来说,对比android开发,iOS开发会更简单一点。做一个相同的功能,在android上可能需要9-10行代码实现,在iOS上可能只需要1-2行,而且实现地更加出色。这并不是夸张的说法,这是事实,但并不是所有的功能都这样。我并不是说android开发不好哈,只是有些功能开发起来相对复杂一点。为什么会有这样的差异呢?

1.强大的开发工具

  苹果公司提供了非常强大的开发利器---Xcode,集成了iOS模拟器、Interface Builder等工具。Interface Builder是用来构建软件界面的,利用Interface Builder,你可以轻松地拖拽一个按钮或者文字到软件界面上。比如下面的QQ登录界面:

  你可以轻松地将右边的按钮(Round Rect Button)、文本标签(Label)、文本输入框(Text Field)拖到左边的手机界面上,通过调整位置和文字,就形成了左边的界面效果。

  运行到模拟器上的效果:

2.强大的SDK

  苹果公司提供了非常强大的SDK,也就是开发包。用了这个开发包,有些功能,你只用几行代码就能实现非常出色的效果。

1> 比如iPhone的图标抖动效果

  长按软件图标后,iPhone桌面上的所有软件图标都会抖动,左上角也出现一个圆形的“X”,点击“X”,可以卸载这个软件

  这个抖动效果只需要4行代码就搞定了。

2> 有些软件为了给用户一些提示,图标右上角会出现红色的数字

  这个红色的59表示有59条未读的QQ信息。这个效果只需要1行代码。

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系统架构

iOS是基于UNIX的,直接与底层硬件通信。系统底层、应用框架、应用软件都是采用C\C++或者Objective-C写的,所以有很高的运行效率。

5.总结

我并不是说android开发没有前景,只是觉得android开发相对辛苦一点。如果你android技术很牛B、经验丰富,遇到再难的andorid问题,也是可以迎刃而解的。还有一点,iOS开发中也是有难点的,肯定也有苦逼的时候,也有加班的时候。

转载于:https://www.cnblogs.com/hackerlee/p/3996097.html

iOS开发 01-前言 03前景和难易度分析相关推荐

  1. 川大和西南交大计算机考研难易度,2020考研:百所211院校报考难易度分析

    2020的考生已经进入准备复习的状态,每年考研的时候很多的考生都在纠结,到底选择什么院校什么专业,那面对这么多战友们,我们该如何选择,才能仍自己脱颖而出呢.下面小编整理了全国211院校报考难易度分析, ...

  2. 【零基础学习iOS开发】【01-前言】03-前景和难易度分析

    本文目录 一.iOS开发的前景 二.iOS开发的难易度 这讲继续介绍iOS初学者比较感兴趣的问题:iOS开发的前景如何.iOS开发的难易度.要想分析iOS开发的前景,首先你要搞清楚是哪个牛X公司在维护 ...

  3. 计算机双证在职博士,获得双证在职博士的难易度分析!

    想要获得双证在职博士,在满足报考条件的同时,还需要参加各大高校博士生入学考试,只有通过初试和复试两个环节的学员才可以正式入校学习.入学考试一年一次,难度相信大家也知道,是有一定挑战性的. 双证博士报考 ...

  4. 七步确定一个优化项目的难易度

    不管是公司还是个人,不管是小项目还是大项目,在接活之前,都要先确定一下项目的优化难易度,项目能不能做,然后才能给客户报出合理的价格,不至于报高把客户吓跑,报低自己吃亏.都是一些接项目的技巧,下边萝卜就 ...

  5. 近三年浙大MBA/EMBA/IMBA/MPA/MEM提面录取占比,报考难易度窥测

          随着备考工作的逐步深入,时间也已经来到六月份.浙大MBA项目今年的提前批面试如今已经过去三批,而杭州第二场于昨日截止申请,从目前的情况来看今年的整体节奏与去年基本一致:而在6-7月份,浙大 ...

  6. 2023陕西省大学录取难易度排名:55所高校上榜,西交大位列第一,空军军医大学大幅下降...

    陕西是我国的资源大省,其人文.历史.科教.素质.受教育程度等在全国是前几名的存在,目前教育水平发展得十分出色.为了给全国各地想要报考陕西省大学的考生提供更具参考价值的排名,本期易度排名将公布*&quo ...

  7. 0基础学java有多难?自学Java和参加培训学Java的难易度对比分析!

    在一些知识问答平台上,我看到有很多在问"0基础学java有多难",如果你想0基础自学Java那可能会比较困难,但是如果选择报培训班进行学习,即便是0基础,学Java其实也并不难.所 ...

  8. python方向难度排名_世界上学习语言难易度排行是怎样的?

    本回答仅为对英语母语者的难度,仅供参考. 美国国务院外交学院曾经把世界各种语言按对于英语母语者(注意是英语母语者!)的难度分为五个等级. 第一个等级,最简单的等级,英语母语者可以用23周左右的时间熟练 ...

  9. go和python的难易度_go语言和python哪个难

    Python和Go都是用于编写Web应用程序的强大的高级编程语言,它们之间有什么区别吗?下面本篇文章就来带大家认识一下Python和Go语言,介绍一下Python和Go之间的区别,希望对大家有所帮助. ...

最新文章

  1. linu逻辑分区动态调整大小
  2. Unity中使用射线查询MeshCollider背面的方法
  3. 关于代理服务器藏IP的一些问题(高手免看)
  4. cve-2017–10271 XMLDecoder 反序列化漏洞 原理分析
  5. java 动态切换_java-动态切换日志级别的3种方案
  6. 桌面怎么设置 计算机 网络,Win10 10130桌面电脑网络图标怎么设置?
  7. python计算执行时间的函数_[python] 统计函数运行时间
  8. 2021年宁夏省高考成绩查询入口,2021年宁夏高考成绩查询通知【附官网查询入口】...
  9. python实现get请求 模块_python爬虫 基于requests模块发起ajax的get请求实现解析
  10. 按月分表(create table)
  11. 从零开始Unity引擎学习
  12. java jdom_java中JDOM的基本使用方法
  13. HTML CSS设计与构建网站 ([美]达科特) PDF原版​
  14. 计算机无法进入bios模式,电脑系统无法进入bios界面解决方法
  15. 论开学第三个月干了点啥
  16. 计算机发展史26-30
  17. TOMCAT6.0配置(虚拟目录的设置+多域名绑定)
  18. 【html画板】网页画板绘画效果
  19. 系统攻击技术之木马(课程笔记)
  20. xbee模块和单片机_美国DIGI公司的XBee模块无线通讯实验

热门文章

  1. 计算机在化学中的应用心得体会,我对分析化学的认识和感悟
  2. C语言程序用英尺换算公式计算身高的小例子
  3. 如何利用chrome插件tampermonkey突破百度云盘下载限制
  4. 月薪3w的程序员养成计划
  5. 反卷积 算法 c语言,多次曝光图像的PSF反卷积以及欠采样图像的反混叠技术I:PSFdeLRSA的制作方法...
  6. 2015年计算机网考统考,2015年3次统考计划
  7. 日本 NTT Data 逾30亿美元收购戴尔 IT 服务部门
  8. 基于PCI9054和LTC4240的CPCI总线接口设计
  9. WinCE下GPRS自动拨号软件(GPRS AutoDial)
  10. 老板是个黑心狼 3 蠢-- 骂 老板 9 第一季大结局