写点什么

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

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

关注

评论

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

低代码实施复杂应用的实践方法

明道云

基于大语言模型LangChain框架:知识库问答系统实践

博文视点Broadview

浙江电信基于 Amoro + Apache Iceberg 构建实时湖仓实践

Amoro Community

Apache iceberg 湖仓一体 大数据 开源 电信运营商

软件测试/测试开发|如何定位bug,一篇文章告诉你

霍格沃兹测试开发学社

Nacos 荣获 GLCC 优秀社区,同时 2.3.0-BETA 发布,欢迎试用

阿里巴巴云原生

阿里云 云原生 nacos

Go 1.22新特性前瞻

Tony Bai

golang Go 语言 go1.22

E3PO:畅想 360° 视频传输开发实战

恒山其若陋兮

E3PO 畅想 360° 视频传输

连锁餐饮数字化:一体化运营管控平台

明道云

提升用户体验--了解和探索无障碍性测试

QE_LAB

无障碍 测试技术

Vue 2最终版本 v2.7.16 已发布

南城FE

JavaScript Vue 前端开发

拼多多商品ID取商品详情API:电商行业核心价值及实时数据采集

tbapi

拼多多API接口 拼多多商品详情数据接口 拼多多数据接口

技术人的 2023 总结:人工智能-基于机器学习的环境污染影响评估学习

恒山其若陋兮

#技术人的2023总结

2024年度腾讯犀牛鸟精英人才计划开放申请

极客天地

2023年度系列榜单出炉 这些优质应用你都用过多少?

最新动态

如何用零代码工具去经营好企业的客户

明道云

极狐GitLab 集成 sonarqube 实践指南

极狐GitLab

C 语言教程:条件和 if...else 语句

小万哥

程序人生 编程语言 软件工程 C/C++ 后端开发

企业云桌面解决方案

青椒云云电脑

云桌面 云桌面解决方案

软件测试/测试开发|常见软件测试框架类型:TDD、BDD、DDD、ATDD、DevOps介绍

霍格沃兹测试开发学社

一起学Elasticsearch系列-写入和检索调优

Java随想录

Java 大数据 Elastic Search

绝地反击,不做背锅侠!

尚思卓越

运维 堡垒机

Kuasar成为CNCF官方项目,探索容器运行时新纪元

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟

图形工作站跟服务器有什么区别?

青椒云云电脑

图形工作站

OpenAI换血大震动始末:“ChatGPT之父”奥特曼,缘何被“扫地出门”?

芯动大师

ATorch:蚂蚁开源PyTorch分布式训练扩展库,助你将硬件算力压榨到极致

AI Infra

人工智能 aiinfra

IPQ6018 vs. IPQ8074: A Selection Guide for Wireless Network Processors

wallysSK

我在平台与AIGC的交互的组件设计方案(2)

大东(AIP智能体运营专员)

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