📅  最后修改于: 2020-11-02 05:08:28             🧑  作者: Mango
WebAssembly是一种新的Web计算机编程语言。 WebAssembly代码是一种低级二进制格式,与Web兼容并且可以轻松地在现代Web浏览器中运行。生成的文件很小,并且加载和执行速度更快。您现在可以将C,C++,Rust等语言编译为二进制格式,并且可以像javascript一样在网络上运行。
根据WebAssembly的官方网站(可从https://webassembly.org/获得) ,将其定义为WebAssembly(缩写为Wasm)是基于堆栈的虚拟机的二进制指令格式。 Wasm被设计为可移植目标,用于编译C / C++ / Rust等高级语言,从而可以在Web上为客户端和服务器应用程序进行部署。
Web Assembly不是开发人员必须编写的东西,但是代码是用C,C++,Rust等语言编写的,可以编译为WebAssembly(wasm)。可以在网络浏览器中运行相同的代码。
Web汇编是一种新语言,代码是低级汇编语言,但是由于具有文本格式功能,因此该代码可读且可以在必要时进行调试。
WebAssembly的开放标准是在W3C社区组中开发的,该组包括所有主要浏览器的代表以及W3C工作组。
WebAssembly的主要目标如下所述-
更快,高效和可移植-WebAssembly代码旨在利用可用的硬件在不同的平台上更快地运行。
易于阅读和调试-WebAssembly是一种底层汇编语言,具有文本格式支持,可让您调试任何问题的代码,并在必要时重写代码。
安全性-WebAssembly可以安全地在Web浏览器上运行,因为它会处理权限和同源策略。
以下是WebAssembly的优点-
运行现代浏览器-WebAssembly能够在没有可用的现代Web浏览器上执行任何问题。
多种语言支持-C,C++,Rust,Go之类的语言现在可以将代码编译为WebAssembly并在Web浏览器中运行。因此,无法在浏览器中运行的语言现在将能够运行。
更快,更高效,更可移植-由于代码较小,因此加载和执行速度更快。
易于理解-开发人员不必在理解WebAssembly编码上花费太多精力,因为他们不必在WebAssembly中编写代码。而是在WebAssembly中编译代码并在Web上执行相同的代码。
易于调试-尽管最终代码是低级汇编语言,但您也可以以文本格式获取它,这易于阅读和调试。
以下是WebAssembly的缺点-
WebAssembly仍在开发中,现在决定它的未来还为时过早。
WebAssembly依赖javascript与文档对象模型(DOM)进行交互。