写点什么

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

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

关注

评论

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

AI 模型编译器 MegCC 开源,解决推理引擎体积问题

MegEngineBot

深度学习 开源 MegEngine MegCC AI 模型编译器

谈谈vue面试那些题

bb_xiaxia1998

Vue

代码质量与安全 | 想在发布竞赛中胜出?Sonar来帮你

龙智—DevSecOps解决方案

代码质量 代码安全

业界首个!快手提出亿级别多模态短视频百科体系——快知Kuaipedia

Geek老T

短视频 快手 泛知识

DevUI开源经验分享:从0到1开始运营你的开源项目

华为云开发者联盟

开源 华为云 企业号十月 PK 榜

如何准备好一场vue面试

bb_xiaxia1998

Vue

SAP 电商云的 Spartacus Storefront 如何配置多个 JavaScript Application

汪子熙

angular SAP commerce 电商云 11月月更

2022年中国汽车OTA行业发展洞察

易观分析

汽车 OTA

vue这些原理你都知道吗?(面试版)

bb_xiaxia1998

Vue

react的jsx和React.createElement是什么关系?面试常问

beifeng1996

React

谈谈企业级前端应用中客户端渲染和服务器端渲染的区别

汪子熙

前端开发 SSR SAP Spartacus 11月月更

EMQ荣获“2022中国移动创客马拉松OneOS物联网专题赛”三等奖

EMQ映云科技

物联网 IoT emqx 云边协同 车路协同

vue面试之Composition-API响应式包装对象原理

bb_xiaxia1998

Vue

云栖大会,未来万物皆是计算机?

阿里云视频云

阿里云 云栖大会

在Dubbo中,模板方法模式 用得真6

小小怪下士

Java 程序员 dubbo 阿里

专业移动办公解决方案!远程控制软件RayLink内测火热进行中!

RayLink远程工具

远程控制软件 远程办公软件 远控软件 远程桌面连接 RayLink

React源码分析6-hooks源码

goClient1992

React

万字详解JVM,让你一文吃透

华为云开发者联盟

开发 华为云 企业号十月 PK 榜

react相关面试知识点总结

beifeng1996

React

面试官最喜欢问的几个react相关问题

beifeng1996

React

高效数据通道支撑生产情况实时分析与可视化|工业4.0智慧工厂

EMQ映云科技

物联网 IoT 数据可视化 11月月更 云边协同

我把分布式音乐播放器适配了Stage模型

OpenHarmony开发者

OpenHarmony

python中私有成员和公有成员

乔乔

11月月更

云原生系列四:Yelp 如何在 Kubernetes 上运行 Kafka

叶秋学长

kafka Kubernetes 11月月更 Yelp

认证升级 | 秒云再次获评软件企业认证

MIAOYUN

双软认证 软件企业认证 软件产品认证

React面试:谈谈虚拟DOM,Diff算法与Key机制

beifeng1996

React

HDC 2022精彩继续,多重亮点进来看!

HarmonyOS开发者

HarmonyOS

软件测试面试真题 |你用过哪些用例设计方法?

测试人

软件测试 面试题 测试用例

京东云开发者|深入JDK中的Optional

京东科技开发者

jdk java8 NPE 空指针 Optional

React源码分析7-state计算流程和优先级

goClient1992

React

docker-compose下的java应用启动顺序两部曲之一:问题分析

程序员欣宸

Java Docker Docker-compose 11月月更

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