GMTC深圳站本周日开幕,14大专题全部上线,完整日程>> 了解详情
写点什么

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

  • 2017 年 12 月 17 日
  • 本文字数:1018 字

    阅读完需:约 3 分钟

随着 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

2017 年 12 月 17 日 18:003593

评论

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

工作中的设计模式 —— 建造者模式

程序员小航

Java 设计模式 建造者模式

架构师实战营 模块二作业 微信朋友圈高性能架构分析

好吃不贵

架构实战营——作业二: 朋友圈架构分析

开拓纪

微信朋友圈 #架构实战营

Toolkit 大更新:UI 更美观,用起来更方便!

程序员小航

Java IDEA idea插件 IntelliJ IDEA JSON格式化

国内首个全院级医疗区块链基础设施成功部署应用

Geek_987812

区块链

架构实战营-模块2作业

夏日

架构训练营

架构训练营 模块二作业

薛定谔的指南针

架构实战营

Oozie平台调度

大数据技术指南

oozie 4月日更

激发Linux+K8S小宇宙!SUSECON硬核上线

RancherLabs

Sqlserver2008参数化踩的坑

风翱

SqlServer 4月日更

模块二作业:微信朋友圈高性能复杂度分析

@oo?金樱子

数字经济需发展隐私计算下的数据共享

Geek_987812

数字经济

平行世界有尽头:白洞的数字孪生之旅

白洞计划

微信朋友圈高性能架构复杂度分析

Hesher

微信 架构 高性能 微信朋友圈 架构实战营

【案例】星环科技助力郑州商品交易所搭建AI预测模型,提升智能决策水平

星环科技

爬虫IP代理池代码记录

空城机

Python 爬虫 代理IP 4月日更

架构师实战营-模块二作业

大可

架构实战营模块2作业

阿体

微服务网关:Nacos源码实践(二)

程序员架构进阶

源码分析 nacos 服务治理 28天写作 4月日更

聪明人的训练(十八)

Changing Lin

4月日更

百分点认知智能实验室李生教授:人工智能正在由感知走向认知

百分点认知智能实验室

业务架构训练营第 0 期模块二作业

菠萝吹雪—Code

架构实战营

架构实战营 - 模块 02 作业

架构实战营

架构训练营模块 2 作业 - 江哲

江哲

平行世界有尽头:白洞的数字孪生之旅

脑极体

让孩子爱上阅读(三)

箭上有毒

读书笔记 4月日更

架构实战营 模块二 课后作业

Lingjun

架构训练营

架构实战营 模块二作业

netspecial

架构实战营

数据仓库为什么要分层

五分钟学大数据

数据仓库 4月日更

模块二 分析微信朋友圈的高性能复杂度

ifc177

【AI全栈SOTA综述 】这些你都不知道,怎么敢说会AI?【语音识别原理+实战】

cv君

AI 算法 音视频 引航计划

2021星空论坛:破局创新,论道数字化转型

2021星空论坛:破局创新,论道数字化转型

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