jingcoco
2020-05-14 08:00:13 +08:00
不了解,不过我搜了一下
WebAssembly 是一门不同于 JavaScript 的语言,但是,它不是用来取代 JavaScript 的。相反,它被设计为和 JavaScript 一起协同工作,从而使得网络开发者能够利用两种语言的优势:
JavaScript 是一门高级语言。对于写网络应用程序而言,它足够灵活且富有表达力。它有许多优势——它是动态类型的,不需要编译环节以及一个巨大的能够提供强大框架、库和其他工具的生态系统。
WebAssembly 是一门低级的类汇编语言。它有一种紧凑的二进制格式,使其能够以接近原生性能的速度运行,并且为诸如 C++和 Rust 等拥有低级的内存模型语言提供了一个编译目标以便它们能够在网络上运行。(注意,WebAssembly 有一个在将来支持使用了垃圾回收内存模型的语言的高级目标。)
随着 WebAssembly 出现在了浏览器中,我们前面提到的虚拟机将会加载和运行两种类型的代码——JavaScript 和 WebAssembly 。