写点什么

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

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

关注

评论

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

公有云RDS太贵?基于ECS构建的多云RDS服务可降低近半成本

沃趣科技

数据库 公有云 RDS 云数据库RDS for MySQL 云数据库Redis

IOS技术分享| ARCallPlus 开源项目(一)

anyRTC开发者

ios 移动开发 语音通话 视频通话 呼叫邀请

DPU芯片头部企业云豹智能加入龙蜥社区,共同推动新一代数据中心基础设施蓬勃发展

OpenAnolis小助手

云计算 开源 芯片 龙蜥社区

深度解读「无影云电脑远程办公解决方案」

阿里云弹性计算

远程办公 无影云电脑

APICloud App开发教程之云修复功能

YonBuilder低代码开发平台

APP开发 APICloud 热更新

ModStartCMS Laravel9 模块化建站系统 v3.5.0 多图字段支持,系统优化升级

ModStart开源

云效DevOps全家桶评测征集令重磅来袭!免费使用云效全套功能

阿里云云效

云计算 阿里云 DevOps 云原生

MongoDB与亚马逊云科技扩大全球合作

MongoDB中文社区

mongodb

建木小故事

Jianmu

开源 后端 持续集成 建木CI

IT运维工具难用吗?有没有简单易操作的?

行云管家

云计算 运维 IT运维

电路模型和电路定律 (Ⅲ)

謓泽

3月月更

设计一个 SaaS 系统需要考虑的4个关键点

Im胡子

系统架构 SaaS SaaS设计 SaaS系统架构

什么是目标关键词?

源字节1号

前端开发 后端开发 SEO优化 网站开发

FAQ(常见问题)页面的编写技巧

小炮

企业 常见问题 客户服务

美国法院最新判决:未经 OSI 许可的开源是「假开源」!

腾源会

开源 腾源会

基于Laravel模块化极速开发框架 免费开源CMS

ModStart开源

Redis 缓存击穿(失效)、缓存穿透、缓存雪崩怎么解决?

码哥字节

Redis 核心技术与实战 Redis 热点key 缓存服务 3月月更

前端培训之常见算法分享

@零度

前端算法

中国版Postman:Apifox

Liam

程序员 Jmeter Postman API swagger

你了解部署流水线吗?

华为云开发者联盟

自动化 软件开发 devcloud 部署流水线 流水线

焕然一新的 Vue 3 中文文档来了

CRMEB

玩转OpenMLDB社区,四张角色卡待解锁

第四范式开发者社区

人工智能 数据库 开源 贡献者 特征平台

使用APICloud AVM多端框架开发仿微信通讯录功能

YonBuilder低代码开发平台

前端开发 APP开发 APICloud 多端开发 avm.js

架构实战营模块八消息队列mysql数据库设计

刘洋

架构实战营 #架构实战营 「架构实战营」

IT运维工具难用吗?有没有简单易操作的?

行云管家

运维 IT运维

春招进行时!当代大学生求职行为大赏

易观分析

求职 招聘 春招

Apache SeaTunnel (Incubating) 2.1.0 发布,内核重构、全面支持 Flink

Apache SeaTunnel

大数据 大数据平台 apache 社区 Apache SeaTunnel #开源项目

产品帮助中心对SaaS行业的作用

小炮

SaaS平台 帮助中心

java培训Redis高频面试考点

@零度

Java redis

“后疫情时代”支付厂商发力B端已成共识,市场规模破3千亿!

易观分析

产业支付

iOS开发面试的43道最新面试题,让你稳拿大厂offer!

iOSer

ios iOS面试 ios开发 iOS面试题

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