2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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:002146
用户头像

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

关注

评论

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

一个同事喜欢查别人的BUG,截图发工作大群,还喜欢甩锅怎么办?

Java你猿哥

Java 程序员 ssm 编码 java编程

日常开发中,程序员如何提升技术?这13个点一定要做到!

程序员小毕

Java 程序员 程序人生 后端 架构师

TiKV 新架构:Partitioned Raft KV 原理解析

PingCAP

MySQL 数据库 TiDB

网易数帆汪源:低代码仍然被“误会”,市场明年会迎拐点

B Impact

小白白也能学会的 PyQt 教程 —— 自定义组件 Switch Button

繁依Fanyi

SecureCRT中文乱码怎么办?解决 SecureCRT中文乱码方法

Rose

SecureCRT下载 SecureCRT激活版 SecureCRT许可证 SecureCRT中文乱码

NoSQL 分布式缓存架构

Andy

Session 会话

Andy

C语言编程—数据类型

芯动大师

浅克隆和深克隆有什么区别?

javacn.site

java面试

日常开发中,程序员如何提升技术?这13个点一定要做到!

Java你猿哥

Java ssm java基础 日常开发 java 编程

RDB 关系型数据库

Andy

NoSQL 数据库架构

Andy

一不小心,穿越到未来银行

白洞计划

银行 生成式AI

2023-05-16:给你一个 严格升序排列 的正整数数组 arr 和一个整数 k 。 请你找到这个数组里第 k 个缺失的正整数。 输入:arr = [2,3,4,7,11], k = 5。 输出:9

福大大架构师每日一题

golang 算法 rust

从腾讯XR、Meta、迪士尼裁员先砍元宇宙,谈应对不确定新业务

B Impact

搜索引擎的基本架构

Andy

开发者反响热烈,阿里云免费试用产品增至 80 多款!

云布道师

阿里云

探究 JavaScript 前端热点面试题(三):让你在面试中游刃有余!

Immerse

PullTube for Mac使用技巧:快速导出铃声、缩略图和短片

Rose

Mac视频下载器 PullTube下载 PullTube使用教程

文心一言 VS chatgpt (17)-- 算法导论4.1 3~4题

福大大架构师每日一题

ChatGPT 文心一言

依赖反转和依赖注入:提高程序的可维护性和可扩展性

Jack

MySQL触发器Trigger加载以及目前局限

GreatSQL

MySQL greatsql greatsql社区

分布式架构-锁原语CAS与各类锁

Andy

AIGC背后的技术分析 | 基于规则产生式的推理

TiAmo

推理 AIGC 规则产生

一不小心,穿越到未来银行

脑极体

生成式AI

聊一聊适配器模式

Java 设计模式 适配器模式

SVN管理工具Cornerstone入门教程

Rose

cornerstone 4破解 SVN管理 Cornerstone教程 Mac版Cornerstone许可证

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