写点什么

WebAssembly 浏览器预览版收集社区反馈

  • 2016-11-21
  • 本文字数:1064 字

    阅读完需:约 3 分钟

WebAssembly 的开发已经进入浏览器预览阶段,这是标准化路上的一个重要里程碑。

在 Chrome、Edge 和 Firefox 中,用户可以开启一个 WebAssembly 的预览版,它使用 WebAssembly 社区小组过去一直在研发的二进制格式的“候选发布版本”。另外,存在一份开发人员指引,它简要地介绍了用C 语言创建一个WebAssembly 程序、编译并发布结果到浏览器的步骤。

与之前的实验性支持预览版(experimental support preview)不同,本浏览器预览版是浏览器兼容的并且稳定的。浏览器厂商正积极鼓励用户使用它以收集相关反馈。

在微软Edge浏览器预览版的声明中,项目经理Limin Zhu 展示了一个编译后的结果的例子。

例子中,C++ 的阶乘函数

复制代码
int factorial(int n)
{
if (n == 0)
return 1;
else
return n * factorial(n-1);
}

编译成 WebAssembly 之后是这样的:

复制代码
binary | text
20 00 | get_local 0
42 00 | i64.const 0
51 | i64.eq
04 7e | if i64
42 01 | i64.const 1
05 | else
20 00 | get_local 0
20 00 | get_local 0
42 01 | i64.const 1
7d | i64.sub
10 00 | call 0
7e | i64.mul
0b | end

该二进制格式尽管称为候选发布版本,但还不适合生产环境使用,还会发生改动。 WebAssembly 的路线图提前对开发人员作了如下警告:

开发人员应该意识到,在 WebAssembly 的浏览器预览版和公开发布版之间至少将有一个突破性的变更,开发人员需要更新工具链和二进制文件。

工程的当前这个阶段将会在 2017 年第一季度结束,之后将会准备一份规格说明书草案。再之后,厂商将能默认开启这项特性,不再用功能标志(feature flag)隐藏它了。Mozilla 的 Luke Wagner如果计划进展顺利,2017 年3 月份发布的Firefox 52 将默认开启该特性。

值得注意的是,苹果和基于WebKit 的Safari 浏览器明显不在该浏览器厂商之列。该公司尽管一直很低调,但是也在研发该特性 Brendan Eich 说“在苹果发布之前,关于苹果的一切进展都是推测”,但是“苹果热衷于 WebAssembly,一切看起来都在正轨上”。WebAssembly 社区小组的谷歌代表兼联合组长 Ben Titzer苹果确实“派遣了代表参加我们举办的面对面峰会”,“他们确实好像已经开始研发实现了,但是我们应该谨慎,不要曲解或者过度解读”。

查看英文原文: https://www.infoq.com/news/2016/11/webassembly-browser-preview


感谢足下对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-11-21 18:001869
用户头像

发布了 33 篇内容, 共 12.0 次阅读, 收获喜欢 10 次。

关注

评论

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

知识点梳理:聊聊iOS SDK数据采集那点事儿

易观大数据

微服务架构的整套解决方案

xcbeyond

架构 微服务 IT建设

SpringMVC-技术专题-支持可版本管理的Restful接口

码界西柚

springmvc

LeetCode题解:66. 加一,新数组求和再翻转,JavaScript,详细注释

Lee Chen

大前端 LeetCode

架构师训练营 - 第十周 - 总结

Anrika

极客大学架构师训练营

Pulsar 联合 TiDB 推出大数据场景数据应用分析解决方案

Apache Pulsar

大数据 InfoQ Apache Pulsar #TiDB

为什么 Bash 脚本总是不稳定?

柴锋

bash Linux DevOps 运维 Shell

奈学:reaseShared共享式释放锁

古月木易

reaseShared 共享锁

优雅快速的统计千万级别uv

架构师修行之路

哈希表 数据结构与算法

Week11

一叶知秋

浅谈技术管理之团队管理

Geek_37rwst

团队管理 技术管理

Apache 顶级项目 Apache Pulsar 成长回顾

Apache Pulsar

kafka 云原生 中间件 Apache Pulsar 消息系统

认识分布式系统

多颗糖

分布式 分布式系统 分布式存储

56张图入门操作系统——内功心法,适合所有程序员

执鸢者

大前端 操作系统

微服务-技术专题-使用 API 网关构建微服务

码界西柚

微服务

奈学:Executor框架的概述

奈学教育

Executor Executor框架

华为:新政务风口下加宽“护城河”

脑极体

进击谷歌:多线程下程序顺序怎么稳定不乱?

架构师修行之路

数据结构与算法

浅谈如何做好软件研发团队的盘点

Geek_37rwst

团队管理 技术管理

9大训练营免费开营!阿里云大数据团队的独门绝学全在这了

Apache Flink

大数据 训练营

法定数字人民币将成中国金融新名片

CECBC

数字货币 人民币

排序算法二(归并排序、快速排序、希尔排序)

xcbeyond

Java 算法 快速排序 归并排序 希尔排序

实用心理学之识人篇

代码制造者

低代码 零代码 职场成长 编程开发 职场搞笑

开发一款视频直播有多吃香?

anyRTC开发者

奈学:Executor框架的概述

古月木易

Executor Executor框架

区块链技术助力基础建设

CECBC

新基建 区块链技术 国家电力

奈学:reaseShared共享式释放锁

奈学教育

共享锁

核查框架新的选择

柿子

jsr-303 核查框架 butterfly

企业应用开发或迎新趋势 “低代码平台”备受追捧

爱极客侠

区块链技术与福彩事业结合的变革

CECBC

区块链技术 福彩平台

微服务-技术专题-设计原则AFK

码界西柚

WebAssembly浏览器预览版收集社区反馈_JavaScript_David Iffland_InfoQ精选文章