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) 交互。