Mozilla 有氧化项目:
Oxidation 的目标是让在 Firefox 中使用 Rust 变得更容易、更愉快,并相应地增加 Firefox 中的 Rust 代码量。
但它没有提到 Rust 是否支持附加组件。
如今,您可以使用WebExtensions和WebAssembly(在此处指导如何编译(。然后,您只需将其作为wasm
代码嵌入到您的附加组件中,就像在任何网站中一样。
例如,这个附加组件就是这样做的。(在Reddit上找到(
我认为不可能在 Rust 中编写一个完整的附加组件。尽管您可以使用本机消息传递从附加组件与使用 Rust 构建的二进制文件进行通信。当附加组件使用本机消息传递时,浏览器会在系统上启动本机二进制文件,并通过 stdio 交换以 JSON 编码的消息。
Mozilla 有关于 MDN 上原生消息传递的详细信息。