深入谷歌 Android 和苹果 iPhone OS:核心平台
原文链接;作者 Prince Mclean
搭载谷歌 Android 操作系统的智能手机正在发起一轮新的攻势,最终达成让人们真正值得期待的产品。本系列文章从智能手机软件平台的角度分析 Android 与 iPhone ,这是首篇。
Android 并未与 iPhone 正面冲击,它是一个灵活的平台,不同的企业可以进行范围丰富的定制,而不像 iPhone 那样:由单一公司管理的特定产品。
然而,随着其余智能手机系统的尽数溃败(包括老旧的 Palm OS,Linux 系 OpenMoko 和 GreenPhone,Windows Mobile,甚至是领先的 Symbian),Android 已经成为 iPhone 最大的假想敌,硬件商们亦希望借此与苹果抗衡。HTC、摩托罗拉和索爱推出的新机正剑指 iPhone,只是途径各有不同。
将特定的 Android 机型与 iPhone 进行比较是困难的,因为 Android 只是整个系统的一部分。某些机型也许与运营商独立绑定,有不同的收费标准,覆盖范围,运营商限制或是与 Android 并不相关的技术限制。同样,不同的手机制造商也有诸多方面的问题,例如设计、质量、售后、功能或价格,这些问题多少会影响到用户体验,但同样与 Android 无关。
基于这样的原因,本系列文章仅在软件平台层面上将 Android 与 iPhone 进行对比,讨论它的优劣之处,而不是就具体型号的设备展开。这些问题适用于市售的所有 Android 手机,也适用于还处于开发的产品。除此之外,当消费者真正考虑选购一款手机的时候,在软件平台之外,还有许多值得权衡之处。
然而,软件平台是如此深刻的影响到易用性、扩展能力、第三方软件以及后续支持,因此分析二者的区别便可以就 Android 用户与 iPhone 用户在电话寿命周期中所能拥有的操作体验上得到许多启迪。这类似于 Windows 与 Mac OS X 之间的对比,而不是比较特定的 Windows PC 与麦金塔的功能。
Android vs. iPhone: 表面之下
Android 和 iPhone 的软件平台不仅是一个核心操作系统。事实上对用户而言,操作系统间的差异是影响最小的那部分。二者都基于 Unix 内核,少有用户能深入到那里。Android 使用 Linux 内核,iPhone 使用同麦金塔相同的 Mach/BSD Unix 内核。
关键是这并不重要,原因是二者都没有真正提供访问内核层的方法(无论是对用户还是开发者),而且二者的设计目的也不是运行为 Linux PC 与麦金塔打造的桌面应用程序。它们是好技术的范例,在核心操作系统之上,满足了智能手机系统的需要。
与用户有关的层次远高于系统内核,这里是程序运行,安全保障与智能手机背后的商业模型影响用户行为之所在。
平台体系:Android
不同于诺基亚 N900 运行 Maemo Linux 这样的桌面 Linux PC 软件(构建于 X11 / X Windows System 以及窗口管理器如 KDE 和 GNOME),Android 提供了一个修改过的 Java 虚拟机,在许多方面类似于黑莓操作系统以及可以运行 Java ME 的 Symbian 机。谷歌修改了 Android 的 Java 字节码解释器(Dalvik)以逃避向 Sun 购买官方 JVM 的支付费用。这使得谷歌能够免费提供 Android,Sun 也无法干涉。这也有效的使 Android 成为一个 Java 平台,而不是 Linux 平台。
现有的 Jave ME 软件很容易就能移植到 Android,这是一个优势,原因不仅是使得熟悉 Java 编程的开发者更容易移植第三方 Android 软件,也迫使开发者做些许改动将程序进行移植而不是原封不动的使用旧有 Java ME 程序。Java ME 程序大多简单低质,兼容性也不好。Java ME 与 Flash Lite 分庭抗礼,二者虽然被手机制造商广泛采用,但 Flash Lite 也如同 Java ME,没有许多高质量的软件。
Sun 的移动 Java 平台号称「一次写就,随处运行」,但实际表现却差强人意。黑莓与 Symbian 用户希望的是针对系统优化过的程序,而不是能够在任何型号上运行的通用程序。
Java ME「随处运行」的前提是难以达成的,原因是不同的电话(即使是来自同一个厂家)部署 Java 虚拟机的方式各有不同,结果是每一款软件都要针对新机型进行测试和优化。这便是为何 Sun 的 Java ME 平台尽管号称「寰宇最强之移动软件平台」,但终究没有获得成功的原因。
谷歌有意的弃置与 Java ME 的兼容性,转而将 Delvik 推举为新的开发平台,使之充分发挥开发者的经验,这样一来也阻止了 Android 程序在黑莓与 Symbian 手机上运行。Android 对 Java 技术单一化、标准化的部署会做到广泛授权的 Java ME 从未完成的事:建立一个真正的软件市场。
曾有发生
Android 的目标同 70 年代晚期的桌面电脑界的情况有些相似。当时许多厂家使用 CP/M 来编写程序以便在多种型号的电脑上运行。微软发布了在 CP/M 基础上修改过的 MS-DOS ,与 IBM 合力推广,接着通过售卖标准化与专营化的版本而大获成功,并成为一个松散的开放标准(开放的含义并不是开源或是开放说明,而是指被多家公司广泛采用。)
其他公司开始模仿 MS-DOS,新的 DOS PC 市场始见雏形,也使得硬件商能够捆绑任何版本的 DOS,用户们便能在机子上运行任意的 DOS 软件。然而,微软接下来介入其中,最终通过 Windows 95 消灭了所有 MS-DOS 的竞争者,将 PC 软件平台牢牢的控制在手下。
与此不同的是,谷歌表示允许制造商随意使用 Android。手机厂商,甚至是运行商都可以在 Dalvik 字节码解释器的基础上定制自己的版本。这很像80 年代后期 DOS 界群雄混战的状态,与 Windows 世界过往 15 年的历程显然不同。
这是很重要的差异,缘由是专家们常将 Android 与 Windows 互相比较。尽管谷歌在运作新平台与借此盈利方面与微软有着许多的不同。
平台体系:iPhone
苹果的做法则完全不同,不在 Java ME 上作文章,而是将 iPhone 运行在缩减后的 Mac OS X Cocoa 开发环境下。依靠 Mac 开发者而不是 Java ME 程序员。
虽然仍可以把 Java 代码移植到 iPhone 上,但由于苹果只支持 Objective-C/C 所以需要更多的转换工作。苹果无意使 Mac 应用简单的转换到 iPhone 上,由于 iPhone 与 Mac 开发环境的相似,也能将开发者的目光更多的转移到 Mac 之上。iPhone 的销量目前已是 Mac 的两倍,品牌认知度也比 Mac 更高。
开发环境双方未分高下,开发工具也类似,只是 Android 对开源与 Java 开发者来说更为熟悉,而苹果的则同自家的桌面开发工具非常相似。苹果在此略有优势,因为早于 Android 发布一年半之前就开始部署,而且 Mac OS X 十年来也一直在改进,而谷歌适才进入平台开发市场。
然而 Android 团队与谷歌协力工作的时间同苹果开发 iPhone 类似,大概都是从 2005 年开始。在收购之前,Android 项目自 2003 年开始,并大量使用始于 2000 年 Danger 之上的操作系统技术,同 Mac OS X 的开发时间类似。因此在许多方面,Android 同 iPhone 是同时代的,而 Symbian 、黑莓 OS 和 Windows Mobile 的核心系统都起源于 90 年代中期,目的仅是作为单纯的 PDA 或传呼机操作系统。
Android vs iPhone:商业模型
除了技术方面的区别,Android 与 iPhone 在许多方面也有显著的差异,而且这些方面能够更直接的影响到用户体验。用次等技术制造出好产品,或用最好的技术制造出糟糕的产品都是可能的。除了独有的技术之外,以下几方面也会影响到用户体验:
- 由平台商业模型决定的用户自由度。
- 通过软件升级增加功能、提高性能的潜质。
- 默认软件的易用性,以及第三方软件的质量。
接下来的章节将讨论 iPhone 与 Android 在这些方面的差异。
13 Comments
发表评论
分类
- 苹果目前已知的 JavaScript 框架
( 2009.12.22 ) - 更多有关 PastryKit 的信息
( 2009.12.21 ) - PastryKit
( 2009.12.20 ) - 10 款为 IT 专家打造的 iPhone 程序(上)
( 2009.12.16 ) - iTunes 商店 2009 年最佳与热销榜单
( 2009.12. 9 )
- 宫本茂:「创造梦幻岛」
( 2009.12. 9 ) - 菲尔·席勒的 iPhone 里有什么?
( 2009.12. 7 ) - 专访肯·西格尔
( 2009.11.10 ) - 何妨多能
( 2009.11. 9 ) - Web 虽胜,Gopher 犹存
( 2009.11. 7 )
- 《纽约时报》认为 AT&T 为 iPhone 的缺陷背了黑锅
( 2009.12.14 ) - Chrome OS 会议实录
( 2009.11.20 ) - 苹果 09 财年第四财季业绩报告【要点问题】
( 2009.10.21 ) - 【杂谈】德州仪器 TI-83+ 的破解
( 2009.10.15 ) - 苹果和未来出版业(一)
( 2009.10.12 )
- 杂志封面上的乔布斯
( 2009.11.14 ) - 乔布斯的黎明
( 2009.11. 8 ) - 乔布斯,在他们眼中··· ···
( 2009.11. 7 ) - 乔布斯的一些罕见照片
( 2009.11. 6 ) - 象乔布斯那样去演说
( 2009.10.13 )
- 「锁喉行动」:明日,假乔布斯决战AT&T
( 2009.12.17 ) - Smule 再次融得 800 万美元
( 2009.12.17 ) - 边境守卫枪击 MacBook
( 2009.12.17 ) - 苹果式报应:Psystar 永世不得销售黑金塔
( 2009.12.16 ) - iPhone 笔记本──关于苹果平板电脑的一个极具想象力且相当靠谱的猜测
( 2009.12.16 )
- iPhone 笔记本──关于苹果平板电脑的一个极具想象力且相当靠谱的猜测
( 2009.12.16 ) - iPhone 本季度销量达到 1000 万台?
( 2009.12.15 ) - App Store 是苹果最大的公关危机吗?
( 2009.12.14 ) - 首款苹果平板……来自 1979
( 2009.12.12 ) - Phone-O-Scope:将单反镜头接入 iPhone
( 2009.12. 5 )
- ㊣ 原版 Snow Leopard 免费赠送计划!【活动已结束】
( 2009.08.26 )
- 打败 iPhone 要做好的 3 件事
( 2009.11.11 ) - 雪豹新特性之──自动化 & 服务
( 2009.10.11 ) - 如何避免社交灾难: Facebook 篇
( 2009.07.31 ) - 如何避免社交灾难: Twitter 篇
( 2009.07.31 ) - 如何使用 iPhone OS 3.0 的 40 个最佳功能(下)
( 2009.06.18 )







接下来的章节呢?!
这文超好!
说iPhone不能访问底层的观点,只能证明作者没有开发过iPhone,只是在YY.
说开发环境不分高下,估计是脑子被门夹了.
作者关于J2ME和Delvik比较的行文来看,似乎没啥区别.但是结论是Delvik能建立一个软件市场,比较诡异...
@proper
给我们写一篇吧,谈谈开发环境高下的问题。顺便也可驳斥一下 Delvid 能建立一个软件市场的说法。来吧,发邮件给 talk@apple4.us 吧!:)
不是很懂,
我觉得在翻译的时候,可以略微改动,使之更浅显和通俗化就更好了。
它是一个灵活的平台,不同的企业可以进行范围丰富的定制 —— 谢谢,我们已经有Linux了。觉得Linux定制太难的企业同样认为Android没有iPhone开发那么贴心。其它的企业则觉得Android太不灵活。
2楼,其实他的结论不算诡异,他的推理源自于:他认为java的理念是一次编写,到处运行是行不通,还是需要一个平台,就像dos,平台大家通用起来后,用开放的标准吸引开发人员的加入。
android就在于首先搭建这样的一个平台,确保java在这个平台自身的支持做到最好,由此再来推广java。
但问题还在于android平台如何赢得这场竞赛。。。。。
android至少由google在主导,厂商的作用(正向或反向)不及java me上的jcp专家组里的厂商的作用大,更类似于windows phone。
这篇文章不错
apple4开始冬眠了?下文还没出啊。。。。最近新文章好少
靠,2天没更新了,人们都忙什么呢
好难懂哦~
其实,苹果的所有产品 都遵循 一条龙的 服务策略,整合。