我遇到了web-assembly wasm,甚至我尝试了一些使用web-assembly的代码,最近我读到了wasi,我注意到以太坊Ewasm,区块链中的Cosmos coswasm。它们之间的主要区别是什么?什么时候WASI是正确的解决方案,什么时候应该使用WebAssembly?
WASI是WASM的扩展,不仅可以在Web上运行,还可以在任何平台上运行。WebAssembly 为概念机器提供了一个构建目标,这意味着单个二进制文件可以在不同的处理器和计算机上运行(而不必构建多个不同的二进制文件(。WASI 提供了一个概念操作系统,这意味着程序可以使用一组通用的命令和子例程与操作系统交互,而无需重写来处理操作系统之间的差异。
如果你的代码只需要在浏览器中运行,你应该使用WebAssembly。如果要与程序中的操作系统进行交互,则可能需要考虑使用 WASI。
Mozilla 的描述