深度剖析 Android 和 iPhone OS
2010-04-09 05:55:00 来源:WEB开发网平 台体系: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
更多精彩
赞助商链接