Android:Google的阳谋和Apache Harmony

Gphone终于尘埃落定,机器人(Android)携34个厂商,和Google 1000w$的重赏问世,世人无不为其的盛大登场而侧目。好奇如我者不禁要问,Android究竟带来了什么?它对业界有何影响?看了国内几篇不痛不痒,或者不知所云的报道后,忍不住多嘴多说几句了。

让我们从实际出发。Android的构架可以说是一个open source的大杂烩,Google善用开源的优良传统得到了发扬光大。看看Google自己的构架图吧

最底层的是一个Linux Kernel,加载了几个移动设备必要的系统驱动(这么说来Android基础系统是要以GPL发布了?不知道34家厂商的硬件开发商们是怎么样想的);上面是类库和Runtime,绿色的类库部分可以看到大名鼎鼎的SQLite,这个软件甚至声称自己属于公共领域(比MIT License还要强 @@),字体FreeType是BSD-style License的,图形库OpenGL ES只需通过产品测试,无偿使用于产品。再向上看是应用层的东西了,这里可以做的事情就非常多了,各个社区,各个厂家都可以参与进来。难怪Android的sdk可以Apache License发布了,对企业和开发人员友好啊。

那么Google自己的东西在哪里呢?没错,就是右边那个runtime,最吸引技术人员的就是这个runtime(注意,这个才是Android的核心)。Google为它准备了一个虚拟机,叫做Dalvik。这个让人摸不着头脑的东西的到底是什么?从开发平台上我们清清楚楚地得到了答案:Java

Sun公司刚刚做了两件看上去很傻的事情,一个是为了TCK和Apache社区闹翻了,它只愿意给另一个完整的open source JDK(好吧,没有授权,不能叫JDK——仅仅是不能叫罢了) ,Apache Harmony一个受限制的TCK,保证它在PC平台之外不被许可(言外之意,就是拒绝他人进入广阔前景的J2ME);一个是把自己在NASDAQ的股票代码改成了JAVA。这两个让人啼笑皆非的事情清楚地摆明了Sun公司的态度,Java,尤其是J2ME是他的禁脔,Sun依靠各种专利,JCP,依然牢牢地控制了Java。Sun之复兴,似乎也依赖于此了。

Google不声不响地做了一个Android,它什么也不说。然而,正是这一个看上去傻乎乎的机器人,开始了Java又一条道路。Dalvik从来没有声称自己是jvm,但它的确可以运行编译过的java程序(当然,编译的结果也不是.class了,但是这个一点也不重要)。那么Core Libs呢?偷偷看一眼就知道了,Apache Harmony!

Google不需要借Java本身来宣传自己,不知道java的人却能知道Google。对于开发人员来说,知道java语法可以用于Android也就够了。现在的问题已经非常简单了,Google如此巧妙地绕过了Sun的壁垒,和Java社区接上了头(老乡,我们来了!^^)。

不知道渐渐落后于时代又手抓Java不放的Sun的高管们看到这个构架有何想法,也许真正懂技术的人才能知道其中厉害。即使有想法,他们似乎也只好张嘴瞪眼,说几句“这会使java标准支离破碎”之类的陈词滥调。却无视J2ME的出现,早就意味着开发者需要面对的是支离破碎的java了。难怪Harmony的vender之一,Stefano老大在他的blog上大声叫好,“their (google’s) move was even smarter than Sun's.”

这个消息对Apache和Apache Harmony来说,的确也是一个可以偷着乐的消息。虽然Google自己没有宣称使用了Apache Harmony的代码(这个感觉有点像google中国的作风,而不是google;也许是为了避免Sun公司的反弹和血泪控诉?)。Apache Harmony在争论中前行,它所付出的代价已经有了回报(当然,其实还有很多其他的重要意义和回报)。现在,在Apache Harmony大旗的后面,我们可以隐隐约约地看到业界巨无霸们的身影,和Sun的如歌如泣。

Google Android所要面对的挑战依然是巨大的,智能手机市场上,Nokia Symbian,Windows Mobile,iphone,plam,除了plam日薄西山,前三个正如日中天,好在Android不像Nokia和Apple一样,硬件软件通吃,也不需要像M$一样,依靠windows mobile的版权收钱。Google Android最强大的地方,就是它是免费的,而且更重要的地方,是开放的。这个就是为什么一上来就有34个合作伙伴支持。Google的方式已经完全不是一个老的IT企业的风格,软件硬件都不是它的目标,这样一来,其气势之大,可想而知。

Android的未来我们拭目以待。如果它能够成功,java,Apache Harmony,尤不可限量。最可怕的是,移动设备和普通电脑的能力正在慢慢接近,如果Android成功了,下一个,轮到的是什么呢?

M$露出了苦笑。

================== 

真是篇好文章。。。

author:purefire;

refer to:http://purefire.bokee.com/6534051.html

你可能感兴趣的:(google,android,apache,java,sun,j2me,android)