设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

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

2018-10-25 22:16| 发布者: joejoe0332| 查看: 684| 评论: 0|原作者: oschina|来自: oschina

摘要: WebAssembly 在2017年受到主流浏览器的支持,并发布了 MVP 版本(Minimum Viable Product,最简可行产品)。虽然 WebAssembly 社区组致力于使 WebAssembly 向后相容,让现在开发的 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)。

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


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部