最近,Chromebook来了,Android头子鲁宾调走了,接管的人正是Chrome浏览器主管。Chromebook沉寂了有2、3年,上一次推出的ChromeOS是以Webkit为Shell,事实证明疗效不好。而这2、3年中,听到的更多的声音是ChromeOS会被放弃掉,更应该扶正Android一统所有。从我对chromium源码了解,谷歌的开发支持有增无减,其中最吸引我的是新的桌面UI技术,代号为Aura。经过这些时间的开发,新的桌面shell搭载到Chromebook推出,是否成功拭目以待。有趣的是惠普的WebOS很尴尬,但FireFox又吵吵着要干WebOS。至于LinusTorvalds说自己很喜欢Aura多少有点虚情假意,他或许更希望谷歌在PC端能大放异彩,顺带使他的Linux内核蓬荜生辉。
谷歌是一家了不得的公司,在智能机兴起的当头收购了Android。我不知道当时的Android是什么样子,也不知道那个遵从Java语言规范的Dalvik是谁出的馊主意。谷歌通过免费开放随便定制随便玩的策略快速的占领了自己的市场,网络了大批的应用开发者。话说回来,即便收购的是bndroid,cndroid,只要不出大意外,都会获得同样的成功。按照吴军博士的观点,这是一波不可抵挡的浪潮。
Android发展的风生水起,但并不是没有隐患。首先虚拟机技术使得整体性能偏低,其次Java的代码容易反编译,在强大的压力下谷歌开放的NDK,不过一直强调即便使用NDK性能也不会有太大的提升。我自己没有这方面的开发经验,所以不知道是否属实,但按照惯常逻辑Native的应该会快,这其中不知是真是假有何隐情或苦情等等。还有一个隐患就是2009的时候Oracle收购了Sun,有了Java的专利。这Oracle也正在走下坡路,随时都可能去找谷歌提款,而且不是块八毛的。
我大概是从10年底开始研究chromium的代码。曾几何时,我潜意识中把二者化上了等号,而原因竟是那一坨代码实在是太巨大了,俨然有操作系统的范儿。进程间的IPC通信、线程间的消息框架、对象间的通知服务、通过Job创建进程并做权限限制实现Sandbox、页面资源的管理检测、GPU硬加速等等,这些东西围绕起来不比Android的平台层少太多。实现系统过程中对技术的抽象,只需把接口选择性的暴露给应用开发者便是所谓的Platform SDK。而这个过程经历的相当长的一段时间,或者说没有积淀很难做好所谓的操作系统。从chromium的源码中可以看到很多Android的影子,尤其是view框架,控件的命名都差不多。
说了这么多,总的有点自己的态度。我认为Android出现的早,当时的机遇容不得错过,因此Android在恰当的时间完成了自己的任务。而Win、Mac都是以C++这种Native方式霸占着各自的领地,技术发展到彼此差不多的时候,性能的细节问题会暴露,加之Java专利的扰局,谷歌不得不留一手。而Android出于自保,对chrome是排斥的,这一点貌似从网上看到的八卦,但也合情合理。ChromeOS技术上的逐渐成熟,又是原属自己的开发,其角色和地位逐渐增强是可能的。揣测谷歌收购的摩托罗拉除了专利权之外,会不会搭载Native的OS走高端手机系统这条路?摩托罗拉恰好有一款高端手机也叫Aura,不过也许是巧合。
最后,我不是什么黑,也不是什么蜜。
附加一些其它观点:
我不认为HTML5技术中的那些新语义会有多吸引人,相反浏览器为HTML提供的那些外挂才是HTML5的核心,包括智能设备的SDK、地理信息服务、本地存储、多线程支持、2D/3D绘图、音视频相关等等,尽管如此还有很多伪标准何时变为标准、那些不是标准的何时变为伪标准都不得而知。程序员很奇特,一方面喜欢百花齐放,而另一边又迷恋自己手中的锤子。