新的平台之战——谷歌Gears挑起的?

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




image

      2007年的5月谷歌(Google)发布了Gears。历经一年,Gears作为一个帮助离线使用Web应用的系统,还是被人们看做一个微不足道的,只是少数用户和开发者使用的东西。当时的论调就是,谁会需要这个东西?网络连接无处不早,离线接入没用,没有多少应用会支持这个特性的。一年过去了,谷歌没有闲着,他们一直在努力改进Gears的性能。几周前,谷歌打出了一张王牌——MySpace即时通信支持Gears,而且速度大幅度提高了!

      未来的浏览器是什么?现在看来,很可能是发展成虚拟机的形式,能支持各种各样的应用。在这种情况下,操作系统会变得透明,看来微软需要保护一些东西(比如它的垄断地位和利润),而Adobe可能也需要行动——因为Adobe目前提供Web上最常见和稳定的虚拟机,Flash。谷歌从不讳言其目的是挑战微软的霸权,他们也清楚的知道最彻底的办法就是让操作系统变得不那么重要,把关键部分往“上”移动一层到浏览器,把浏览器变成标准而强大的虚拟机。

      我们很难描述Gears如何改变和加速Web应用。这么说吧,以前MySpace的功能例如列表和排列邮件、查询某些朋友都是通过基于浏览器的Javascript实现的,用户的感觉是“非常慢”,沙漏和进度条进度条往往变化得让人心焦,特别是当你象服务器发起多个请求的时候。安装Gears后呢?(安装本身只需要点击一个确定框,等几秒钟就好),以前那些可以把用户逼疯的操作现在感觉就像是浏览器的一部分了。谷歌通过MySpace上Gears的成功试验实际上给每个用户都传达了明白无误的信息:这不是什么离线浏览的问题,这是谷歌向Adobe和微软发起的进攻。

      谷歌目前已经拥有了28种不同的基于web的应用,包括gmail,maps,picasa等大名鼎鼎的成员,每个应用都被全球数以百万计的用户使用。谷歌一直自豪的声称,他们的web应用都是用最标准的技术开发的——标准的HTML,CSS和Javascript。谷歌推广Ajax也许是因为它是最好的解决方案,但是笔者看来更大的可能是因为其他所有的web开发技术都被其直接对手控制和开发(不用说,当然是微软,还可能有Adobe)。谷歌大力支持开源的Firefox火狐浏览器,并大力支持火狐选用开放的web标准作为技术选择——原因和很简单,谷歌不仅仅是为了名声好而这么做,而是因为其应用程序依赖于火狐。相信很多用户都感觉出来了,在火狐上跑这些更流畅。如果火狐混得不好,微软IE有可能咸鱼翻身,象当年对付Netscape一样重新取得web控制权,到那个时候,谷歌头疼就来不及了。所以,谷歌当然要把火狐绑在自己的战车上。

      到目前为止,仅靠基于浏览器的Javascript来支持web应用对谷歌而言还不是问题。到何时为止会是个问题呢?就是其竞争对手推出下一代Web平台的时候,具体而言就是Flex/AIR和Silverlight,分别是Adobe和微软的产品。(有关Flex/Silverlight/Ajax的背景,请参考弯曲评论的报道RIA的三架马车)。微软和Adobe在web应用的功能上前进了一大步,现在他们的Web平台产品已经具有桌面应用的界面和功能了。很快,各种各样的小公司就会蜂拥而至,用Flex或者Sliverlight开发他们的应用——这些新的花哨应用会让谷歌的应用显得在90年代的基础上停滞不前。

      谷歌面临的选择很简单:放弃基于浏览器的Javascript和标准而采用对手的一种技术,或者继续发展手里的核心web技术直到这些技术能和竞争对手的技术并驾齐驱。谷歌的麻烦在于,尽管有新的Web标准和浏览器特性来支持RIA技术(RIA,Rich Internet Application,是指Web桌面应用丰富交互特点的互联网应用),开发这些标准的进度是一如既往的蜗牛慢,可能还需要好几年来推广。比如,新的HTML标准,HTML5,目标就是在浏览器本身中扩展web应用而不需要引入新的插件的runtime库(比如activex和flash等等)。这些功能和扩展显然将是谷歌新的web API的基础。

      缓慢的标准开发显然阻碍了web应用向更快、更好、免费和开放的方向的发展速度。因此谷歌决定通过Google Gears来单独开发这个市场。想法很简单:把未来web应用技术特性引入今天的浏览器。这些新的特性基本来自于HTML5的久经讨论的标准。谷歌等不及HTML5发布了(这帮标准组织的官僚速度恐怕没有多少企业能容忍,特别是互联网这个快节奏产业里),决定把这些特性尽可能的实现,做成浏览器的插件。说来有趣,谷歌这样做是在短期上放弃其“遵循标准”的原则,目的是为了让自己的web应用尽早做到rich,以便能和Flash或者Silverlight站到一起——如果在对手面前活都活不下去,遵循标准那就是宋襄公,蠢猪仁义。

image

      Google Gears有大约30名开发者,来自谷歌的开源组(open source group)。很讽刺,这个组的领导是Vic Gundotra,在加盟谷歌之前他在微软从事开发者布道培训。这个小组的开发者目的就是保持谷歌在Javascript上和开放浏览器虚拟机上的兴趣。从纸面上看,不用比了,微软和Adobe在其对应平台上砸下了重金和人员,远远不止30个人的规模。因此为了促进这个项目,这个小组把Gears从谷歌分开(因此严格上,这个项目叫Gears,不叫Google Gears),在一个开源执照下发布代码,来换取开源社区的支持。

      第一个发布将集中在HTML5将提出的一些最重要的特性上:基于客户端的结构化对象存储(client-based structured and object storage)。由于选择首先实现客户端存储,Gears明年的目标框架是离线应用解决方案——这显然能麻痹对手,让对手看不到其背后的更高目标,就是不知道谷歌是否有意如此做。谷歌本可以开发自己的浏览器,这在很多博客中已经推测和谣传了。但是浏览器市场实在是火爆、乏味而且痛苦,开发是一方面,谷歌还要等待市场主体接受这个浏览器,而且还要为那些拒绝接受新浏览器但是希望使用谷歌应用的用户考虑。一句话,不划算。

      因此谷歌选择了捷径,跳过浏览器而在其上加新的一层——谷歌web层。所有的流行浏览器都提供了供开发者扩展功能的机制,因此谷歌要做的就是为每种浏览器开发一个插件。这样,谷歌的新web API就能在几乎所有桌面上出现,用户不需要重新换浏览器;更重要的是,谷歌能避免痛苦的浏览器市场竞争。

      今天谷歌已经支持许许多多主机上的新功能,某些功能和微软/Adobe的下一代Web API是一致的,某些则是完全的“谷歌创造”。开发者们可以选用的功能包括背景进程(嗯,再也不要恼人的沙漏了),客户端图形控制,访问源知晓,更好的文件上载和浏览器的本地数据库。

      对于这些新的API和开发平台,要达到广泛应用,有两方面工作要做。首先,用户要支持,而且愿意安装这个插件;另一方面,开发者要支持,使用Gears,开发者感觉与使用其他所有基于浏览器的Javascript并无二致,但能得到更多的开发便利。开发者们不需要学任何新的东西,用户只需要安装一个插件。看看Flash的例子,大概花了五到六年时间,Flash才让程序员们觉得足够通用来在其上开发。谷歌大力支持的Gears也许只需要花一半或者更少的时间来达到这一点。

      因此谷歌这个赌注是稳赢不亏的,并且开创了一个基于标准的、开源的新Web API,让用户可以从微软和Adobe之外选择。与另外两家不同,谷歌似乎没有多少兴趣控制这个平台和在其上直接赚钱,他们似乎更希望通过这个来维持现状——浏览器中的Javascript胜任大多数应用,而你需要更多一点的时候,上Flash或者那个很少有人听说的Sliverlight。

      上一次平台之战发生在什么时候?我们都不记得了,过去了很久。但是每次这项技术面临重大竞争的时候你都能看到巨头公司的衰落和小公司的兴起。现在我们在天平一端加上开源社区,竞争结果仍然是:没有一家公司能够垄断。看看这次平台之战的各方和大家投入的赌注,显然这场战争会是旷日持久的。只有时间能告诉我们,谷歌推进Web的努力能否奏效。

(3个打分, 平均:5.00 / 5)

雁过留声

Comments are closed.