WebAssembly(简称 Wasm)是一种面向堆栈式虚拟机的二进制指令格式。Wasm 被设计为编程语言的便携式编译目标,可用于在 Web 上部署客户端和服务器应用程序。

Wasm 的开发者参考文档可以在 MDN 的 WebAssembly 页面 上找到。WebAssembly 的开放标准由 W3C 社区组(包括来自所有主要浏览器的代表)和 W3C 工作组 开发。

高效快速

Wasm 的 堆栈机 被设计为以大小和加载时间高效的 二进制格式 进行编码。WebAssembly 旨在通过利用 各种平台上常见的硬件功能 以原生速度执行。

安全

WebAssembly 描述了一个内存安全的沙盒 执行环境,它甚至可以在现有的 JavaScript 虚拟机中实现。当 嵌入到 Web 中 时,WebAssembly 将强制执行浏览器相同的来源和权限安全策略。

开放且可调试

WebAssembly 被设计为以 文本格式 进行格式化,用于调试、测试、实验、优化、学习、教学和手动编写程序。当 查看 Web 上 Wasm 模块的源代码 时,将使用文本格式。

开放式 Web 平台的一部分

WebAssembly 被设计为保持 Web 的无版本、特性测试和向后兼容性。WebAssembly 模块将能够调用和退出 JavaScript 上下文,并通过与 JavaScript 可访问的相同 Web API 访问浏览器功能。WebAssembly 还支持 非 Web 嵌入。