WebAssembly 的整体目标 定义了 WebAssembly 适合做什么。哪些是在 Web 平台可以实现的,哪些是非 Web 平台可以实现的。下面给出了一个不完善的无序列表,包括应用/领域/计算等方向,它们可能将从 WebAssembly 中受益的, WebAssamlby 的设计过程中也会将它们做为用例。
- 更好的让一些语言和工具可以编译到 Web 平台运行。
- 图片/视频编辑。
- 游戏:
- 需要快速打开的小游戏
- AAA 级,资源量很大的游戏。
- 游戏门户(代理/原创游戏平台)
- P2P 应用(游戏,实时合作编辑)
- 音乐播放器(流媒体,缓存)
- 图像识别
- 视频直播
- VR 和虚拟现实
- CAD 软件
- 科学可视化和仿真
- 互动教育软件和新闻文章。
- 模拟/仿真平台(ARC, DOSBox, QEMU, MAME, …)。
- 语言编译器/虚拟机。
- POSIX用户空间环境,允许移植现有的POSIX应用程序。
- 开发者工具(编辑器,编译器,调试器...)
- 远程桌面。
- VPN。
- 加密工具。
- 本地 Web 服务器。
- 使用 NPAPI 分发的插件,但会受限于 Web 安全协议,可以使用 Web APIs。
- 企业软件功能性客户端(比如:数据库)
- 游戏分发服务(便携、安全)。
- 服务端执行不可信任的代码。
- 服务端应用。
- 移动混合原生应用。
- 多节点对称计算
- 整个代码库都用 WebAssembly。
- 主要使用 WebAssembly 计算,UI 使用 JavaScript/HTML。
- 在大型 JavaScript/HTML 应用中复用已经存在的 WebAssembly 代码。像使用助手库一样,分担一些计算任务。