Android分裂Java阵营 微软.NET平台受益
坦率的说,正如Android现在的定义所指出的,它是一个Java ME平台的分支。Android与Java ME非常相似,但是它是一个非一致性的实现。它既与Java ME不兼容,也与Java SE不兼容。事实上,它不是一个真正的Java实现。尽管它使用了Java编程语言,但是它的核心应用程序编程接口(API)和虚拟机是与Java ME或SE平台不兼容的,它是一个分支。这一点已经被Apache实验室的开发人员Stefano Mazzocchi在其博客中指出。
那么Android对Java的这种分支作用和微软有什么关系?实际上它间接的减轻了Java平台对微软的压力,对微软来说是一个好消息,理由如下。
首先,从市场的观点来说,Java平台最强大的地方在于其标准化和多厂商支持(例如IBM、甲骨文、SAP等等)的特点。相比之下,微软的.NET平台则通常被描述成一个专有平台,将厂商锁定在微软平台之上。这也是Java支持者十几年以来用于宣传Java的口号。
但是,现在随着Android平台的引入,围绕在Java平台周围的这种团结性将面临挑战。对此,Sun也已经表达了它的担忧:Google的Android项目会造成数种互不兼容的Java版本。如果现在的Android平台取得成功的话,对于Java的兼容性实现是一个挑战。
微软提供了它自己的一个优秀的移动平台——Windows Mobile和微软的.NET精简框架。的确,它是一个专有性平台,但是正因如此它也有自己的优点:具有很好的兼容性;而且对于开发富移动应用程序(RMA)来说是一个非常强大的平台。相比之下,Java ME是一个具有非常丰富功能的标准,而且也被很多厂商所支持,但是它在跨移动设备上的非兼容实现使得开发“一次编写,随处运行”的应用程序变得非常困难。如果Android移动平台成功的话,那么在移动设备上的Java对市场的掌控力将减弱。Android可能会成功,但是Java ME却会影响力变弱。如果我在WindowsMobile和.NETCF框架销售部门的话,我也会对Android的发布表示欢迎。这对微软的移动开发平台来说是一件好事情。