浏览器厂商开始默认支持WebAssembly格式

早在2016年11月,WebAssembly就已经进入“浏览器预览”(Browser Preview)阶段。在此阶段,主流浏览器都提供了一个具有WebAssembly开关标识的测试版本浏览器。随后的数月时间,各浏览器厂商需要在JavaScript API和二进制格式上做改进,并就此取得一致意见。近期发布的公告对WebAssembly做了界定:

如果没有实现经验和明确用途,那么无法对WebAssembly API和二进制格式的设计做进一步的改进。从这个意义上讲,最初的设计工作已经完成。(各浏览器厂商)就此已达成了共识。

这一共识标志着“浏览器预览”阶段的结束,意味着各个浏览器可以默认打开对WebAssembly格式的支持。由此往后,将来的特性设计会确保向后兼容。

虽然这一最初实现是一个重要的里程碑,但是并不会立刻被开发人员大范围地采用。尽管未来潜力无限,WebAssembly当前的语言支持仅限于C和C++,以及对Rust的初期支持。WebAssembly也没有提供垃圾回收机制,因此C#和Java这样的语言并不能正常运行,除非将它们自身的运行时作为二进制的组成部分。但是以后添加垃圾回收已在讨论中。

此外,WebAssembly当前缺少与DOM交互等重要特性。Mozilla工程师Lin Clark 写道,虽然“期待了很多的特性”,但是这些特性需要“有一个制定规范的过程”。WebAssembly社区组已经提供了一个供W3C工作组讨论的未来特性列表,但是这些特性何时可用尚未有时间表。

Clark在一系列的帖子说明了WebAssembly会改进性能的原因所在,并指出引入WebAssembly将会是一个“转折点”,可导致无法预料的性能改进,并提供迎接新挑战的能力。

今后几年,各浏览器厂商会在改进JIT编译器性能的同时,继续改进JavaScrip和WebAssembly间的交互。

现在已可用的Firefox 52支持WebAssembly格式。定于2017年3月14日发布的Chrome 57也将默认启用WebAssembly格式。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,533评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,256评论 19 139
  • 前言 转自博客园 原文 一、简单介绍一下什么是浏览器内核。浏览器最重要或者说核心的部分是“Rendering En...
    吴晗君阅读 3,709评论 1 30
  • 如果我走了 不必挂念 不必伤感 我是快乐地离开 脱离了我的迷茫痛苦 我忘了为什么要离开 只记得我要离开 离开这个让...
    Lqrs阅读 249评论 1 3
  • 拍摄机器:苹果6S 后期处理:黄油相机和snapseed 每天晚上回家,都喜欢走这条路,因为可以看到这座庄严肃穆的...
    恩煦阅读 101评论 3 1