进入里程碑阶段的WebAssembly会威胁到JS吗?

Posted 前端之巅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进入里程碑阶段的WebAssembly会威胁到JS吗?相关的知识,希望对你有一定的参考价值。

WebAssembly的开发已经进入浏览器预览阶段,这是其在标准化路上的一个重要里程碑。

一、WebAssembly是什么?

WebAssembly是一项由Mozilla、谷歌、微软及苹果联合开发的项目,致力于为各种语言定义一种二进制形式的编译目标格式,并设计一种可与当前的Web平台集成并在Web环境中执行的方案,最终实现在各类平台上以接近原生的速度调用常见的硬件功能。

二、诞生原因

三年前,我们曾讨论过“是否需要一种通用的Web字节码?”彼时,Mozilla在推asm.js,谷歌支持PNaCI,苹果在开发FLTJIT,而微软没有对其中的任何一种表示出兴趣。而后来,所有四个主要的浏览器供应商一致同意创建一种面向Web的二进制格式WebAssembly或WASM/wasm。有人将其称为字节码,但它并不是传统意义上的字节码,Brendan Eich指出:“WebAssembly实际上是一个经过压缩的AST编码,而不是一堆字节码。小声点,不要告诉任何人。如果愿意,你还是可以称它为字节码。”

WebAssembly的初衷是,让使用JavaScript之外的语言编写的程序可以运行在服务器、移动或IoT设备上的浏览器和其它JS代理中。

WASM将使得使用任何能够编译成WASM的语言编写Web代码成为可能,从而使得JavaScript将直接与其它语言竞争。

三、前进步伐

今年3月份,Microsoft, Google和Mozilla纷纷在其博客文章中宣布,最新的浏览器中会展示WebAssembly的功能。这次联合声明是标准化WebAssembly二进制文件格式的重要的一步。各浏览器巨头的这次合作,使得他们可以互相交流文件格式及其未来发展趋势。

在Google的V8引擎项目声明中,Seth Thompson指出:

以上是关于进入里程碑阶段的WebAssembly会威胁到JS吗?的主要内容,如果未能解决你的问题,请参考以下文章

漏洞预警| Google Chrome处理 WebAssembly Locals 时存在整数溢出漏洞

关于云原生开源,有什么新东西?

JDK 11 进入候选发布阶段,计划9月25日发布正式版

从 ASM.JS 到 WebAssembly

1.0项目MVP阶段时间规划和里程碑规划

1.0项目MVP阶段时间规划和里程碑规划