本文已使用 Google Cloud Translation API 自动翻译。
某些文档最好以原文阅读。
Web Assembly (WASM) 是一种用于基于堆栈的虚拟机的新二进制指令格式。它旨在成为编程语言的可移植、大小和加载时间高效的编译目标,支持在 Web 上部署客户端和服务器应用程序。
Web Assembly (WASM) 是一种类似于汇编的低级语言,旨在成为 C、C++、Rust 等编程语言的编译目标。它是一种二进制指令格式,旨在在大小、加载时间和执行时间方面高效。 WASM 旨在成为编译高级语言的可移植目标,允许将它们部署在 Web 上,用于客户端和服务器端应用程序。
WASM 旨在成为一个安全的沙盒执行环境,允许代码在网络上运行而不会损害用户的安全。它还提供了一种比 JavaScript 更高效的在 Web 上运行代码的方法,从而实现更好的性能和更快的加载时间。
WASM 代码被提前 (AOT) 编译成二进制格式,然后由虚拟机加载和执行。这个虚拟机可以嵌入到网络浏览器中,也可以作为一个独立的应用程序来实现。
Web Assembly 于 2015 年由万维网联盟 (W3C) 首次宣布,作为创建新网络平台的一部分。该语言的初始版本于 2017 年发布,此后经历了多次更新。
WASM 提供了许多特性,使其成为 web 应用程序有吸引力的编译目标。
以下是一个用 C 编写并编译为 WASM 的简单程序示例:
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
该程序可以使用 Emscripten 等工具编译为 WASM:
emcc hello.c -o hello.wasm
这将生成一个 WASM 二进制文件,然后可以由 WASM 虚拟机加载和执行。
与其他网络技术相比,WASM 有许多优势:
但是,使用 WASM 也有一些缺点:
WASM 与其他网络技术相关,例如 JavaScript 和 WebGL。 JavaScript 是一种用于创建动态网页的脚本语言,而 WebGL 是一种图形 API,允许在 Web 浏览器中使用硬件加速 3D 图形。
WASM 是一项令人兴奋的新技术,它有可能彻底改变 Web 应用程序的开发方式。它提供了一种比 JavaScript 更高效的在 Web 上运行代码的方法,从而实现更好的性能和更快的加载时间。它还被设计成一个安全的沙盒执行环境,允许代码在 Web 上运行而不会危及用户的安全。