打印本文 关闭窗口 | |
揭秘 谷歌Chrome浏览器开发内幕 | |
作者:陈鹏 文章来源:eNet 点击数 更新时间:2009/9/16 16:31:48 文章录入:陈鹏 责任编辑:陈鹏 | |
|
|
谷歌Chrome浏览器开发人员(左起)Mark Larson, Brian Rakowski, Darin Fisher, Ben Goodger 谷歌推出Chrome浏览器是一个计划周密的行动,目的非常明确,就是要与微软的IE抢占市场份额。 开发浏览器传闻变现实 8月18日,谷歌在加州山景城总部41号大楼一个小会议室召开每周一次的经理会,这可能是发布Chrome浏览器前的最后一次经理会。在会议上,布赖恩·拉考维斯基(Brian Rakowski)走向白色书写板,用黑色干擦笔在白板上写了12个条目。 拉考维斯基今年20多岁,身体瘦长,喜爱交友,是一项秘密计划——Chrome浏览器开发——的产品经理。据悉,这一计划从启动到现在已经有两年多时间了。 他写的第一条是“发布状态”(State of the Release)。被讨论的发布对象就是外界极为关注的Chrome——谷歌的第一个网页浏览器。浏览器是网上冲浪的必备工具,帮助用户完成搜索、阅读、购买、办理银行业务、登录Facebook、聊天、观看视频、听音乐等网上活动。对于谷歌来说,推出Chrome绝对是一个重大举措,是实现谷歌时代真正到来所必不可少的一步。 在将桌面计算升级到“云计算”过程中,谷歌拥有相当大的优势。Chrome的出现无疑是向其竞争对手微软发出的一大挑战。多年前,微软正是凭借IE浏览器击溃Netscape Navigator。随着Chrome的登场,IE是否会面临和Netscape Navigator一样的命运,我们拭目以待。 实际上,谷歌将推出浏览器的传闻很久以前就已不胫而走。在漫长的等待中,很多人早已闭上讨论之口。但这一次的经理会势必再次启动讨论之门。按照谷歌的计划,Chrome在9月2日正式登场。在公开测试版之前的最后一个版本,拉考维斯基及其团队只发现5个“bug”,而且都已解决。技术负责人之一的马克·拉尔森(Mark Larson)说:“事情看起来还不错。” 谷歌产品管理副总裁桑达·皮采(Sundar Pichai)问道:“什么东西让你们搞了一个晚上?”参与第一个原型开发的工程师达林·费希尔(Darin Fisher)说:“当然不是Chrome。”这句话引来一片笑声,因为每一个人都知道他家里有一个只有10周大的孩子。拉考维斯基拿出一支红笔在“发布状态”旁边加了一个“X”。这是一个信号,暗示谷歌Chrome浏览器离成为现实只有一步之遥。 早在2001年便有开发打算 谷歌为什么要开发浏览器?这似乎是一个很容易回答的问题。相比之下,人们更为关注的是,谷歌开发浏览器为什么用了这么长时间。皮采说:“我们要做的是让人们使用一种浏览器访问我们的资源和网络。”CEO埃里克·施密特(Eric Schmidt)说:“浏览器是关键所在。”他应该很清楚这一点,因为在上世纪90年代激烈的浏览器大战中,他就竟曾担任过Sun的首席技术官(CTO)。毫无疑问,谷歌创始人拉里·佩奇(Larry Page)和塞吉·布林(Sergey Brin)自然也知道这一点。 施密特说:“在2001年加盟谷歌时,佩奇和布林就对我说‘我们要开发自己的浏览器’。我当时的回答是‘不’。”他解释说,当时的时机还不成熟。“我不相信公司那时已具备足以经受住一场浏览器战争的实力。我们的战略目标应该在‘雷达探测不到的地方’,这一点非常重要。”虽然当时没有进行开发,但打造自家浏览器的想法却保留下来,传闻也开始蔓延开来。2004年,《纽约时报》援引一名自称了解谷歌业务具体细节的人的话报道说,谷歌正开始开发浏览器。消息一经传出,施密特随即予以公开否认。 在幕后,Chrome开发仍旧是施密特与谷歌创始人争论的话题。谷歌最后采取了一种折衷办法,组建一个小组,任务是改进浏览器奇才本·古德杰(Ben Goodger)和费希尔负责开发的开源浏览器Firefox。(古德杰和费希尔均效力于Firefox拥有者、非盈利性组织Mozilla)除此之外,谷歌还推出另一个举措,聘请曾就职于NeXT 公司的37岁的工程师莱纳斯·厄普森(Linus Upson)担任工程研发总监。费希尔说:“佩奇和布林的决定是非常明智的,原因再简单不过:如果能做好Firefox扩展,他们就有能力开发出一款优秀的浏览器。” 2006年春季,Firefox开发小组开始讨论设计一款新的浏览器。他们热爱Firefox,但他们也知道当前所有浏览器都有一个共同缺陷。在最初构思微软IE和Firefox心脏的代码库时,浏览器并没有现在这么复杂。之前只能在桌面上实现的功能——邮件、电子表格、数据库管理——现在却越来越多地在网上进行。在即将到来的“云计算”时代,网络已不仅仅是一个内容传递平台。 开发过程一波三折 对现有浏览器进行修补以适应这一想法意味着,必须不断开发相关附加组件,例如工具条、RSS阅读器等等。但这种修补可能因为一次彻底升级成为一种徒劳。费希尔说:“作为Firefox的开发者,你必须不断创新,但你又经常担心,一旦推出下一版本,所有扩展将成为废物。实际上,这种事情已经发生了。”结论是显而易见的:只有开发自己的软件,谷歌才能将浏览器送入“云计算”时代,并潜在地掀起一股自微软和Netscape拉锯战(市场排名几乎每月变换)之后从未有过的革新浪潮。 谷歌构想的一个关键性革新就是所谓的多处理结构,这一系统能够帮助计算机在软件崩溃时继续运行。那为什么不将这一系统应用到浏览器身上呢?也就是说,当一个标签页崩溃时,其它标签页仍可以泰然自若。当然了,为了解决“一个老鼠屎坏了一锅汤”的问题,你也可以采取拖拽现有标签页创建一个新窗口这种方式。简单地说,就是从头开始,这种方式拥有其它一些优势。在设计上,你可以做到更加简洁并使其运行速度更快,而更简洁、更快速恰恰是谷歌奉行的两大原则。 2006年6月,古德杰、费希尔和曾就职于Mozilla的布赖恩·莱纳(Brian Ryner)开发出一个“小原型”。他们的第一个重大决定就是选用渲染引擎——帮助处理网页的HTML代码,并将结果显示在用户的屏幕上。他们敲定的两个开源引擎分别是用于Firefox的Gecko和用于苹果Safari 浏览器的WebKit。 WebKit已被负责开发谷歌移动操作系统Android的研究小组采用,其运行速度是Gecko的3倍,自然成为Chrome的首选。 几周之后,古德杰等人便开发出可在Windows系统下运行WebKit的一款比较简单的浏览器——某一个标签页崩溃后,这个浏览器仍能运行。古德杰回忆说:“当标签页崩溃后,用户会看到一个沮丧的表情图标,表明这个标签页已经‘死’了,这是Chrome浏览器的第一大特色。”不久之后,布林和佩奇视察了秘密开始的浏览器开发计划。参与开发的工程师帕姆·格里纳(Pam Greene)回忆说:“我记得很清楚,当时我就坐在桌子旁边,一条玩具蛇趴在桌子后面。布林一边玩着健身球,一边看费希尔演示,同时还不忘用手爱抚那条玩具蛇。” 公司高层终开绿灯 没有谁能确切地说出公司高层是什么时候给Chrome浏览器工程开的绿灯。皮采回忆起一次行政会议,当时施密特好像不再像以前那样反对。这位CEO表示,如果谷歌确实决心上马浏览器工程,研究团队就必须开发出与IE和火狐有着很大不同的东西。另外,谷歌的浏览器速度必须更快,而且必须是开放源代码。 当然,这些正是研发团队早就想到了的地方。 总之,到2006年秋,Chrome浏览器从非正式概念跨越到了正式的工程。工程师布雷特·威尔逊(Brett Wilson)说:“某个星期五,我们开了一个会。主管说‘高层正在考虑做我们自己的浏览器,你们怎么看?’所有人是既兴奋又惶恐。”之所以惶恐,部分是因为他们非常清楚,研发一款有竞争力的浏览器是一项巨大的任务。 由于对火狐的依赖,研发团队成员内心的感受可谓五味杂陈,作为开放源代码发展的代表,火狐是对抗微软统治地位的一道屏障。2006年10月加入研发团队的工程师埃里克·凯(Erik Kay)说:“我们的担心是,人们会把它解读为破坏火狐。” 让谷歌人感到欣慰的是,他们的浏览器将百分之百地开放源代码:谷歌的创新可能会帮助找到进入Mozilla编码库的方法。厄普森说:“我们真心希望火狐和其它开放源代码的浏览器都能够成功。” 作为谷歌力挺火狐的一部分,皮采会见了Mozilla总裁米切尔·贝克(Mitchell Baker),并在向她介绍了谷歌的计划。现在贝克表示,对Mozilla和火狐来说,Chrome浏览器是一种混合体。她将Chrome浏览器的推出视为是对Mozilla有关浏览器的选择至关重要这一信念的拥护。她说:“如果谷歌提出一些很好的新创意,那对用户来说再好不过。竞争促生最棒的浏览器。”但她也明白,很多她的客户将会下载谷歌的应用程序。她说:“我们期待人们去试用,然后再回来。因为独立非常重要,Mozilla还将继续存在。” 一个次要的问题是这款产品应该取一个什么名字。在研究了代号,但感觉都非常愚蠢之后,他们借用了过去用来描述框架、工具栏和浏览器窗口周围菜单的一个词:chrome。 另外聘请的一个人也非常重要。因为用户期望Chrome能使运行Web应用程序最优化,一个关键要素应该是JavaScript Java引擎,这是一种运行Web应用程序编码的“虚拟机”。建造这种虚拟机的理想人选是丹麦计算机科学家拉尔斯·巴克(Lars Bak)。2006年9月,在不停地进行了20多年的设计后,巴克准备抽出一部分时间用在他位于奥尔胡斯郊外的农场里。就在这个时候,谷歌打来了电话。 巴克建立了一个小团队,最初在农场工作,之后搬到了当地大学的办公室。他知道他的任务是研发一款比以往任何一款浏览器更快的引擎。他称自己的团队是“V8”项目的一部分,他说:“我们下定决心,一定要加快JavaScript的运行速度,我们花了4个月的时间去做。”这个丹麦研发小组通常是早上7、8点钟开工,一直编程到晚上6、7点钟。唯一的休息时间是午饭,他们会在5分钟内狼吞虎咽地吃完,然后玩20分钟的游戏。巴克说:“我们都很会玩Wii网球游戏。” 速度是最大优势 每个标签都可以拖出并生成新的窗口 他们还善于编写一个JavaScript引擎。巴克在谷歌推出Chrome浏览器前几周曾表示:“我们今天只是在尝试一些基准运行。”实际上,V8引擎处理JavaScript的速度比Firefox或Safari浏览器快10倍。而在那些相同的基准下,Chrome与浏览器市场的霸主微软IE 7相比又如何?答案是前者运行速度是后者的56倍。巴克说:“我们有点低估了自己的工作能力。” 速度可能是Chrome浏览器是最重要的进步。当你以数量级的方式去改善某些设备的时候,你没有造出更好的东西——你造出的是新产品。巴克说:“开发人员一体会到这类速度的魅力,他们就会开始从事更美妙的新的网络应用,他们在这方面更具创造力。”谷歌希望推出新一代网络应用,这样一来,微软最不愿看到的梦魇将成为现实:浏览器将成为相当于操作系统的应用。 谷歌还对Chrome进行了一些改进,令其成为多进程操作平台,使每个打开的标签页可以像独立的程序一样运行。2007年5月,谷歌收购了GreenBorder Technologies公司,这是一家软件安全公司,其技术被用于为Firefox或IE创建一个封闭、安全的环境,将它们的活动隔离到“虚拟会议”(或沙盒)中,在这里,恶意软件入侵不会破坏电脑上的其它活动和数据。 这项交易对外公开宣布时,业界就怀疑谷歌可能会涉足反病毒领域。这项收购完成后不久,GreenBorder的工程师们即了解到,他们的工作就是为新一代浏览器的标签页构建“沙盒”。卡洛斯·皮萨诺(Carlos Pizano)说:“我们都糊涂了。他们不会说明用沙盒去干什么。” 尽管Chrome开发团队日益壮大,但开发工作从没有陷入像官僚机构经常遭遇的困顿中。在Chrome项目的初期阶段,开发人员还能在谷歌某个咖啡厅一张桌子上共用午餐。不久,即便是最大的桌子,亦不能满足这个团队的用餐需要了。 每位工程师都怀以“开源”的精神工作,他们可以随便检查任何代码,去调整或改进。拉考维斯基总在尝试让开发进程保持透明。 具有全新功能 随着产品整体规划逐项落到实处,工程师们开始把工作重点放在用户界面上。一开始,Chrome开发团队希望,这款浏览器的视觉效果一定要做到平淡无奇,这样,用户甚至认为他们不是在使用浏览器。开发人员的口号变成了“内容,而不是chrome”,鉴于这款浏览器的名称,给人以一种奇怪的感觉。马克·拉尔森(Mark Larson)说,我们学会了如何在遭人嘲讽下生活。 当你把一个含有像Gmail这样的网络应用的标签页拖至一个单独的窗口,说明你希望一个“应用捷径”(app shortcut)的时候,最清晰的表达会出现在你的面前。此刻,菜单、按钮、地址栏全部消失了,Web应用看上去更像是桌面应用。 在决定包括哪些按钮和功能时,开发小组开始玩起一个智力游戏,即消除一切东西,然后再去分析如何恢复。后面的按钮?没什么用处,删去。前面的按钮?没有什么必要,但它最后幸存下来。如果你是浏览器状态栏的忠实拥趸,那么你可能对Chrome不太习惯。 Chrome有书签栏。最初,工程师认为他们不应该要书签栏。Chrome引入多个新的导航方法,如在其中一个导航方法中,浏览器可以分析用户不用打字也清楚接下来该进入哪项程序。你输入文字时,可以使用“omnibox”,一项结合了地址栏和搜索栏的功能:只要输入你想要查找的东西,它就能提供网络地址、搜索结果或适合你要求的受网友欢迎的目的地,这些信息全部是以非插入式文本形式出现在框的下面。 一定程度上讲,它就是谷歌著名按钮“I'm Feeling Lucky(手气不错)”的增强版。谷歌在用户中进行的调查表明,一些人仍喜欢点击这个书签栏获取导航信息。一个折中方案是:如果用户以前在IE或Firefox浏览器上设定了书签栏,Chrome将会导入这项设置。否则,用户将没有书签栏,除非他们特意选择。 保密工作非常好 令人难以置信的是,谷歌浏览器在两年时间里竟然不为外界所知。直到2007年年中,即Chrome项目实施约一年的时候,开发小组让未参与该项目的公司职员了解他们的创新工作时,这方面的消息才泄露出去。在以当前原型为特征的高科技谈话系列的一开始,员工们反响非常强烈。在各种功能(如将标签页拖至新窗口)演示过程中,他们不时爆发出发自内心的欢呼声。 随着知道Chrome浏览器的人越来越多,有件事必然要发生——相关消息传到博客的耳中。但是,没有一名记者能将这些传言整理在一起。乌普森(Upson)说:“我想这是因为有关谷歌浏览器的传闻存在了很久,就像是人们天天说看到大脚怪或尼斯湖怪,到最后便习以为常了。” 在Chrome浏览器推出前夕,皮查伊(Pichai)同一些人分享了他对Chrome浏览器的期望。究竟会有多少人用谷歌的浏览器?他说:“怎么也有几百万吧。我希望老妈也用,当然还有老爸。”谷歌内部对Chrome的认可并不代表这款浏览器会获得成功,乌普森认为,即便Chrome不能夺取很大的市场份额,但其创新技术将提高浏览器整体表现。他说:“如果网络变得越来越好,我们自然会是直接受益者。” 随着Chrome浏览器推出的时间日益临近,开发小组搬到谷歌公司园区一栋装饰一新的大楼内办公。在园区内最大的一间会议室内,全体工程师可以在此开会,但也只能站着,坐下的话空间就不够了。公司还向他们提供牛奶和饼干。在经过初期发展后,拉考维斯基将整层楼交给了手下。他不厌其烦地向大家解释将Chrome打造为开源产品的种种益处。开源产品是指代码对外公开,每个用户可以帮助改善浏览器的功能。 拉考维斯基说:“我们将可以衡量我们的测试效果。它能使人们从事我们从未想象过的事情,让用户对我们产生一种信赖,这是别的工作所没有的效应。” 随着会议即将结束,与会人员的情绪也达到顶点,这不仅仅是因为咖啡的作用。毕竟,Chrome开发小组即将揭开谷歌冥冥中要去完成的一款新产品的神秘面纱。尽管如此,开发小组当务之急是消除横亘在他们面前的五个技术难题。 |
|
打印本文 关闭窗口 |