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

王练
 王练
发布于 2018年10月25日
收藏 20

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)。

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

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:WebAssembly 的未来:将逐渐解锁整个“技能树”
加载中

精彩评论

chai2010
chai2010
osc终于有WebAssembly新闻了

欢迎关注 WebAssembly资料精选
https://github.com/chai2010/awesome-wasm-zh

还有《C/C++面向wasm编程》开源图书
https://github.com/3dgen/cppwasm-book
宇润
宇润
js未来只是webassembly启动用途,以后可以用其它语言实现页面渲染?
wei2011
wei2011
这东西真是浏览器的革命,以后大型软件、游戏直接在浏览器中跑了。。。

最新评论(10

undef1ned
undef1ned
https://blazor.net 已经可以尝试了
王练
王练

引用来自“swingcoder”的评论

博客原文 链接打不开,url少了一个冒号
感谢指正,已修改。
小果汁儿
小果汁儿
Qt已经可以运行在浏览器上了,部署在服务器上。Qt 5.11就支持了是预览版,有BUG。Qt 5.12据说会发布正式版。
swingcoder
swingcoder
博客原文 链接打不开,url少了一个冒号
久永
久永

引用来自“宇润”的评论

js未来只是webassembly启动用途,以后可以用其它语言实现页面渲染?
这是除了 js 程序员以外所有程序员的梦想。😁
开源中国区块链CEO
开源中国区块链CEO
错过了几个亿
加百列Gabriel
加百列Gabriel
不看好它的未来,就一个挖矿程序,现在的webasm就完全避免不了
chai2010
chai2010
osc终于有WebAssembly新闻了

欢迎关注 WebAssembly资料精选
https://github.com/chai2010/awesome-wasm-zh

还有《C/C++面向wasm编程》开源图书
https://github.com/3dgen/cppwasm-book
wei2011
wei2011
这东西真是浏览器的革命,以后大型软件、游戏直接在浏览器中跑了。。。
宇润
宇润
js未来只是webassembly启动用途,以后可以用其它语言实现页面渲染?
返回顶部
顶部