Web Assembly
Web Assembly 被描述为一个语言运行时,为支持多语言前端而生,为了让不同的语言都能够像 JavaSCript 那样运行在 Web 平台上,该运行时由 JS 引擎来实现,支持其他语言编译成 Web Assembly 目标从而运行在 JS 引擎中,实现和 JS 的互操作性。
目前在所有主流语言中,Rust 是第一顺位的 WASM 支持者,拥有高性能、安全性、打包体积、开发效率等诸多优势,是 Web 平台的第二顺位公民。
JS 和 Web 平台的受限于单线程和脚本语言性能困扰,可以采用 Web Worker 技术和 Web Assembly 技术来缓解 CPU 密集任务时面临的困难。使用 Rust 编写 WASM 可以作为 JS 的二进制插件,从而胜任 CPU 密集型任务。
另一方面,WASM 也能够直接支持在 WASM 运行环境中访问 DOM 结构,从而不依赖显示的 HTML/CSS 文件来进行 UI 展示。