发生这个巨大的变化是因为火狐的“电解”(Electrolysis)功能 — 用以重新设计 Firefox 架构以提高浏览器响应性、稳定性和安全性。
Electrolysis 的多进程架构使得 Firefox 可以在一个进程中运行其用户界面(例如地址栏、选项卡和菜单),而内容(网站)则在其他进程中运行。使用多进程架构,如果网站崩溃,也不会导致整个浏览器崩溃。
可惜 Firebug 并没有考虑到多进程的设计,这使得它要在这个新的场景中工作将需要一个非常困难和昂贵的重写。Firebug 工作组也承认他们没有足够的资源来实现这样一个巨大的架构变化。此外,Firefox 内置开发工具的速度也一直在提升,所以下一版本的 Firebug 基于这些工具是有意义的。
因此做出的决定是,下一个版本的 Firebug(代号为 Firebug.next)将构建在 Firefox DevTools 之上,Firebug 也将被合并到内置工具中。
也许最重要的是,我们应联合起来一起构建最好的开发工具,而不是相互竞争。许多 Firebug 的核心开发人员都在 DevTools 团队,包括 Jan ‘Honza’ Odvarko 和 Mike Ratcliffe。其他 Firebug 工作组成员如 Sebastian Zartner 和 Florent Fayolle 也是 DevTools 的积极贡献者。
非常感谢他们将浏览器开发工具中的专业知识带给项目!
实际上,将 Firebug 合并到 DevTools 有什么意义呢?
Firebug 的几个功能已被吸收:DOM 面板、Firebug 主题、服务器端日志消息、HTTP 检查器(又名 XHR Spy)和各种流行的附件,如 FireQuery、HAR 导出和 PixelPerfect。此外,还修复了 40 多个错误以弥补 DevTools 和 Firebug 之间的差距。
对于感兴趣的读者,hacks.mozilla.org 和 Firebug 博客中的几篇文章有更详细的内容。
如果现在从 Firebug 切换到 Firefox DevTools,会发现到一些差异。这份迁移指南可以提供一些帮助。
我们知道中断从来都不是受欢迎的,但我们正在努力,以确保开发人员有最好的工具,有时这意味着我们需要重新专注起来以及合理使用资源。
可以通过下面的几种方式反映你需要的缺失功能:
在 Mozilla 开发者邮件列表的这个主题上评论
在 Firebug 的 Google group 的这个主题分享你的反馈信息
或者发表到在推特上的这个讨论主题
我们已经开始追踪缺失的功能(点此查看),到目前为止,已收集到的最重要的是这些:
Break on XHR (bug 821610)
Break on DOM mutations (bug 1004678)
更好的 CSS 自动完成 (例如 bug 1106336 和其他的)
各种控制台自动完成的改进 (bug 1267140, bug 1270015, bug 672733,以及更多)
事件侧边栏面板 (bug 1226640)
在检查器中进行的实时预览更改 (当更改属性或编辑为 HTML 时:bug 815464)
改进显示控制台日志消息的方式 (bug 1032855, bug 1165010 以及更多)
在输入时验证 CSS 值和选择器 (bug 1227054)
DOM 属性侧边栏面板 (bug 704094)
在 Firebug 主题中的字体大小更改 (bug 1319079)
添加 Cookie 的选项 (bug 1231451 和 bug 1231452)
感谢大家对 Firebug 的支持和不离不弃,希望各位能理解我们为什么做出这个困难的决定。Firebug 精神存在于我们今天构建和使用的所有浏览器开发工具中。