Categories
程式開發

WebAssembly是Deno的好搭档


本文要点

  • Deno和Node.js都在基于C/C++的运行时上执行JavaScript代码,以实现较高的性能。
  • Deno是单一的二进制应用,不兼容NPM模块,并且很难将原生模块加入应用中。
  • WebAssembly提供了一种在Deno应用中运行高性能代码的途径。
  • 对于服务端应用程序来说,WebAssembly是安全、可移植和轻量级的容器。
  • Rust编译器工具链为WebAssembly提供了强大的支持。

备受期待的Deno项目终于发布了1.0版本!Deno是由Node.js的创始人Ryan Dahl创建的,旨在解决他所说的“我为Node.js感到遗憾的十件事”。

Deno抛弃了NPM和臭名昭著的node_modules。它是单个二进制可执行文件,可运行以TypeScript和JavaScript编写的应用程序。

WebAssembly是Deno的好搭档 1

但是,尽管TypeScript和JavaScript适合大多数Web应用程序,但它们可能难以满足计算密集型任务的需求,如神经网络训练和推理、机器学习和加密应用等。实际上,Node.js就经常需要使用原生库来执行这些任务(例如使用openssl执行加密任务)。

既然没有类似NPM的系统来加入原生模块的话,我们该怎样在Deno上编写需要原生性能的服务端应用程序呢?这就要轮到WebAssembly上场了!在这篇文章中,我们将在Rust中编写一些高性能函数,并将它们编译为WebAssembly,然后在你的Deno应用程序中运行它们。

原文链接:【https://www.infoq.cn/article/bkXMMfMruVPC8MjAODIR】。未经作者许可,禁止转载。