QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

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

关注

评论

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

案例介绍:使用A-Ops性能热点火焰图进行性能诊断

openEuler

Linux 操作系统 openEuler 性能测评 A-Ops

AI for Science系列(一) :飞桨加速CFD(计算流体力学)原理与实践

飞桨PaddlePaddle

paddle 算法 飞桨 框架技术

【实操演示】使用NineData修改来管理ClickHouse的数据库表结构。

NineData

数据库 开发者 Clickhouse 表结构 NineData

WorkPlus“Meet”,让企业高效协作的视频会议系统

BeeWorks

学术贴 | FPGA 加速图数据库查询执行

KaiwuDB

数据库

软件测试 | 接口请求构造

测吧(北京)科技有限公司

测试

软件测试/测试开发 | App测试时常用的adb命令你都掌握了哪些呢?

测试人

android 软件测试 自动化测试 测试开发 adb

部署 OpenLDAP 对接到 DataEase实现统一用户管理

搞大屏的小北

ldap openldap 统一管理 DataEase

大曝光!从RabbitMQ平滑迁移至Kafka架构设计方案!

艾小仙

kafka 架构 RocketMQ RabbitMQ

拒绝“ 背锅”!数据治理从策略到落地,发挥CMDB价值!

嘉为蓝鲸

CMDB 自动化运维 嘉为蓝鲸

你什么档次?敢和我用一样的即时通讯平台WorkPlus?

BeeWorks

调查报告解读之国外数据库篇:MySQL国内使用率第一,多少企业有意替换国外产品?

墨天轮

MySQL 数据库 oracle redis 国产数据库

多个云服务器管理小技巧-行云管家

行云管家

云计算 云服务器 云管理

还在头疼每月房贷还款,这个房贷计算机让你一目了然

华为云开发者联盟

人工智能 华为云 企业号 2 月 PK 榜 华为云开发者联盟

自动化运维和普通运维有什么区别?

嘉为蓝鲸

自动化运维 嘉为蓝鲸

OceanBase CTO杨传辉:放手去干,这行没有35岁危机

OceanBase 数据库

数据库 oceanbase

使用 NGINX 在 Kubernetes 中对 TCP 和 UDP 流量进行负载均衡

NGINX开源社区

nginx Kuber udp tpc 企业号 2 月 PK 榜

GhatGPT在信息安全方面的应用

HummerCloud

ChatGPT

活动回顾丨研发效能度量线下沙龙圆满举办

Kyligence

数据分析 Kyligence Zen

缺少IT人员的服装行业该如何进行数字化转型?

优秀

数字化转型

软件测试 | 接口测试框架

测吧(北京)科技有限公司

测试

10分钟学会使用 Loki 日志聚合系统

北京好雨科技有限公司

Kubernetes 云原生 rainbond 企业号 2 月 PK 榜

AI for Science系列(三):赛桨PaddleScience底层核心框架技术创新详解

飞桨PaddlePaddle

人工智能 paddle 飞桨 框架技术

如何使用DevEco Studio创建Native C++应用

OpenHarmony开发者

OpenHarmony

AI for Science系列(二):基于AI框架的CFD工具组件!赛桨v1.0 Beta API介绍以及典型案例分享!

飞桨PaddlePaddle

深度学习 paddle API 飞桨

购买LED液晶拼接屏的十大原则

Dylan

显示器 LED显示屏 led显示屏厂家

可观测落地实践——从战略管理到工具落地

嘉为蓝鲸

可观测 自动化运维 嘉为蓝鲸

Gluten 首次开源技术沙龙成功举办,更多新能力值得期待

Kyligence

开源技术 Gluten

活动预告 | GAIDC 全球人工智能开发者先锋大会

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

江苏省16家正规等保测评机构名单看这里!

行云管家

等保 等级保护 等级保护机构 江苏

软件测试 | 接口测试用例设计

测吧(北京)科技有限公司

测试

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