BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

WebAssembly得到了所有浏览器的支持

| 作者 Kevin Ball 关注 0 他的粉丝 ,译者 张卫滨 关注 8 他的粉丝 发布于 2017年12月18日. 估计阅读时间: 3 分钟 | QCon北京2018全面起航:开启与Netflix、微软、ThoughtWorks等公司的技术创新之路!

亲爱的读者:我们最近添加了一些个人消息定制功能,您只需选择感兴趣的技术主题,即可获取重要资讯的邮件和网页通知

随着9月19日Safari和10月31日Edge的发布,苹果与微软加入了谷歌和Mozilla,在生成环境浏览器中提供了对WebAssembly的支持。这四家公司的浏览器都能运行编译为wasm二进制格式的代码。

Safari支持WebAssembly的第一个版本是11,而Edge的版本是16。Firefox是第一个发布支持WebAssembly功能的主流浏览器,是于2017年3月7日发布的52号版本,Chrome紧随其后,在2017年3月9日发布的57号版本中包含了对WebAssembly。通过使用其他的高级工具,开发人员能够以wasm二进制格式来交付代码,并且可以预期它能够支持大多数的终端用户。

从2017年3月31日各个主要的浏览器厂商就v1版本的规范达成共识以来,WebAssembly已经取得了巨大的进步。不仅在所有的浏览器中都得到了实现,而且其编译工具链已经开始成熟,现在已经有人尝试将WebAssembly集成到像webpack这样更加标准的Web开发工具中。

webassembly.org推荐的编译WebAssembly的工具链是Emscripten。网站上有一个快速的开发人员指南,MDN上还有更多深入的文档。这个工具链目前可以编译C、C++或Rust,它首先将代码编译为LLVM字节码,然后将其转换为asm.js,最后使用asm2wasm编译工具,此时该工具用到了 WebAssembly二进制工具集。通过wasm后端直接实现对纯LLVM编译的支持目前正在进行之中并且正在逐渐成熟,在11月20日的一次pull request合并中,Rust成为了第一个使用它的语言。

在传统的Web开发工具方面,发展也是很迅速的。Webpack得到了Mozilla的一个授权,将WebAssembly作为第一等的模块类型。webpack团队相信让WebAssembly更容易地集成到真正的生产环境中会推动WebAssembly的实际采用。webpack核心团队的Sean Larkin这样说:

如果开发人员、业务以及公司不能无缝地将其应用于生产环境,WebAssembly不会进步、发展和演进。我们感觉webpack能够让人们更容易地使用该技术,并促进它的广泛采用。

随着工具链的改善和更多的支持,行业在迅速地将web assembly集成到各种领域之中。Mozilla最近的声明宣布wasm得到了广泛的支持,所涵盖的范围从计算机视觉到语言探测,以及方方面面。Mozilla的工程师Luke Wagner说:

现在,我们看到人们将WebAssembly用到了各种类型的新项目之中。所以,这意味着,最终会有一天我们将在Web上运行大多数的程序,其效果就像现在在本地PC上运行那样。

查看英文原文WebAssembly Now Supported across All Browsers

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT