WebAssembly虚拟机是什么

WebAssembly(简称:WASM)是一项改变游戏规则的技术。它允许开发者为网络创建可以以贴近原生速率运转的应用程序。这将高度改善的代码与特别小的二进制文件结合起来,促使大型应用程序可以通过网络迅速平稳地运作。

一、什么是WASM虚拟机

WebAssembly(简称:WASM)是一项改变游戏规则的技术。它允许开发者为网络创建可以以贴近原生速率运转的应用程序。这将高度改善的代码与特别小的二进制文件结合起来,促使大型应用程序可以通过网络迅速平稳地运作。速度快,效率高,加上客户无需下载或安装就可以开始互动的概率,这也是为什么WebAssembly被称作“web的将来”。

想象一下那样一个世界:你可以使用任何编程语言搭建软件,并在Web浏览器中直接向终端用户提供此软件,无需任何安装,而且特性匹敌原生。随着WebAssembly(简称WASM)的发布,这个曾经看上去难以想象的开发者的乌托邦近期变成了现实。

WebAssembly是一种在网页中运作编程语言(除了JavaScript)的形式。从根本上讲,WASM只是一个运作在所有现代浏览器上的虚拟机。在过去,你需要应用JavaScript来运作网页里的代码。根据使用WASM,我们可以在浏览器中应用JavaScript之外的编程语言来运行代码。

比如,这意味着,开发者可以将他们的原生应用程序带到网络上,并在网页浏览器中实现应用程序的所有性能全部作用——通常在Windows或Mac上运作当地应用程序时才有的特性。事实上,开发者也无需直接撰写WASM代码。相反,他将应用WASM做为用其他语言编写的程序的编译目标。比如,开发者可以用Unity和C#搭建一个游戏,并把它编译到WASM中,之后直接在浏览器工具中公布。

这是革命性的举措,由于客户如今能够轻松进到网页与应用程序互动,而无需下载和安装过程——这有时会引发安全隐患。然而,WASM的惊人之处就在于,你可以有着匹敌原生性能,并且可以跨所有平台使用浏览器,这是一项巨大的工程优点。

二、WebAssemzbly的工作原理是怎么样的

由W3C研发的WebAssembly,用其创始人的话来说是一个“编译的目标”。开发者无须直接撰写WebAssembly。他们可选用自己熟悉的语言编写代码,随后编译成WebAssembly类别的字节码。字节码一般运行在客户端的Web浏览器中,且被译成可被高速实施的原生机器代码。

WebAssembly代码旨在完成比JavaScript更快的载入、分析与执行。当应用WebAssembly时,Web浏览器依然存在下载Wasm模块,及其给予设定的开销。虽然对于较大的Wasm项目来讲,该类模块会毕竟在运行中产生了几兆字节,而发生延迟。但是在其他同等条件的中小型工程中,WebAssembly会运作得更快一些。

同时,WebAssembly也提供了一个沙盒实行模型,该模型与JavaScript的目前安全模型十分相似。换句话说,Wasm应用程序没法直接访问到沙盒以外的任何内容,甚至他们正在运行的网页上的DOM。因此,假如应用程序需要和系统中的其他部分进行互动,就必须采用类似WebAssembly系统接口(WASI,https://wasi.dev/)的各类ABI(应用程序二进制接口)。WASI为程序带来了常被用来文档、网络、系统时钟、以及其它服务程序的可控式浏览。

目前,尽管在Web浏览器中运作WebAssembly,则是最常见的一种使用场景,可是WebAssembly远不单单是基于Web的解决方案。比如:Wasmer项目就能在服务端运作WebAssembly应用程序。这和Node.js运行中(runtime)在浏览器以外运作JavaScript的形式十分类似。

延伸阅读

code/key定义

code 代表着用户按下的物理键,这个值不会因为用户所使用的键盘布局或者是否按下了 Modifier 影响。大部分情况下,key 代表着用户按下某个键后生成的字符,这个字符会受用户的键盘布局、语言、是否按下了 Modifer以及系统级别的键盘映射等等。除此之外还有一些附加条件。

文章标题:WebAssembly虚拟机是什么,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/53808

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
E.Z的头像E.Z
上一篇 2023年6月3日
下一篇 2023年6月3日

相关推荐

  • 五行健康管理项目是什么

    五行健康管理项目是一种全新的健康管理理念,它根据中国传统五行理论(金、木、水、火、土)来制定个人的健康管理计划。五行健康管理项目主要包括以下几个方面:一、健康评估;二、个性化健康计划设计;三、执行健康计划;四、健康效果评估;五、健康管理计划调整。其中,健康评估是整个项目的基础,通过健康评估,我们可以…

    2024年8月6日
    000
  • 项目管理者需要什么证书

    对于项目管理者来说,拥有一份专业的证书可以提升其在业界的认可度和信任度。PMP(项目管理专业人员资格认证)、PRINCE2(项目内控环境)、CAPM(认证项目管理专家)、ACP(敏捷认证专家)以及CSM(认证Scrum主管)等证书都是项目管理者值得获取的。 以PMP证书为例,这是由美国项目管理协会(…

    2024年8月6日
    000
  • 项目经理是管理什么的

    项目经理是负责管理项目的专业人员,他们的主要职责是确保项目在预定的时间、预算和质量标准内完成。他们的工作涵盖了项目的所有方面,包括项目的规划、执行、控制和关闭。项目经理的主要任务包括:确定项目的目标和范围、制定详细的工作计划、管理项目的资源、监控项目的进度、处理项目中的问题和风险,以及确保项目的成功…

    2024年8月6日
    000
  • 项目化管理有什么意思呢

    项目化管理是一种以项目为主导,通过项目的规划、组织、实施和控制,实现组织目标的管理方式。它将业务流程转换为一个个独立的项目,每个项目都有明确的目标、特定的工期和预定的资源。项目化管理的核心是以项目为载体,实现组织的战略目标。 在项目化管理中,项目经理在项目期间对项目资源拥有相对完全的控制权,项目团队…

    2024年8月6日
    000
  • 自动化为什么学项目管理

    在当前的快速发展的科技环境下,项目管理已经成为实现业务目标的关键环节。自动化学习项目管理有三个主要的原因:提高工作效率、降低错误率、优化资源配置。 对于任何企业,最大化利用资源,提高工作效率是其核心的目标,而项目管理的运用则是实现这一目标的有效工具。通过自动化学习项目管理,我们可以系统地理解和应用项…

    2024年8月6日
    000

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部