最小可行性产品

正如在高层设计目标中提到的,WebAssembly第一个发布版本的目标是实现最小可行性产品(MVP)。这意味着某些我们已知的功能需求将在MVP之后出现,对于这部分功能,我们单列了一个post-MVP功能的计划文档。MVP将包含现有web浏览器已经具有并且在移动设备上运行良好的功能,这些大致和asm.js所具有的功能相同。

MVP主要部件的设计被拆分为如下几个文档:

  • 在WebAssembly中,可分发、加载和执行的代码单元被称为模块
  • 一个模块中WebAssembly代码的行为,按照其抽象语法树进行规范。
  • 被设计为能被WebAssembly原生地解码,WebAssembly的二进制格式,被规范化为模块的抽象语法树的二进制序列化
  • 能够使用工具(如汇编器,调试器,分析器)进行读和写操作的WebAssembly文本格式,被规范化为模块抽象语法树的文本化映射
  • 在设计上,WebAssembly将在Web浏览器非浏览器执行环境中同时实现。
  • 为了简化迁移到WebAssembly的同时保持对现有平台的支持,WebAssembly的MVP版本还将实现一个高效的polyfill库