【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

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:004457

评论

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

算法训练营 - 学习笔记 - 第一周

心在飞

架构实战营 - 模块一作业

凯迪

架构实战营

Redis数据结构zset详解:范围查找

程序员架构进阶

redis 源码分析 Zset 28天写作 4月日更

Hadoop 3.x 版本相对于 Hadoop 2.x的新特性

五分钟学大数据

hadoop 4月日更

零基础学Tableau系列 | 04—标靶图、甘特图、瀑布图

不温卜火

数据可视化 数据清洗 4月日更

[架构实战营][0期]模块1作业

张民

架构实战营

u盘偷猎系统源代码

赫鲁小夫

4月日更

强化学习—DQN:不讲前世,就论今生

打工人!

深度学习 强化学习 深度强化学习 图解源码分析 DQN

容器的生命周期状态变化

耳东@Erdong

容器 4月日更

架构师训练营大作业一

潘涛

架构师训练营 4 期

【架构实战营】第一模块总结

烟雨濛濛

架构实战营

第13周课后练习-数据应用(二)

潘涛

架构师训练营 4 期

模块一,学习总结

俞立夫

架构实战营

架构师训练营大作业二

潘涛

架构师训练营 4 期

架构实战营第一模块课程总结

Vic

架构实战营

华仔训练营第一次作业

方堃

go每日一库 [cmd]

happlyfox

Go 语言 4月日更

Git命令大全,Git基本了解

Chalk

git 学习 4月日更

架构实战营-模块一作业

俞立夫

架构实战营

8x Flow 业务建模法(二):再看什么是业务逻辑

胡皓

领域驱动设计 DDD 业务建模 8xFlow 业务逻辑

当你的内心归于平静,美好便会悄然而至

小天同学

自我思考 个人感悟 个人总结 4月日更

Redis 数据倾斜和集群内通信开销

escray

redis 学习 极客时间 3月日更 Redis 核心技术与实战

第一课作业

杰语

模块一作业

Presley

Linux awk命令

一个大红包

4月日更

【架构实战营】第一模块作业

烟雨濛濛

配置中的动态代码

顿晓

配置化开发 Function 4月日更 动态函数

聪明人的训练(四)

Changing Lin

4月日更

像智能手机一样造车,可能吗?

脑极体

sql执行顺序优化

大数据技术指南

sql 4月日更

架构实战营-模块1-作业

笑春风

架构实战营

WebAssembly得到了所有浏览器的支持_JavaScript_Kevin Ball_InfoQ精选文章