为何说 Firefox 仍落后 Google Chrome 数年

为何说 Firefox 仍落后 Google Chrome 数年

图片

Firefox 出现了一个大问题。它在解决浏览器最关键、最困难问题的开发上落于人后。在过去几年当中 Firefox 许多最重要的改进都仅仅是重复 Chrome 所走的路。

我们都希望 Firefox 变得更好,但实际上它仍不如 Chrome。如今有许多以前的 Firefox 开发者都在 Google 开发 Chrome,以致于更像是 Chrome 在不断创新,而不是 Firefox.。


缺少多进程架构

随着核心数不断增多,CPU 已经能够并行执行更多任务。如今市面上已经找不到单核 CPU,即便是最低端的计算机都至少拥有一个双核 CPU。所以未来的趋势是拥有越来越多的 CPU 核心,计算机程序可以利用这些处理器性能并行执行更多任务。

Chrome 为此开发了多进程架构。所有您打开的网站都在各自的进程中运行,像是扩展、应用会使用各自的进程在后台运行。浏览器插件也在单独的进程运行。最关键的是 Chrome 的用户界面也使用单独的进程。

如果您拥有一个现代的多核 CPU,Chrome 将会智能且高效地将所有任务分配到不同 CPU 当中执行。这样 Chrome 可以同时做很多事情,在后台加载网页时浏览器界面也不会出现卡顿延迟。

Firefox 则是另外一回事。它主要使用单进程架构,仅仅将插件置于单独的进程中运行。如果您同时打开五个标签页,Firefox 的主进程不仅要加载渲染这些标签页,同时还要处理用户界面。这样 Firefox 界面的反应就远不及 Chrome 那么快。如果一个页面崩溃,它会导致整个浏览器都随之崩溃。

在某些情况下这种差别尤为显著,试想同是使用 Intel Core i7 CPU 加载页面时,Chrome 表现完美,而 Firefox 的界面则反应迟钝,至少我是这么感受的。Firefox 流畅度不够这都是由于它那过时的架构。

图片

对此 Mozilla 也在研究相应的解决方案,即 Electrolysis 项目。该项目开发可以追溯到 2009 年,目的是将 Firefox 变成一个可靠的多进程浏览器。但到了 2011 年 Electrolysis 项目“在可预见的未来无限搁置” ,Mozilla 的说法是 ”Electrolysis 是一个巨大的工程”,他们要在短期内采用“一系列微创新”来改善浏览器响应速度。

Mozilla 最近于 2013 年 5 月又重启了 Electrolysis 项目,所以如果幸运的话,我们可以在未来某个时候见到多进程的 Firefox。即便是 Internet Explorer 也从 IE8 开始采用了多进程的特性,所以说 Firefox 已经落后了,好在这个在 2011 年停止的项目又重新出发并奋起直追。

落后 Chrome:4.7 年,并且仍在继续

图片


Firefox 未采用安全沙盒技术


Chrome 和 Internet Explorer 都无一例外地在 Widnows 系统中采用了一个被称为“低完整性模式”或“保护模式”的特性,该模式尽可能地降低用户权限来运行浏览器进程。如果有人发现了某个浏览器漏洞并打算将其应用到 Chrome 或 IE,他还需要使用一些额外漏洞来绕过安全沙盒来实现对系统剩余区域的访问。

这项特性早在六年前发布的 Windows Vista 系统中就已经有了,但 Mozilla 仍在使用 “低权限 Firefox” 特性,而且也没有明确何时会采用沙盒技术。虽然沙盒技术不是万灵药,但却是现代浏览器均采用的一项重要安全特性。

Firefox 相应 bug 跟踪的评论指出开发者计划在 Windows 8 Modern Firefox app、 Firefox OS 和在 OS X 处于试验阶段的 Servo 浏览器当中寻求对沙盒技术的支持,但目前没有任何消息表明 Firefox 的 Windows 桌面版本正在开发沙盒技术。很显然,这个最流行的却最多漏洞的 Firefox 版本急需得到保护。

落后 Chrome:4.7年 ,并且仍在继续

图片


Firefox 需要一个桌面版的网页应用商店

Mozilla 坚定不移地表示网页应用和网页技术终将取代桌面软件和本地移动应用,因为前者拥有跨平台特性,任何 HTML5 应用都能在所有平台运行。

为此 Mozilla 想要建立自己的应用商店,也就是熟知的 Firefox Marketplace。这项特性已经应用到了 Firefox 的安卓版本,未来也将成为 Firefox OS 的一部分。Firefox OS 是一个移动操作系统,但它多年后才姗姗来迟,甚至比微软的 Windows Phone 和黑莓的 BlackBerry 10 系统来的更晚,而这两个系统本身就因为太晚出现而需要长期与领先者竞争。

但目前您还只能在 Firefox 的安卓版本上使用 Firefox Marketplace。Mozilla 讨论发布桌面版 Fireofx 应用商店已经很多年了,但最终也只决定将精力放在移动平台,而计划在未来再发布桌面版的 Firefox 应用商店。相比之下,Chrome 的网上应用店已经存在好些年了。新的Chrome 封包应用也将很快会扩充 Chrome 网页应用的功能,从而更加引人注目。

Mozilla 想要将网页应用和开放的网页技术推广到桌面版,但他们却无所作为,而这正是 Google 正在做的。

落后 Chrome: 2.5 年,并且仍在继续

图片


其他一些 Firefox 落后于 Chrome 的例子


Firefox 在过去几年里已经从各方面奋起直追,但很多特性仅仅是简单地复制 Google Chrome:

1、多窗口隐私浏览:Firefox 最近刚刚实现隐私浏览窗口和普通浏览窗口并存,但其实际上这项急需的特性 Chrome 从一开始就有了。
2、快速更新:就在 Chrome 实现快速更新以后,Firefox 也推出了相应的更频繁发布的计划。
3、可应对浏览器升级的扩展:Firefox 后来升级了扩展的 API,允许扩展安装时无需重新启动浏览器,并且在浏览器版本更新后仍能无缝运行而不会失效 — 就像是 Chrome 所做的那样。
4、PDF 阅读器:Firefox 最近也开发出了一个整合的 PDF 阅读器,而这项特性 Chrome 很早就实现了。
5、用户界面设计:所有浏览器都在 Chrome 的引领下逐渐转为使用更为轻巧洁的浏览器界面,而这也包括 Firefox。近期展示的 UI 概念设计也暗示了 Firefox 未来的界面将更趋近于 Chrome。
6、插件单独进程:考虑到 Firefox 还没有实现 Chrome 那样可靠的多进程特性,它还是加入了允许 Flash 等插件独立进程运行的特性,以保证插件崩溃不会影响到浏览器其他部分。
7、JavaScript 性能:在 Chrome 显示出其在 JavaScript 性能上的巨大领先之后,其他浏览器,包括 Firefox,都被迫显著提高它们的 JavaScript 性能。

综上所述,很显然 Chrome 在浏览器创新方面已经领先了很多年。

图片


我们都希望 Firefox 变得更好

我们在这里并不想试图攻击 Firefox。它曾经是最好的浏览器,Mozilla 在蚕食 Internet Explorer 6 市场份额方面值得称道,它让微软感到他们是有可能失去市场份额并迫使微软重启停滞的 IE 开发进程。在网页标准化,减少”专为 Internet Explorer 设计”的网站方面,Mozilla 也值得赞许。这为其他浏览器的前进开辟了道路,现在 Chrome 和 Safari 成为了最流行的浏览器。Firefox 为开放的标准化打下了坚实的基础,而 Mozilla 可以说是一名不知疲倦的斗士。

作为一个浏览器开发商,Mozilla 独立于其他拥有顶尖浏览器的大型公司,如微软、Google 和苹果公司,这对互联网来说是一件好事。事实上,一个由非盈利性组织开发的开源浏览器,专注于让互联网变得更好的理念,这对于互联网来说可以用伟大来形容。

这就是为什么说 Firefox 的远远落后足以让 Mozilla 感到羞愧。停止开发 Electrolysis,尚未实现安全沙盒特性,这些都表明 Mozilla 还没准备好大干一场,真正地去做些底层工作来改善 Firefox 的性能和安全性。他们所作的许多改进仅仅是模仿 Chrome 早已实现的功能。

Firefox 在某些方面仍旧是最好的浏览器。比如,如果您需要最强大的浏览器扩展框架,它非 Firefox 莫属。但我们希望 Firefox 在其他方面也能变得更有竞争力。在 2013 年,多进程架构和可靠的安全沙盒技术都是一个浏览器所需具备的能力,但 Firefox 并没有。事实上,在这两个重要特性上,Firefox 甚至还不如 Internet Explorer。

我还记得以前有一个强大的浏览器叫做 Mozilla Suite,体积虽大但有自己的好处,因此开发者决定根据它的核心技术创造一个全新而又小巧的浏览器,他们称之为 Phoenix。它最终演变为今天我们所知道的 Firefox。假如因为这些遗留的代码妨碍了 Mozilla 将 Firefox 变成一个现代浏览器,也许我们需要一个 Phoenix 2.0。

英文原文:Here’s Why Firefox is Still Years Behind Google Chrome
Google Doc 双语对照翻译:为何说 Firefox 仍落后 Google Chrome 数年


转自:http://www.firefox.net.cn/forum/viewtopic.php?f=4&t=47432