为了庆祝 Firefox 十周年,我们推出了 Firefox 开发者版,这是专门为开发者打造的首款浏览器。当时,我们也宣布了计划发布 Firefox 的 64 位版本。今天,我们很高兴地宣布该计划的下一阶段:Firefox 开发者版的 64 位构建版本现已在 Windows 上提供,加入了先前已支持的 OS X 和 Linux 平台。
64 位构建版本是向用户提供丰富、桌面级应用程序体验的关键一步。让我们也来看看这个版本中值得关注的其他一些特性。如果你还没有下载开发者版浏览器,现在正是尝试它的好时机。以下是一些理由
运行更大规模的应用程序
32 位浏览器受限于 4GB 的地址空间。该地址空间还会因碎片问题而进一步缩小。与此同时,Web 应用程序变得越来越庞大。提供高性能、原生般游戏体验的基于浏览器的游戏,例如那些使用 Epic Games 的 Unreal Engine 构建的游戏,通常比我们期望的传统 Web 应用程序更大。这些游戏附带大量资产,这些资产必须存储在内存中,以便可以同步加载。
对于其中一些最大的应用程序而言,64 位浏览器意味着游戏能否运行的区别。例如,在移植到 asm.js 时,建议将 32 位浏览器的堆大小保持在 512MB。而在 Firefox 的 64 位版本中,这一数字会增加到 2GB。
Emscripten 帮助移植 C 和 C++ 代码在 Web 上运行,并提供类似原生的性能。有关如何使用 asm.js/emscripten 构建的应用程序中各种方法存储和访问资产的深入分析,请阅读 Alon Zakai 关于 Emscripten 中的同步执行和文件系统访问 的文章。
获得更快的执行速度和更高的安全性
64 位 Firefox 的运行速度更快。我们可以访问新的硬件寄存器和指令来加速 JavaScript 代码执行。
对于 asm.js 代码,更大的地址空间也允许我们使用硬件内存保护,安全地从 asm.js 堆访问中移除边界检查。收益相当显著:在 arewefastyet.com 上报告的 asmjs-apps-*-throughput 测试中,速度提高了 8%-17%。
更大的 64 位地址空间还提高了 ASLR(地址空间布局随机化)的有效性,使其更难让 Web 内容利用浏览器漏洞。
Firefox 开发者版新增功能和改进
除了新的 64 位功能外,Firefox 38 开发者版还实施了许多新功能,就像它每 6 周更新一次一样。下面描述了其中一些功能。有关所有详细信息和正在进行的关联错误,请访问 发行说明。
WebRTC 更改
在 2013 年关于 WebRTC 的一篇博文中,我们记录了 WebRTC mozRTCPeerConnection 的一些解决方法和限制。其中一项修复方法涉及将多个 MediaStreams 添加到一个 mozRTCPeerConnection 并重新协商现有会话。
新版本的 Firefox 开发者版修复了这些问题。我们现在支持在 WebRTC 对话中将多个媒体流(摄像头、屏幕共享、音频流)添加到同一个 mozRTCPeerConnection 中。这允许开发人员为每个附加流调用 addStream 方法,该方法反过来会为客户端触发 onAddStream 事件。
重新协商允许在会话期间修改流,例如在会话期间共享屏幕流。现在可以在不重新创建会话的情况下实现这一点。
上周,我们宣布 从 Firefox 38 开始,WebRTC 要求完美前向保密(PFS)。我们将在下一篇文章中深入探讨 WebRTC 实现的细节。敬请关注。
BroadcastChannel API
BroadcastChannel API 允许在具有相同用户代理和来源的浏览器上下文之间进行简单消息传递,现在已经可用。以下是对如何在 Firefox 38 中使用 BroadcastChannel API 的更多详细说明和一些想法。
支持 KeyboardEvent.code
KeyboardEvent.code 现在已默认启用。code 属性使开发人员能够在没有键盘布局或键盘状态修改的情况下确定按下了哪个物理键。
有关用例的更多示例,请参阅 UI 事件规范(以前称为 DOM 级别 3 事件)的 动机部分。
XHR 日志记录
网络监视器 已经显示了有关 XMLHttpRequests 的大量信息,但通常使用控制台调试代码和网络请求。在 Firefox 的最新开发者版中,控制台现在支持在控制台日志记录中过滤 XMLHttpRequests。
请告诉我们您的想法
此版本中提供了许多其他改进。立即下载。告诉你的朋友。
与往常一样,您可以仔细查看 开发者版发行说明。请务必在 Firefox 开发者工具 UserVoice 频道 中分享您的反馈和功能创意。
关于 Dave Camp
Dave Camp 是 Mozilla Firefox 的工程总监。
32 条评论