WebAssembly - 概述



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

WebAssembly 的定义

根据 WebAssembly 的官方网站(可在 https://webassembly.net.cn/ 找到),它被定义为 WebAssembly(缩写为 Wasm)是一种面向栈式虚拟机的二进制指令格式。Wasm 被设计为 C/C++/Rust 等高级语言的便携式编译目标,能够在 Web 上部署客户端和服务器应用程序。

Web Assembly 不是开发人员必须编写的语言,而是用 C、C++、Rust 等语言编写代码,然后编译成 WebAssembly (wasm)。相同的代码可以在 Web 浏览器内运行。

Web Assembly 是一种新的语言,代码是低级汇编语言,但凭借其文本格式功能,代码具有可读性,并且如果需要,可以进行调试。

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

广告