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