2

据我了解,WASM 与 MSIL 的设计非常接近,但设计用于在浏览器中工作。所以它是代码的低级表示。

我可以生成 WASM 代码并将其连接到页面,而不是生成像 bundle.js 这样的 js-bundle 的缩小版本吗?

4

1 回答 1

1

目前,WebAssembly 还不是 JavaScript 的合适替代品。取代 JavaScript 根本不是设计目标。它可以替代 JavaScript 遇到的一些用例,例如 asm.js,但是用于操作 DOM 的缩小和捆绑逻辑不太适合 WebAssembly。

事实上,WebAssembly 没有办法直接访问 Web API,例如那些操作 DOM、触摸画布、处理输入事件等的 Web API。这在未来可能会改变

从您的问题来看,您似乎在其“传统”用例中使用 JavaScript:编写一个与用户交互的应用程序。除非你有 C++ 等语言的代码,否则使用 WebAssembly 不太可能在中短期内对你有利。即使从长远来看,JavaScript 也非常适合该目的。打包和压缩帮助它克服了一些传输开销。

话虽如此,您可以在 WebAssembly 中编写整个应用程序并将其连接到 JavaScript 导入以与用户交互。由于上述原因,这可能不是一个好主意。

于 2017-03-21T14:19:03.183 回答