WebAssembly 的未来:将逐渐解锁整个“技能树”

栏目: 后端 · 前端 · 发布时间: 6年前

WebAssembly 在2017年受到主流浏览器的支持,并发布了被 MVP 版本(Minimum Viable Product,最简可行产品)。虽然 WebAssembly 社区组致力于使 WebAssembly 向后相容,让现在开发的 WebAssembly 应用程式,仍可以在未来的浏览器中运作,但这并不代表 WebAssembly 功能已经完整,MVP 绝非最终版本。相反,WebAssembly 还将增加许多新功能,而这些新功能将从根本上颠覆 WebAssembly 所能实现的工作。

为消除人们对 WebAssembly 的误解,WebAssembly 社区组以 RPG 游戏中人物养成的“技能树”形式,对 WebAssembly 的未来发展路径 做了非常详细的解释。他们表示目前已经完全掌握这些技能中的前几项,后续需要慢慢解锁整个技能树。

WebAssembly 的未来:将逐渐解锁整个“技能树”

WebAssembly 在 MVP 版本阶段满足 4 个基本技能要求:编译、快速执行、压缩和线性内存分配。使用 WebAssembly 的人知道他们不想只支持 C 和 C ++,而是希望能够将许多不同的语言编译为 WebAssembly 。经 WebAssembly 编译器编译的应用需要能够快速执行,满足需求。而为了加速载入速度,WebAssembly 还需具备压缩能力,减少使用者的等待时间。另外,WebAssembly 需要有别于 JavaScript 使用内存方式,能够直接管理使用的内存,在加上安全因素的考量,WebAssembly 采用线性内存模式。

WebAssembly 的未来:将逐渐解锁整个“技能树”

社区组表示,WebAssembly 的下一个目标是平滑运行那些更重的应用程序,比如 Photoshop、Gmail 等。为确保此类应用能在浏览器中运行良好,他们需要解锁新一批的“技能”,包括支持多线程、SIMD(单指令流多数据流)、64位寻址、流式编译(在下载的同时编译 WebAssembly 文件)、分层编译器、 隐式 HTTP 缓存以及一些其他改进。

WebAssembly 的未来:将逐渐解锁整个“技能树”

一旦以上功能全部就位,WebAssembly 又将进入下一个阶段 —— 与 JavaScript 互操作,包括 JS 和 WebAssembly 之间的快速调用、简便的数据交换、ES模块集成、 工具 链集成和向后兼容性。

WebAssembly 的未来:将逐渐解锁整个“技能树”

此外,他们还想在 WebAssembly 中重写 JavaScript 框架的大部分内容,并使静态类型的 compile-to-js 语言可编译为 WebAssembly 。想要实现这两个目标,WebAssembly 还需要支持高阶的语言功能,包括垃圾回收、异常处理、调试以及尾调用(Tail calls)。

WebAssembly 的未来:将逐渐解锁整个“技能树”

更多功能和具体进度,可查阅 博客原文


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序设计语言

程序设计语言

斯科特 / 裘宗燕 / 电子工业出版社 / 2005-1 / 88.00元

这是一本很有特色的教材,其核心是讨论程序设计语言的工作原理和技术。本书融合了传统的程序设计语言教科书和编译教科书的有关知识,并增加了一些有关汇编层体系结构的材料,以满足没学过计算机组织的学生们的需要。书中通过各种语言的例子,阐释了程序设计语言的重要基础概念,讨论了各种概念之间的关系,解释了语言中许多结构的形成和发展过程,以及它们演化为今天这种形式的根源。书中还详细讨论了编译器的工作方式和工作过程,......一起来看看 《程序设计语言》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换