请选择 进入手机版 | 继续访问电脑版
Mozilla

火狐社区

登录    注册

用新浪微博连接 QQ互联

WebAssembly为何能颠覆Web产业战局

yingliu Mozilla员工 发表于 2017-3-10 16:37:51 火狐社区移动版 | 显示全部楼层 [复制链接]
3 1857
本帖最后由 yingliu 于 2017-3-10 16:39 编辑

RogKcyQ1km1Bej9t25d5UA.png

随着最新版本的发布,Firefox成为唯一一个支持 WebAssembly的浏览器。WebAssembly 是由 Mozilla 研究计划所催生出的新兴标准,能让网页浏览器以前所未有的高速执行应用程序。

WebAssembly 将带来极大改变
WebAssembly标准将为许多令人精彩的影音游戏,以及计算机辅助设计、视频和图像编辑、科学视觉应用等高性能网页应用注入新生命。在不久的将来,现有的生产力应用(如:Email、社交网站、文字处理)和 JavaScript 框架也可能运用 WebAssembly 来大幅缩短加载时间,同时提升运行时间的性能。

其他技术需要通过安装附加组件的方式,才能让网页应用在浏览器上达成近原生的性能,而WebAssembly 则方便多了,不需要附加组件,便可完全融入网页平台中运行。换言之,开发人员可将CPU计算密集型应用(如压缩、脸部辨识和物理运算)的 WebAssembly 程序代码库,整合到以 JavaScript 处理较不密集的现有网页应用之中。

下面这段视频能帮您快速了解 WebAssembly,并掌握几家企业在使用此新标准上的规划。除了 Mozilla 以外,包括 Autodesk、Epic 和 Unity的工程师也都在视频中分享了他们的观点。


过程艰辛,波折不断,终获成果
JavaScript最早是用来编写结构简单的轻量级程序语言。它必须简单易用,才便于新手开发人员编写程序——例如能确认用户在网页正确填表后才能提交的入门级程序代码。

不过,现在的情况不同了。现代的网页应用都是复杂的计算机程序,有 client 端、也有 server 端的程序代码,但大多数仍以 JavaScript 编写。

这些年下来,虽然 JavaScript 程序语言和执行的引擎(包含 Mozilla 的SpiderMonkey引擎)已有长足发展,但是 JavaScript 仍有些先天的限制,并不适用于某些情境。最令人诟病的是,当浏览器执行 JavaScript 程序时,其速度往往比不上操作系统执行以其他语言编写的相似原生程序的速度。

Mozilla一直很清楚这个问题,但也从未因此局限对于 Web 发展的宏图大志。因此,Mozilla 在几年前展开一项研究计划,希望在浏览器上打造出真正的虚拟机,使浏览器能以近乎原生的速度来安全地执行 JavaScript 和高效率的程序语言。当时,Firefox 的网页平台将可执行几乎任何一种应用,特别设定了要让 Firefox 无需附加组件即可执行现代影音游戏的目标。历经多番尝试后,开发人员踏出了一大步,证明通过实验性的 JavaScript 子集 asm.js,Firefox即可执行以常见游戏引擎所开发的游戏。

结果,asm.js 子语言的成效斐然,Mozilla 更加确信此方法若能成为最高阶的网页标准,将可带来更高的效益。于是,Mozilla 用 asm.js 的概念验证结果,开始寻求与其他浏览器开发商的合作机会,希望共同建立一个能真正融入浏览器的标准。通过与各大浏览器工程师之间携手努力,最终就WebAssembly达成共识。相信不久后,其他浏览器应该也将陆续加入对WebAssembly的支持

从某些方面来说,WebAssembly 将改变网页开发人员的工作模式,也将颠覆网页的基本功能。在WebAssembly 和其附加的工具组支持下,使用 C/C++ 等语言所编写的程序将可直接移植到网页上,进而达到近原生的性能。Mozilla 认为,随着 WebAssembly 的持续发展,未来应该还能支持 Java、Swift 和C# 等移动应用开发所常用的程序语言。

WebAssembly和 JavaScript 不一样。程序人员使用 WebAssembly 编写的每个程序代码在加到浏览器之前,都会先完成剖析和编译的工作,因此,以WebAssembly 编写的网页应用才能达到近原生的性能。浏览器也只需处理能快速验证、优化和执行的低阶且可被设备快速处理的指令。

若您想要更进一步了解WebAssembly 的背景,欢迎观看以下的「幕后花絮」视频。


最新的 Firefox 浏览器(Windows、MacOS、Linux 与 Android 版)现已支持 WebAssembly 标准。我们对 WebAssembly 在移动应用上的潜力倍感兴奋——每个移动应用都得是原生应用吗?

若您想试试使用 WebAssembly 的一些应用,请升级至 Firefox 52,并观看由 Epic 开发的《Zen Garden》游戏的宣传影片:


如果您是开发人员,想要开始使用 WebAssembly 的话,请参考 MDN上的 WebAssembly 文件。您还可看看由 Mozilla 工程师 Lin Clark 所发表的一系列文章,他用生动的漫画解说 WebAssembly 的特色和功能。

Mozilla致力于推动 Web 不断向前发展,目标是要让 Firefox 成为用户首选的最佳浏览器。有了WebAssembly 对新版 Firefox 的支持,以及推进中的「量子计划」(Project Quantum),Mozilla对于 Web,以及 Firefox 的信心更是大大的增加了!




隐元 老狐狸
发表于 2017-3-10 20:41:39 | 显示全部楼层
不断向前创新的mozilla,加油!
310971373 狐狸精
发表于 2017-3-13 13:41:37 | 显示全部楼层
支持支持!
精神太狼 社区新人
发表于 2017-4-20 11:02:49 火狐社区移动版 | 显示全部楼层
zhchi终归哈站-+
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发新帖
论坛更多 »
火狐微信
快速回复 返回顶部 返回列表