转自:
http://www.yeeyan.com/articles/view/nullTao/9448
Google 在去年五月发布了
Gears, 之后的一年里 Gears 被认为是一个小众产品,只会有很少开发者和用户用它来开发能够离线访问的 web 程序。兴许你还能回想起当年的争论:在到处都有网络连接的情况下,究竟谁需要离线访问功能,而且还没有足够的程序支持,等等。不到一年的时间,就在几周 前,Google 亮出了他的王牌:
Gears 助力 MySpace 加速邮件系统。其实 Google 早就加入了这场提供新 web API 的比赛,但是居然一年了都没有人注意到。
将 来的浏览器很可能会变成运行所有程序的虚拟机。在这种情况下,操作系统会变的透明,就像 Adobe 所作的,它的 Flash
技术是现在使用的最普遍、最统一的 web 虚拟机,而微软则要自保(它的利润的来源)了。Google 不隐瞒他们想瞄准并且攻击微软的野心,他们知道,要做到这点的最好方法就是上移一层把操作系统架空,让浏览器成为标准且强劲的应用程序虚拟机。
很难在一片评论里表达清楚 Gears 如何改变并且增加 web 程序的功能。以前使用基于浏览器的 Javascript 脚本,
MySpace 中的一些类似邮件列表和排序、根据好友列表过滤这样的功能会让人感觉很慢,而当浏览器向服务器发送多个请求时,进度条还可能会定住,沙漏图标在不停的旋 转。而现在,安装 Gears 只要在确认框点击一下并且等待几秒钟,安装之后,以前让用户抓狂的那些功能现在感觉起来就好象是浏览器自带功能一样。Google 给我们秀了一把 Gears 与 MySpace 集成后的能力,这唤醒了大部分人关注他真正的意图:不再仅是离线浏览,而是直接针对 Adobe 和微软所采取的行动。
截至目前为止,Google 拥有一系列共计
28 个基于 web 的程序, 这些程序在全世界有数百万的用户。Google 开发 web 程序的技术都是基于标准的 HTML、CSS 和 Javascript。选择
Ajax 仅仅是因为这是最好的解决方案,但是 Google 还要做更多以面对现实,那就是每个类似的 web 开发技术体系都是被一个
直接的
竞争者所开发、控制。Google 对开源浏览器
Firefox 的开发给予了强大的支持,并且支持开放 web 标准作为他们的技术体系之选。Google 这么做是因为他们的 web 程序都依赖于开放标准,Firefox 的失败会导致 Internet Explorer 复生并且把 web 的控制权拱手让给微软。
以前,只用基于浏览器的 Javascript 来支持 web 程序对 Google 来说不是个问题。直到竞争者领先一步发布了他们自己的第二代 web 平台,分别是
Flex/AIR 和
Silverlight, 情况才发生了变化。基于 web 的程序在有了类桌面的界面和功能后能够做什么,从这一方面开说,微软和 Adobe 已经超前了一大步。用不了多久,大大小小的竞争者就会使用竞争性技术平台创建竞争性程序,那会使 Google 的产品看起来像是还停留在上个世纪九十年代的样子。
留给 Google 的选择现在很明了了:要么放弃使用基于浏览器的 Javascript 和开放标准进行开发,转而接受新
技术中的一种,要么继续坚持使用核心 web 技术并且发展这些技术直到成为可行的替代技术。Google 的问题是,新标准和预期的浏览器功能很快就会带来富 web 技术,但是开发那些标准的进度却如此缓慢,以至于很可能需要几年时间才能看到那些标准被广泛的应用。新的 HTML 标准,
HTML5,特别关注扩展本地浏览器对 web 程序的支持能力,在不用附加私有运行时的情况下。Google web API 的基础就是这些同样的功能以及其他的附加功能。
由于标准开发的极其缓慢,导致通向更快更好,而且仍旧免费开放的 web 程序之路被堵死了,所以 Google 决定通过 Gears 自己进入这个市场。想法其实很简单:把明天的 web
技术带到今天的浏览器里。这些特定的功能大部分都来自新的 HTML5 规范,但是标准制定小组已经在上面花费了好几年。不想再等这个小组完成规范,Google 自己通过件对浏览器进行扩展,实现了这些功能并且达到了那个小组能达到的最高水平。他们宁愿在短期内抛弃标准(原话是“以后再考虑实现”)也要把他们的 web 程序带到能够对抗 Flash 和 Silverlight 的下一代标准。

Gears 有一个 30 人左右的小组开发,这个小组是 Google 内部开源小组的一部分。这个小组由
Vic Gundotra 带领,再一次讽刺的转变过程中,他由微软的传教士成为 Google 的高级开发者。这个一小组开发者着手进行开发,并且保持 Google 对 Javascript 和开放浏览器虚拟机的兴趣。理论上,他们看起来很可能被大组织或者微软和 Adobe 正在投入各自平台的预算所超过。为了改变这个状况,他们把 Gears 从 Google 中分离出来(字面上也是——现在这个项目名称就只是“Gears”)并且在开源协议下发布源代码。
第一个发行版将只关注于 HTML5 里面提议的新功能中他们认为最重要的功能:
基于客户端的结构化数据和对象存储。 由于选择了首先实现客户端存储,所以下一年里 Gears 会被构架成一个离线应用程序解决方案,由于其他的竞争者好像都没有注意到这个这么巨大目标,所以如果他们不是有意而为之,那么肯定会发展的很好。 Google 本来有可能开发他们自己的浏览器,某些博客里的推测和谣言也都指出了这一点,但是浏览器市场竞争激烈,却平淡乏味,而且通常会失败。另外,即使他们开发了 自己的新浏览器,他们还要驱使用户接受这个新浏览器,在决定性的市场聚集起来之前只能等待,就是这样,市场上还会有 70% 或者 80% 甚至 90% 的人不使用 Google 的浏览器,却想使用 Google 的程序。
这种情况下,可选的捷径就是跳过浏览器直接在上面增加一层——Google 自己的 web 层。所有常用浏览器都提供了让开发者扩展功能的机制,这样一来,Google 要做的就是对每个浏览器开发对应的插件。这能让新的 web API 能够适应所有的桌面而不需要用户去适应,最重要的,这比起进入浏览器市场来说见效快而且痛苦少。现在可以让浏览器来做所有无聊的事情:渲染 HTML、显示界面、用户选项等等,与此同时 Google 却在改变现状,埋头向前冲。
现在 Gears 支持大量完整的新功能,有一些新功能是和微软、Adobe 他们的下一代 web API 相同的,而其他的则是 Google 自己创造出来的。现在函数调用已经
对开发者开放了,包括后台处理(不会再有沙漏出现)、客户端图像处理、位置感知、更好的文件上传功能,还有浏览器内本地数据库。
要让新 API 和开发平台的应用被采用需要两方面的支持,一方面是用户的支持,因为这需要用户安装新的插件;另一方面是开发者的支持,使用 Gears 不会让开发变得更容易,这是因为这和开发其他的使用基于浏览器的 Javascript 的程序没有区别,Gears 只是给开发者提供了一系列更多的可以在浏览器内实现的功能而已。Javascript 和 web 开发者不需要学习任何新知识,用户也要做的也只是安装一个插件(与浏览器绑定的交易肯定会发生,所以这一步都可以忽略了)。Flash 花了 5 到 6 年才足够普及,能够让开发者有信心专注于使用 Flash 开发,不过有了 Google 的支持,Gears 可能只需要用一半甚至更小的时间就能做到。
在这场竞赛中,Google 没有任何损失反而赢得盆满钵丰,Google 一下子就启动了这个新 web API 的基于标准且开源的替代方案。与其他的竞争对手不一样,Google 没有兴趣控制这个平台或者直接用来盈利。相反他们却在试图维持现状:大部分程序使用浏览器里的 Javascript 开发,如果有更多需求那就使用 Flash 或者类似的
技术。
上一次平台大战结束了很久了,但是每次你都能看到类似的
技术经验:大公司失败,小公司成功。给这个平衡增加点开源的砝码,结果还是没有一个单独的公 司能够占优势。有这么多大公司的加入,而且如此的利益攸关,我们肯定要亲眼见证一场漫长的持久战。只有时间能够告诉我们 Google 的做法能不能带领 web 向前发展。