关于iPhone平台开发那些事
关于iPhone平台开发那些事是本文要介绍的内容,从多个平台进行比较分析,不多说,我们先来看内容。
1、iPhone和Android哪个个平台更有前途
我更看好iPhone平台(包括iPhone,iPod Touch,广义也包括iPad),原因是我认为在移动平台未来取得成功最重要的是开 放和标准。iPhone在硬件上面完全封闭,发行渠道上也很封闭,那么我为什么还看好它呢?
iPhone 在硬件层面的封闭保证了产品的系列化,标准化,这是第三方开发者最应该珍视的。回想历史,摩托罗拉手机在中国的总销量可能是 iPhone的百倍,但是虽然有这么多的用户,但是没有产生任何真正广泛流行的应用。那么是摩托罗拉没有智能手机平台么?不是,摩托罗拉是市面上几乎所有流行智能手机平台的大玩家。
J2ME刚刚出现的时候,我下载的开发包,里面的模拟器就是基于各种款式的摩托罗拉手机的,当时摩托罗拉几十款流行手机同时都支持了J2ME。Nokia做Symbian的时候,摩托罗拉也是第一批合作厂商。Linux/Android/WinCE等平台也从来没有少过摩托罗拉的身影(最近好几款大火的Android平台手机就是摩托罗拉出品的)。
在 iPhone横空出世之前,只有Nokia在Symbian上坚守S60、S40等的多产品系列的,标准化系列化的产品设计。回报就是在移动百宝箱的Java区,游戏、应用几乎都是for Nokia的。这就是市场和统一市场的区别,iPhone的用户数量,短期内决无可能超过摩托罗拉的用户数量,但是iPhone用户数量早已超过摩托罗拉任何一款手机(或者一个相关系列手机)的用户数量了,这是产生流行应用的必要土壤。
所以,因为产品的系列化,标准化,Nokia曾经有过自己在智能手机领域的辉煌。但是整个手机行业太固步自封了,Nokia太固步自封了。自从 7650以来,我已经用了很多款Nokia的S60手机了,虽然性能越来越好,外观越来越酷,但是近10年了,真正的大改进并不多,开发仍旧困难,操作仍然笨拙。话说那天,我在地铁上看到一个美女用手写笔去拉动手机右边的滚动栏,恨不得大喊一声,“你改悔吧,别浪费生命了,买个iPhone吧!”。这其实就是iPhone出现前,手机行业固步自封的最明显表现。
我尤其珍视的是软件层面的开放,对第三方开发者的开发。这点可能也有人不同意,他们认为iPhone平台软件层面也很不开放,比如不能后台运行第三方程序,不能自行发行,不能开发第三方输入法等等。但是,这些种种的局限,有些我相信可能是阶段性的,有些是为了让发行渠道的利润更高。总体来说,我认为如果你要开发的应用在iPhone平台的种种限制下,能够做出来,那么iPhone平台就是对你来说,就是目前最好的移动平台,也是最开放的移动平台。开放是一个多层面的问题,不是说开源就一定最开放,iPhone平台目前丰富的应用,丰富的文档,方便的开发环境,这也是平台开放性的重要组成部分。
同时,iPhone平台的渠道优势也是完全不能忽视的。最近最火的一个相关新闻是,植物大战僵尸 iPhone版本9天赚了100万美元,这款游戏的PC版本,在中国都早已经是白领中很流行的东西了。这家公司在这款游戏应该也早就挣到了很多钱,但是短短9天的销售获得100万美元,我想他们在很多平台都很难达到。这就是苹果公司精心打造的一键付费,方便的软件发行系统的功劳(甚至是他们很多令人不爽的苛刻规则的功劳)。
之前,我对中国到底有多少台iPhone一直犯嘀咕,这两天,我问了一个在国内很火的应用的公司里的朋友,他告诉我的数字是他们公司的app目前有 100万左右的免费用户,有5%左右的付费用户。这样我就得到了一个很好的参考值,那么我可以斩钉截铁的说,中国的iPhone数量应该是100万以上。
据说豆瓣刚刚上线的电台iPhone应用的流量,已经占到了豆瓣电台总流量的一个相当比例了,而相应的Android版本目前还比较沉寂。我有个朋友做了一个很火的信息网站,年前他们做了一个web的iPhone优化版。于是我就毛遂自荐想帮他们做个官方的app,结果拿了api我还没动手。朋友告诉我已经出现了一个非官方的app,而且现在iPhone优化的web版和这个第三方app,目前已经达到他们总访问量的1/4了。
2、那么我是完全不看好Android平台么?当然也不是。
有人把现在Google领导的Android平台和Apple领导的iPhone平台的竞争比作当年PC机和Mac机的大战,不得不说,我也很喜欢这个比喻,确实有太多太多相似的地方了。在硬件方面,iPhone和当年的Mac机一样,是封闭的,没有兼容机,没有第三方硬件厂商。从软件上来看,iPhone平台是不开源的,Android平台是开源的。
那么如果以唯开放论的观点去看未来,Apple应该毫无机会,Google必胜。但,我不这么看。首先我们回顾一下历史,PC平台硬件确实是开放的,但是软件从来不是完全开放的,Cpu也从来不是完全的胜利的缔造者IBM根本不是受益者,掌握了两个标准在手的微软和Intel才是胜利者。而今天我们仔细想来,这个开放平台开放的恰到好处,正式因为这两个关键标准的不完全开放,才保证了这个平台虽然很开放,但是一直都是一个标准化的产品。你在Dell的PC 写的程序,可以运行在HP、IBM、甚至联想的PC,是这个高度标准化保证的。
所以,太多成功学的教材,只顾大谈开放,而不去提标准;或者只提标准而不提开放。我认为都是不对的,事实上在现在,一个系统要获得成功,我认为关键 是要把握开放和标准之间的平衡,不能因为开放,而忽视了标准,反之亦然。
如今Android的战略中的每一点,我都很喜欢,但是它在标准化和发行渠道上,跟iPhone确实有巨大的差距。标准化和兼容性方面,最近有个很 明显的例子,一款叫做Leech Killer的Android软件的作者@an0最 近被 Android手机间的不兼容性折磨得最终决定放弃这款软件的开发。他的写到:
我很伤心的宣布:Leech Killer 已死,有事烧纸。
是太多互不兼容的 Android 手机杀死了它。在如此混乱的世界中,涉及电话功能的工具软件已经无法由一个人维护。Leech Killer 在许多新款手机上无法正常工作,用户很生气,后果很严重。有人甚至说,它就是一坨:( 我很抱歉,朋友们,我真的已经努力了,但是我连你们的手机长啥样都不清楚 ─ 我不可能所有款式的手机都买一个。
安息吧,我的孩子,我会想念你的,你的那些老机器人朋友们也会的。
我一向认为这么多国际大牌厂商参与的,已经有10年左右的智能手机革命,十年不成的原因正是因为缺乏足够好的标准,所以客户端兼容性差。而现在 Android这个单一平台,其本身的不兼容性问题已经开始成为了一个严峻的问题。开发一般应用,也许还好,凡是涉及到硬件的,酷的程序,以及游戏,一般来说都对兼容性有比较高的要求。
比如一个应用他需要一个快捷键,而某款手机缺少了一个键造成这个快键无法按下,等等。比如一个应用需要GPS+重力加速度传感器,但是有些手机只有 GPS,而没有重力加速度传感器。更可能的就是一款游戏,你在某个分辨率下把有些做到精益求精以后,突然发现Android平台的新宠分辨率居然跟你的游戏不匹配,又要做无数的调整。相信这10年来,混迹于移动平台的第三方开发者都深有体会。
跟兼容性问题一样严重的就是,Android的市场并没有app store这么强的渠道能力,这也是目前不可忽视的问题。
从长远来看,我对这个世界的看法是越来越多元,同时因为多元也越来越美好。我认为iPhone平台和Android平台未来很有可能在很大的程度上分庭抗礼,有各自的核心价值,有各自不同的第三方开发者生态链。这不是PC机和Mac大战的结果,因为那个时代,整个世界也不足够多元(当然还有很多细节,今天就不分析这个老深坑了)。
但是Android如果想达到这样的局面,要在兼容性/标准化方面做出巨大的努力。还需要对发行渠道也就是他们的app市场上做出巨大的努力。
就目前为止,我想提出的建议是立足iPhone平台为主做开发,可以适当的付出一定的精力在Android平台,或者只是先观望Android而已。我乐见未来的世界,既是开放的,又是多元的。只有一种选择的用户是最可怜的用户。PC机这个号称最开放的平台,后来不也变成了让用户只能选择 Windows的,OS层面不足够开放的平台么?索性我们有 Linux和Mac,大家才有了更多的选择,也才带动了Windows做出很多改进。