W3C 今天发布了 WebAssembly 2.0 首批公开工作草案 (Public Working Drafts),总共包括 3 部分:
- WebAssembly Core Specification – Version 2.0:描述 WebAssembly 核心标准的 2.0 版本,这是一种安全、可移植的底层代码格式,旨在高效执行和提供紧凑的表示
- WebAssembly JavaScript Interface – Version 2.0:提供了一个明确的 JavaScript API 用于与 WebAssembly 交互
- WebAssembly Web API – Version 2.0:描述了 WebAssembly 与更广泛的 Web 平台的集成
请注意,作为首个公开的工作草案,这意味着它不一定会得到 W3C 及其成员的认可。这只是一份草稿文件,可能随时被其他文件更新、替换或弃用。
在已完成的 WebAssembly 2.0 提案中,包含的内容有:固定宽度的 SIMD、批量内存操作、引用类型、JavaScript 的 BigInt 对 WebAssembly i64 的支持、对多返回值的支持,以及全局可变的导入/导出。
WebAssembly 还有一些讨论中的提案正在进行,主要围绕着分支提示、尾部调用优化、异常处理、后 MVP 线程功能、宽松 SIMD 和其他暂定建议等。
WebAssembly 是一个虚拟指令集架构,具有许多用例,并且可以嵌入到许多不同的环境中,从而实现 Web 上的高性能应用程序。
WebAssembly 的设计目标:定义一个可移植,体积紧凑,加载迅速的二进制格式为编译目标,而此二进制格式文件将可以在各种平台(包括移动设备和物联网设备)上被编译,然后发挥通用的硬件性能以原生应用的速度运行。
WebAssembly 代码也很容易检查和调试,尤其是在 Web 浏览器等环境中,而 WebAssembly 最大的优点莫过于可大幅度提升 Javascript 的性能。