InfoQ

新闻

Google发布基于全新JavaScript引擎的开源浏览器

作者 霍泰稳 发布于 2008年9月3日 下午6时34分

社区
Architecture,
Agile,
Java,
Ruby,
.NET,
SOA
主题
发布
标签
Chrome,
Firefox,
Google,
开源软件,
IE8

最终,Google还是进军了浏览器领域。9月3日,Google面向全球用户发布了其历经三年时间研发的浏览器——Google Chrome。此前,Google一直对外否认其有开发浏览器的计划,而且就在不久前Google和Mozilla就对Firefox的支持签署了一份三年的合作协议。对于Google这一产品的推出,浏览器市场的格局将有什么样的变化,业界也是众说纷纭。有媒体表示,Chrome的推出,受到威胁的其实不是一直视Google为最大竞争对手的微软所推出的IE8,而是和Google一直良好合作关系的Firefox

最担心Google Chrome的不会是微软。尽管多年来广受诟病,但微软在浏览器市场上的份额仍然超过了70%。与Windows捆绑仍然是微软的最大优势。最担心Google Chrome的应当是Mozilla。

Chrome并非基于Firefox,而是基于苹果的WebKit引擎。尽管Safari并没有获得巨大成功,但WebKit却向它提供了一大优势:速度。WebKit和谷歌开发的V8 java脚本渲染引擎联手,理论上将使Chrome在速度上“百尺竿头,更进一步”。即使Chrome的功能达不到出色的水平,也将成为Firefox的强大竞争对手。

那么Google是如何考虑的,InfoQ中文站编辑在今天早些时候采访了Google总部产品管理副总裁Sundar Pichai,他首先介绍了Google推出Chrome浏览器的目的:

我们已经在这个项目上努力了三年,其中我们了解到,随着互联网的普及,越来越多的人将应用部署在网络上。而目前的浏览器因为各种原因,易用性和速度都不能满足我们的要求。Chrome的推出就是为了解决这些不足之处,以更好地支持Web应用。

除此之外,对于更多人关注的相比于IE和Firefox,Google Chrome有哪些让人耳目一新的特点问题,Sundar也从用户界面和技术内核等两个方面进行了分析:

开发团队一开始将主要精力放在内容而不是易用性方面,但是很快发现这违背了Google一贯的风格,于是我们及时调整了方向。在使用Chrome时,你可以发现许多细节上的改进,比如在地址栏里面就可以针对某个网站做搜索,通过视觉和文字两种不同形式提供的标签页等,也就是说你现在可以用更少的文字和点击来完成从前相同的工作。

但是这些简洁的背后是复杂的技术内核,我可以从速度、稳定性和安全性等三个方面来解释一下。在速度方面,Chrome选择了WebKit渲染引擎来处理静态页面,而用全新的JavaScript引擎V8来处理动态页面;稳定性方面,Google采用的是一个多进程的架构,这样每个进程就可以单独完成一个任务,互不影响,避免了从前支持多标签的浏览器“一个页面崩溃全部页面遭殃”的情况;对于大家都非常关心的安全性,Google提供了一种称为“沙盒(Sandbox)”的机制,从前黑客破坏网站时只需攻击渲染引擎,而现在他还要有能力攻破沙盒,难度提高了一倍,另外Google还通过自动化的测试及时发现恶意软件和应用,防止“网络钓鱼”这样的破坏性网络行为。

正如Sundar所言,对于Chrome来说支撑其速度的一个重要技术就是Google自己设计的全新JavaScript引擎——V8。从Google中国研发团队成员现场所做的演示可以发现,同一个3D动画,基于Chrome要比基于Firefox运行流畅的多。目前Google已经将V8开源,开发人员可以从Google V8 JavaScript Engine页面浏览详情和下载源代码。

其实Google Chrome也是开源的,根据Sundar的解释,Chrome开发团队在设计Chrome时就从Firefox、Safari等开源浏览器产品借鉴了许多,其中所用的渲染引擎WebKit此前就已经被用在Safari上。这次将Chrome开源,也是Google对开源社区的一次回报,也是希望能推动开源社区的健康发展。

在简洁性和安全性方面,Chrome要较IE和Firefox有更为先进的设计,不过让更多使用者感到遗憾地方在于目前Chrome还没有提供很好的插件机制。Sundar对这一问题没有给予正面回答,只是告诉InfoQ中文站编辑,对于常用的插件,Google会尽可能自己提供类似的产品,以满足用户的需要。考虑到直到目前为止,很多银行系统对Firefox都没有给予很好的支持,Chrome在对类似应用的支持上依然还有很长的路要走。另据Google Chrome中国研发团队透露,未来一段时间,谷歌会在Chrome的本地化方面加大投入。

4 条回复

回复

最大的敌人是firefox? 发表人 Joe Huang 发表于 2008年9月3日 下午10时38分
Re: 最大的敌人是firefox? 发表人 霍 泰稳 发表于 2008年9月4日 上午2时50分
Re: 最大的敌人是firefox? 发表人 颖申 俞 发表于 2008年9月10日 上午5时40分
Re: 最大的敌人是firefox? 发表人 茂 林 发表于 2008年9月11日 上午2时49分
  1. 返回顶部

    最大的敌人是firefox?

    2008年9月3日 下午10时38分 发表人 Joe Huang

    但是现在微软准备用反垄断法来对google提出诉讼

  2. 返回顶部

    Re: 最大的敌人是firefox?

    2008年9月4日 上午2时50分 发表人 霍 泰稳

    最大的敌人肯定是IE,因为到目前为止,IE在市场上的占有量在70%左右。但是Chrome的出现,对Firefox无疑是威胁最大的,因为Chrome和Firefox的用户群很类似,都是对速度、易用性要求比较高的人群,而且两者都属于开源产品。我想Chrome的目标肯定不是Firefox、Safari或者Opera,而是在于IE,而微软也一直将Google视为其互联网领域的最大竞争对手,就等着好戏看吧,呵呵。

  3. 返回顶部

    Re: 最大的敌人是firefox?

    2008年9月10日 上午5时40分 发表人 颖申 俞

    最大的敌人是IE, firefox占着开源的优势,其实是可以与时俱进的。
    当然我觉得Opera Desktop是没戏了。

  4. 返回顶部

    Re: 最大的敌人是firefox?

    2008年9月11日 上午2时49分 发表人 茂 林

    本来按照ie7的执行效能来看,chrome印象最大的应该是ie,但是,我在试用了ie8 beta版之后,感觉ie8比ie7的执行效能有了巨大提高,甚至在比较看来,可以感觉到ie7是历史上最为糟糕的ie浏览器。这样看来,或许在将来,ie将是最大的赢家,毕竟市面上所有的应用都是兼容ie,它提供了最为全面的功能。首先满足了各个不同用户的功能性需求,至于性能提升,在强大的硬件支持下,一点点的性能损失,不会使最终用户倒向新的产品。当然,尝尝鲜,做备用是理所当然的啰。

独家内容

应用JSF、Ajax和Seam开发Portlets(1/3)

本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。

AtomServer:数据分发的发布动力(第二部分)

在这篇文章里,Bryon Jacob和Chris Berry将和我们继续探讨AtomServer,它是基于Apache Abdera的完整Atom存储实现。作者还创建了几个Atompub规范扩展,其中包括自动标记、批处理和Feeds聚合。

架构师(试刊第二期)

InfoQ中文站的电子杂志《架构师》试刊第二期出版了!相比于上期,我们在内容的选择安排和版式上都根据读者的意见重新做了修正。“细节决定成败”,我们希望基于InfoQ中文站的专业内容,《架构师》能逐渐成为大家喜欢的电子刊物!

一种正规的性能调优方法:基于等待的调优

在本文中,Steven Haines探讨了Web应用性能调优问题。该领域过去更像是一门艺术而不是一门科学。他提出了一种称为基于等待调优的方法,使整个调优过程更加可度量,也因此更具科学性。

Java程序员ActionScript 3入门

通常来说,改变技术路线时最艰难的部分是辨别语言语法之间的不同。这篇文章就为Java开发者提供了一份如何转向Flex基础语言ActionScript的指南。

浅谈如何创建Rails应用

本视频主要以财帮子为例,介绍了如何创建一个PV为百万级的Rails应用。其中包括:Rails应用的服务器架构、Rails Cache的优化、负载均衡的处理、Web服务器的调试、分布式解决方案、Open API的设计等等。

Alexandru Popescu谈InfoQ.com网站架构

InfoQ首席架构师Alexandru Popescu在采访中谈论了InfoQ架构、Webwork与DWR、Hibernate与JCR、Hibernate可扩展性、最新的InfoQ视频流系统和InfoQ的未来规划。

揭示常见的重构误区

相对于Java,.NET在持续重构方面所给与的重视仍然少为人知,大多数人对于重构是否真正属于开发过程,以及如何将其应用到开发过程中持观望态度。Danijel Arsenovski试图为你揭示这些谜题。