10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

浏览器厂商开始默认支持 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:003100
用户头像

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

关注

评论

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

谈谈控制感(2):怎么让我们更健康

史方远

个人成长 心理

KubeFATE:在Kubernetes上部署联邦学习平台

亨利笔记

人工智能 学习 FATE KUBEFATE

CDN云课堂 | EdgeRoutine技术专家教你把JS代码跑到CDN边缘

阿里云Edge Plus

Java CDN edge

CDN云课堂 |可编程CDN – EdgeScript应用场景、语言速览和实操演示

阿里云Edge Plus

CDN百科 | 最近,你的APP崩了吗?

阿里云Edge Plus

CDN

读懂才会用 : 瞅瞅Redis的epoll模型

小眼睛聊技术

redis 缓存 学习 开源 架构 后端

如何推动与影响中型前端团队的成长

堂主

研发管理 大前端 团队建设

GrowingIO 微服务 SaaS 与私有部署运行实践

GrowingIO技术专栏

大数据 微服务 SaaS

游戏夜读 | 如何优化缓冲加载?

game1night

MySQL数据类型DECIMAL用法

Simon

MySQL

CDN百科 | 假如没有CDN,网络世界会变成什么样?

阿里云Edge Plus

用SpreadJS实现在线Excel的录入与展示,提升企业医保信息化服务水平

葡萄城技术团队

SpreadJS 医保信息化 在线excel

一杯茶的时间,上手 Git 团队协作开发

图雀社区

git GitHub

用测试驱动开发学算法

escray

学习 CSD 认证实战营

可视化 Tekton 组件 Tekton Dashboard

郭旭东

Kubernetes cicd

抄作业

escray

学习 CSD 认证实战营

Kafka系列第6篇:消息是如何在服务端存储与读取的,你真的知道吗?

z小赵

Java 大数据 kafka 实时计算

DD 测试linux性能

HU

Java 编程基础

michaelliu

概念有时候很坑

伯薇

抽象 思考力 沟通 概念

奔向 10W+ 的第一次 update

赵新龙

InfoQ B站 Quora

TOTO 2020再次荣获iF、红点两项国际设计大奖

极客编

视达荣登ChinaBang Awards 2020智慧零售榜Top10

极客编

聊聊Serverless

kimmking

《Linux就该这么学》笔记(二)

编程随想曲

Linux

一文看懂开源工作流引擎 Flowable

八味阁

Java spring 开源 企业中台 工作流

由丰巢快递柜引发的思考

Neco.W

创业 思考 丰巢

多个 SSH keys 的配置,方便 Git 对不同仓库的使用与管理

与光

git GitHub SSH

并发编程如何才能不再头疼:iOS中的协程

超越杨超越

ios 协程 coobjc ucontext

我站在愚蠢之巅

escray

学习 CSD 认证实战营

想退休,可能没机会了

池建强

读书感悟

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