使用Neon vs Wasm编写Node.js模块之间的技术区别是什么?

时间:2019-04-06 18:19:23

标签: rust webassembly

我希望使用Rust为node.js编写一个npm模块。经过一些快速研究,我发现了两种解决方法:

  • Neon:“用于编写安全,快速的本机Node.js模块的锈迹绑定”
  • Wasm:“基于堆栈的虚拟机的二进制指令格式。”

使用其中一种方法有什么技术区别?

1 个答案:

答案 0 :(得分:1)

Neon提供绑定,使在Rust中编写本机节点模块变得容易。顾名思义,本机节点模块被编译为本机代码(通常在安装时)。

Wasm(WebAssembly)是浏览器和节点的新运行时,旨在成为各种语言的快速高效编译目标。它与JavaScript运行时一起执行,共享线程/内存。 Rust具有非常好的WebAssembly支持和绑定。

所以主要区别是Neon可以编译为本机,而使用wasm则可以编译为新的运行时(具有接近本机的性能)。

WebAssembly可以减少使用本机节点模块所涉及的一些摩擦。