Java 小程序和 Flash 是插件,而 WebAssembly 是内置在浏览器中的 Web 标准,类似于 HTML、Javascript 和 CSS。此外,Java 和 Flash 是它们自己的编程环境,具有语言、GUI 库、事件系统等。WebAssembly 更简单:它只是一种在浏览器中运行类本机代码的方法,但它不是任何新的开发环境,尤其是它只是使用与早期的 Javascript 相同的 API 来执行任何显示的操作,例如用于图形的 WebGL。我认为 WASM 是由浏览器制造商开发的,他们自己已经添加了对浏览器的支持并不断优化它,注意安全等,这有很大的不同。有了插件,它就更加独立了,而且它们都有性能(在最少的内存使用)和安全问题。WebAssembly 已经取得了巨大的成功,AFAIK 大多数网页游戏(就玩得最多的游戏而言)都在其上运行(通常使用 Unity 制作),而强大的工具(如 SketchUp 3D 编辑器)已被移植到 WASM 上的浏览器中运行.顺便说一句,我认为你可以编译 Flash 运行时引擎,我想 JVM 也可以编译到 WASM,这样就可以在这样的浏览器中运行 Flash 和 Java。也许这就是经典的 Flash 游戏在网络上生存的方式。也许有人已经这样做了,还没有检查,我已经看到 Lua 和 Python 解释器在浏览器中运行,因为早期的 Emscripten 测试早在 asm.js 时代。最后是关于历史的注释:Kripken,即 Alon Zakai,专门开发了 asm.js,因为他担心 Unity 插件会成为“新的 Flash”。当时我们都在开发开源虚拟 3D 世界,并在 IRC 上讨论过它。所以 WebAssembly 的出现正是为了消除对 Web 上 3D 专有插件的需求。当然,也可以很好地满足其他计算密集型需求。他是以色列大众 2 人创业公司中唯一的开发人员,浏览器开发人员没有参与,但后来 Mozilla 聘请了他。