WebAssembly - 概述


WebAssembly 是一种新的网络计算机编程语言。WebAssembly 代码是一种低级二进制格式,与 Web 兼容,并且可以在现代 Web 浏览器中轻松运行。生成的文件很小,加载和执行速度更快。您现在可以将 C、C++、Rust 等语言编译为二进制格式,并且它可以像 javascript 一样在网络上运行。

WebAssembly 的定义

根据 WebAssembly 的官方网站(https://webassemble.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 的优点 -

  • Run is Modern Browsers - WebAssembly 能够在可用的现代 Web 浏览器上执行,没有任何问题。

  • 多语言支持- C、C++、Rust、Go 等语言现在可以将代码编译为 WebAssembly 并在 Web 浏览器中运行相同的代码。因此,以前无法在浏览器中运行的语言现在可以在浏览器中运行。

  • 更快、更高效、更便携- 由于代码较小,因此加载和执行速度更快。

  • 易于理解- 开发人员不必在理解 WebAssembly 编码方面花费太多精力,因为他们不必在 WebAssembly 中编写代码。相反,在 WebAssembly 中编译代码并在 Web 上执行相同的代码。

  • 易于调试- 虽然最终代码是低级汇编语言,但您也可以以文本格式获取它,这很容易阅读和调试。

WebAssembly 的缺点

以下是 WebAssembly 的缺点 -

  • WebAssembly 仍在开发中,现在决定它的未来还为时过早。

  • WebAssembly 依赖于 javascript 与文档对象模型 (DOM) 进行交互。