WebAssembly(缩写WASM)是一种安全,便携,低级代码设计用于高效执行和紧凑表示的格式。
它的主要目标是使Web上的高性能应用,不需要针对网络的特定假设或提供特定的定制化的网络功能,因此它可以在其他环境中直接使用,也就是良好的跨平台特性。
WebAssembly是由W3C社区组开发的开放标准。
WebAssembly 的设计目标有以下几方面:
WebAssembly 代码也意在便于检查和调试,尤其是在像网络浏览器的环境中,但是这些特征超出了本规范的范围。
在其核心,WebAssembly是虚拟指令集架构(Instruction Set Architecture(ISA) 虚拟)。因此,它有许多使用情况,并且可以嵌入在许多不同的环境。涵盖多元化和实现最大限度的重用,在 WebAssembly 规范是分裂和分层为几个文件。
这份文件是关于 WebAssembly 的核心 ISA 层。它定义了指令集,二进制编码,验证和执行语义,以及一个文本表示。这不,但是,定义如何 WebAssembly 程序可以与特定的环境中,他们执行的互动,也不是如何从这样的环境中调用。
相反,该规范由定义接口的具体嵌入环境,如网络附加文件的补充。这些将各自限定 WebAssembly 应用程序编程接口( api )适合于给定的环境。
WebAssembly 提供在其中执行代码的计算环境没有环境的访问。与环境,如 I / O,对资源的访问,或操作系统调用的任何相互作用,只能通过调用嵌入器提供并导入到一个 WebAssembly 模块的功能来执行。嵌入器可以通过控制或限制它使可供导入该功能能力建立适合各自的环境安全政策。这种考虑是一个嵌入的责任和 API 定义特定环境的主题。
因为 WebAssembly 被设计成被翻译成直接在主机的硬件上运行的机器代码,它是可能受到在硬件水平边信道攻击。在环境中,这是一个问题,一个嵌入可能不得不把合适的缓解措施到位,以隔离WebAssembly 计算。
WebAssembly 取决于两个现有的标准:
然而,为了使本说明书自包含的,前述标准相关方面进行定义和形式化为本说明书的一部分,例如作为二进制表示和浮点值的舍入,和值的范围和 UTF-8 编码的 Unicode 的字符。
原文:http://www.youdaily.world/post/b68e0da.html
这是专门探索JavaScript及其构建组件的系列,在识别和描述核心元素的过程中,我们还分享了构建SessionStack时使用的一些经验法则,这是一个轻量级但健壮且高性能的JavaScript应用程序,以帮助用户实时查看和重现其Web应用程序的缺陷。
作为JavaScript替代,一种Web开发的新形式已经浮出水面:WebAssembly.Web开发与JavaScript开发向来是同义词。就是说,直到现在。但一种新的Web开发形式已然出现,声言会取代JavaScript
在经过26次金丝雀发布和340万次下载之后,现在,我们正式推出生产就绪的Next.js 7。DX改进:启动速度提高57%,重新编译速度提高42%;使用react-error-overlay更好地报告错误;编译管道升级:Webpack 4和Babel 7;标准化的动态导入;静态CDN支持;
WebAssembly 在2017年受到主流浏览器的支持,并发布了 MVP 版本,为消除人们对 WebAssembly 的误解,WebAssembly 社区组以 RPG 游戏中人物养成的“技能树”形式,对 WebAssembly 的未来发展路径做了非常详细的解释。
为了能够让其他语言的代码在浏览器中运行,WebAssembly被创造出来。它拥有更好性能,更小的size,能够更快的加载和执行。我们无需编写WebAssembly的代码,只需要将其他高级语言编译成WebAssembly,这样就能在浏览器中复用大量的其他语言现有的代码。
接触WebAssembly之后,在google上看了很多资料。感觉对WebAssembly的使用、介绍、意义都说的比较模糊和笼统。感觉看了之后收获没有达到预期,要么是文章中的例子自己去实操不能成功,要么就是不知所云
有这样一种技术,可以把用高级语言编写的非 Web 程序转换成为 Web 准备的二进制模块,而无需对 Web 程序的源代码进行任何更改即可完成这种转换。浏览器可以有效地下载新翻译的模块并在沙箱中执行。执行的 Web 模块可以与其他 Web 技术无缝地交互
长期以来,Python 社区一直在讨论如何使 Python 成为网页浏览器中流行的编程语言。然而网络浏览器实际上只支持一种编程语言:JavaScript。随着网络技术的发展
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!