TL;DR:从 Firefox 48 开始,Mozilla 将发布其第一个生产环境 Rust 代码,并且还会有更多代码发布!
Mozilla ❤ Rust
很难相信 Mozilla 研究院开始赞助 Rust 开发已经近七年了,当时它还只是一个雄心勃勃的研究实验,拥有一小群但非常忠实的社区。 令人惊讶的是,尽管 Rust 的历史悠久,充满了发明和发现,但它的核心原则始终如一。 Rust 核心团队的最初愿景——一个安全的 C++ 替代方案,可以让系统程序员更高效,让关键任务软件不易受到内存漏洞的影响,让并行算法更易处理——一直是 Mozilla 支持 Rust 项目并最终在生产环境中使用 Rust 的核心所在。
同样令人鼓舞的发展是,Rust 的安全性以及现代功能吸引了更多人加入系统编程。 对于 Mozilla 而言,以社区为基础的开发从字面上来说是 我们的使命,扩大我们的圈子至关重要。
因此,我很高兴地宣布一个重要的里程碑:从 Firefox 48 开始,Mozilla 将向所有桌面平台发布我们第一个 Rust 组件,并且很快将支持 Android。
将 Rust 集成到 Mozilla 的媒体堆栈中
Mozilla 最早使用 Rust 的团队之一是媒体播放团队。 现在,我们很容易看出媒体是现代 Web 体验的核心。 对于那些没有安全意识的人来说,可能不太明显的是,每次浏览器播放看似无害的视频(比如,一个 变色龙吹泡泡),它都会读取以复杂格式提供的数据,这些数据由你不知道也不信任的人创建。 事实证明,媒体格式以其能够欺骗解码器,进而暴露 恶意的安全漏洞而闻名,这些漏洞会利用 Web 浏览器实现代码中的内存管理错误。
这使得像 Rust 这样的 内存安全编程语言成为 Mozilla 工具箱中的一个引人注目的补充,可以防御 Web 上可能存在的恶意媒体内容。 因此,Ralph Giles 和 Matthew Gregan 构建了 Mozilla 的 第一个 Rust 媒体解析器。 我很高兴地宣布,他们的代码将成为 Firefox 中发布的第一个 Rust 组件。 对于 Rust 社区来说,这也是一项真正的成就:Rust 代码发布到数亿 Firefox 用户。 我们的初步测量结果表明,Rust 组件运行良好,并与它所替换的原始 C++ 组件提供了相同的结果——但现在是用内存安全的编程语言实现的。

更多内容即将推出!
许多人应得巨大的感谢,因为他们让我们走到今天。 Ralph Giles 和 Matthew Gregan 实现了该组件,Nathan Froyd、Nick Nethercote、Ted Mielczarek、Gregory Szorc 和 Alex Crichton 在将 Rust 集成到 Firefox 构建和工具系统以及确保它能够在我们所有平台上发布方面发挥了关键作用。
Rust 本身是来自一个充满活力且庞大的社区的产物。 没有全球 Rustaceans 的 问题、设计、代码以及 更多贡献,这些工作是不可能完成的。 作为 Rustacean 本人,我鼓励你尝试使用 Rust。 现在是 开始使用的好时机,并且越来越多地,参与 Mozilla 使用 Rust 的项目。
看到 Rust 代码在 Mozilla 的生产环境中发布,感觉像是漫长旅程的结束。 但这仅仅是 Mozilla 的第一步。 请关注我们!
关于 Dave Herman
Dave Herman 是 Mozilla 研究院的首席研究员和战略总监。
24 条评论