写点什么

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

  • 2017-03-13
  • 本文字数:931 字

    阅读完需:约 3 分钟

各浏览器厂商在 WebAssembly 相关的工作上已经达成了一种“共识”,这使得各浏览器开始默认支持 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 格式。

查看英文原文: Browser Vendors Start Shipping WebAssembly by Default


感谢张卫滨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-03-13 19:003261
用户头像

发布了 227 篇内容, 共 86.4 次阅读, 收获喜欢 28 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营第十二周作业

月殇

极客大学架构师训练营

Java Parser应用介绍

maijun

架构师训练营第 1 期 week12 总结

张建亮

极客大学架构师训练营

第十二周作业

Meow

架构师训练营第十二周作业

Shunyi

极客大学架构师训练营

极客时间架构师培训 1 期 - 第 12 周作业

Kaven

[架构师训练营第 1 期] 第12周学习总结

猫切切切切切

极客大学架构师训练营

架构师训练营第十二周总结

月殇

极客大学架构师训练营

第十二周总结

fmouse

架构师训练营第一期第十二周作业

Leo乐

极客大学架构师训练营

天下武功,唯“拆”不破之MECE原则二| 技术人应知的创新思维模型 (6)

Alan

个体成长 技术人应知的创新思维模型 28天写作

运维数字化

春如夏花

企业架构 DevOps 数字化运维

作业-第八周

ray-arch

week12作业

龙卷风

架构师一期

Week8作业

lggl

第十一周 作业2

Yangjing

极客大学架构师训练营

Week8总结

lggl

如何更简单的使用Polly

八苦-瞿昙

随笔杂谈 aop

架构师训练营第 12 周课后练习

叶纪想

极客大学架构师训练营

架構師訓練營 week12 總結

ilake

第八周学习总结

晴空万里

架构师训练营第2期

组合设计模式实现绘图Pannel

我们新四军不拿群众一针一线

使用 Docker 部署 canal 服务,实现 MySQL 数据库 binlog 日志解析

AlwaysBeta

Python MySQL 数据库 Docker Binlog

架构师训练营 1 期第 12 周:数据应用(一)- 总结

piercebn

极客大学架构师训练营

第十一周 作业1

Yangjing

极客大学架构师训练营

第十二周作业

fmouse

极客时间架构师训练营 1 期 - 第 12 周总结

Kaven

第十二周作业

极客大学架构师训练营

week12学习总结

龙卷风

架构师一期

架构师训练营 1 期 -- 第十二周作业

曾彪彪

极客大学架构师训练营

第十二周学习总结

Meow

浏览器厂商开始默认支持WebAssembly格式_JavaScript_David Iffland_InfoQ精选文章