你可以使用Rust编写Firefox附加组件/扩展吗?

typ*_*ypo 6 firefox browser-addons rust

Mozilla有氧化项目:

Oxidation的目标是在Firefox中使用Rust更容易,更愉快,相应地增加Firefox中Rust代码的数量.

但它没有提及是否支持加载项的Rust.

rug*_*ugk 5

如今,您可以使用 WebExtensions 和WebAssembly此处指导如何编译)。然后,您只需将其作为wasm代码嵌入到您的附加组件中,就像在任何网站中一样。

例如,这个附加组件就是这样做的。(在reddit上找到


Wes*_*Wes 3

我认为用 Rust 编写一个完整的插件是不可能的。尽管您可以使用本机消息传递从附加组件与使用 Rust 构建的二进制文件进行通信。当附加组件使用本机消息传递时,浏览器会在系统上启动本机二进制文件,并通过 stdio 交换以 JSON 编码的消息。

Mozilla在 MDN 上提供了有关本机消息传递的详细信息