50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

ScheduledThreadPoolExecutor源码解读(二)ScheduledFutureTask时间调度执行任务(延迟执行、周期性执行)

徐同学呀

线程池 Java源码 ScheduledThreadPool JUC

架构实战营 - 模块 2- 作业

请弄脏我的身体

架构实战营

Github霸榜数月!原来是阿里大牛最新的Java性能优化实战笔记

钟奕礼

Java 编程 程序员 架构 面试

FutureTask源码解读,阻塞获取异步计算结果(阻塞、取消、装饰器、适配器、Callable)

徐同学呀

Java源码 JUC Future

阿里P8整理出SQL笔记:收获不止SOL优化抓住SQL的本质

Java架构之路

Java 程序员 架构 面试 编程语言

ThreadPoolExecutor源码解读(一)重新认识ThreadPoolExecutor(核心参数、生命周期、位运算、ThreadFactory、拒接策略)

徐同学呀

线程池 Java源码 JUC ThreadPoolExecutor

ThreadPoolExecutor源码解读(四)如何正确使用线程池(总结坑点+核心参数调优)

徐同学呀

ThreadPoolExecutor

HarmonyOS开发者日再现上海,生态最新进展、核心代码解析、创新案例分享

Geek_283163

读懂「数据」在区块链网络中流动的3种范式?

CECBC

区块链

增强产业链供应链自主可控能力,区块链能否贡献力量?

CECBC

区块链

Anolis OS 8.2 RC2 发行,支持飞腾、海光、兆芯、鲲鹏等芯片

阿里云基础软件团队

为极客时间增加自动提醒功能,督促用户回来上课

克比

程序员3年CRUD从8K涨到20K,这4个月我到底经历了什么?

码农之家

编程 程序员 互联网 面试 职场

架构师实战营 模块二总结

代廉洁

架构实战营

openLooKeng如何应对“野蛮零散”的大数据

LooK

大数据 开源 openLooKeng

ThreadPoolExecutor源码解读(三)如何优雅的关闭线程池(shutdown、shutdownNow、awaitTermination)

徐同学呀

线程池 Java源码 JUC ThreadPoolExecutor

阿里架构师如是说:权限系统就该这么设计

Java架构师迁哥

ThreadPoolExecutor源码解读(二)execute提交任务,Worker详解。如何执行任务?如何回收空闲线程?

徐同学呀

线程池 Java源码 JUC ThreadPoolExecutor

计算机原理学习笔记 Day8

穿过生命散发芬芳

计算机原理 4月日更

阿里高工熬夜14天码出这份Java10w字的面试手册!却遭GitHub封杀

Java架构之路

Java 程序员 架构 面试 编程语言

关于ReentrantReadWriteLock,首个获取读锁的线程单独记录问题讨论(firstReader和firstReaderHoldCount)

徐同学呀

AQS Java源码 JUC

CopyOnWriteArrayList源码解读之CopyOnWrite思想的利与弊

徐同学呀

Java源码 JUC CopyOnWriteArrayList

聪明人的训练(十七)

Changing Lin

4月日更

史上最强的:京东北极星商业系统权限管控实践

Java架构师迁哥

【腾讯阿里最全面试题】Redis持久化RDB和AOF 的区别

Linux服务器开发

面试 后端 面经 Linux服务器开发

苏州园区:面向全国“发帖”聚力 加快创建区块链技术应用高地

CECBC

华为帐号服务学习笔记(四):Authorization Code模式服务端开发

Coding狙击

Java android

ScheduledThreadPoolExecutor源码解读(一)DelayedWorkQueue高度定制延迟阻塞优先工作队列

徐同学呀

线程池 Java源码 ScheduledThreadPool JUC

探索区块链Baas平台的奥秘,源中瑞公共服务平台开发技术

源中瑞-龙先生

区块链 源中瑞 Baas

阿里高工熬夜18天码出Java150K字面试宝典,却遭Github全面封杀

Java架构之路

Java 程序员 架构 面试 编程语言

极客架构模块2作业-朋友圈高性能架构分析

Geek_649372

架构实战营

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