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

更新日期: 2018-10-30阅读量: 1574标签: 语言
编译: OSC-王练
https://www.oschina.net/news/101159/the-future-of-webassembly

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


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


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


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


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


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


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


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: https://www.fly63.com/article/detial/1221

nodejs是用什么语言写的?

nodejs是用C++开发的,它一个基于 Chrome V8引擎的 JavaScript 运行环境。发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。V8使用C++开发,并在谷歌浏览器中使用。在运行JavaScript之前,相比其它的JavaScript的引擎转换成字节码或解释执行

未来有望干掉 Python 和 JavaScript 的编程语言

Python 和 JavaScript 是两门非常有影响力的编程语言,二者都是我们在打造跨平台应用时会用到的主流语言。由于 Python 和 JavaScript 都是脚本语言,因此它们有很多共同的特性,都需要解释器来运行,都是动态类

后台开发的语言优缺点比较

目前一般公司的后台用的开发语言大概有以下几种:java,python,php,asp.net,c++,rubyon rails 等等。java优点:性能好,适合大中项目,跨平台,安全性高,稳定可靠,运行效率高(尤其是JIT的出现之后差距更大了),不容易犯错(强类型、预编译、必须拦截异常等等)

10个编译为JavaScript的语言

你不用写一行Javascript或者考虑这种语言的局限,就能生产在浏览器能运行的代码。这篇文章包括了十种有趣的语言能够编译为Javascript,在浏览器或者Node.js中被执行

奇怪的 Javascript

我的意思是,对于刚开始使用这种语言和他语言(例如 C++ 或 C#)的开发人员来说,javascript 可能会很奇怪。某些语言可能会让你大吃一惊

5 种将死的编程语言!

现在的开发人员都趋向于使用新的编程语言,那么旧的编程语言呢?它们的前途一般是这样两种:仍然可以使用,但逐渐不受大家欢迎;直接完全死去。

javascript是动态语言吗?

JavaScript一种动态类型、弱类型、基于原型的语言。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。

javascript基于什么标准

JavaScript是基于基于ECMAScript标准的。JavaScript不局限于某个特定版本的ECMAScript规范,并且可能被用于任何不同程度的任意版本的 ECMAScript 的实现。

微软推出新编程语言 Bosque,超越结构化程序设计

微软近期推出了一款全新的编程语言 Bosque,该语言参考了 TypeScript 的语法与类型,还有 ML 和 Node/JavaScript 的语义。作者微软计算机科学家 Mark Marron 致力于消除编程过程中出现的各种复杂情况,创造出了他认为超越主流结构化程序设计的 Bosque 这一语言。

javascript是弱类型语言吗?

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!