• 技术文章 >web前端 >前端问答

    WebAssembly是什么?WebAssembly的简单了解

    青灯夜游青灯夜游2019-03-20 17:11:15原创13357
    WebAssembly,简称wasm,是一种运行在现代网络浏览器中的新型代码,一种以安全有效的方式运行可移植程序的新技术,主要针对Web平台。下面本篇文章就来带大家了解一下WebAssembly,希望对大家有所帮助。

    大前端成长进阶课程:进入学习

    什么是WebAssembly?

    WebAssembly或wasm是用于浏览器内客户端脚本的低级、可移植的字节码格式,是一种运行在现代网络浏览器中的新型代码、并且提供新的性能特性和效果,对于浏览器下载和加载是有效的。

    它是为诸如C、C++和Rust等低级源语言提供一个高效的编译目标而设计的。

    实际上,WebAssembly是由现有JavaScript引擎背后的浏览器开发人员实现的。从本质上讲,它旨在将JavaScript替换为Web上编译器和转换器的目标。例如,不用将TypeScript编译为JavaScript,它的开发人员现在可以编译为WebAssembly。简而言之,它不是一个新的虚拟机,它是每个浏览器中包含的相同JavaScript VM的新格式。这样就可以在不使用JavaScript的情况下利用现有的JavaScript基础结构。

    为什么要有WebAssembly?

    如果只是想让C,C++,Java等原生语言编写的模块运行在浏览器上。我们只需要一个转换器,将源语言转换为目标语言JavaScript。

    而对于WebAssembly来说,它可将C,C++,Java等原生语言直接编译为机器码,省略了转换器。大大提高了效率。

    浏览器通过增加一种语言格式的编译支持,来实现执行效率的突破。

    WebAssembly除了运行快之外,其特殊的二进制表示法也大大减小了代码包的大小。同时提升了浏览器的加载速度。

    WebAssembly的优点:

    1、快速、高效性

    WebAssembly是一种可移植的字节码格式,字节码以二进制格式传输,由于模块的结构,可以通过浏览器并行编译,以便进一步加快速度,使其能够以接近原生性能的速度运行。它是是为诸如C、C++和Rust等低级源语言提供一个高效的编译目标而设计的。

    2、可移植性

    可以将Webassembly移植到其他平台。这意味着,如果用编译为WebAssembly的语言编写软件,就能够在.NET上运行它。它允许我们重用Web上现有的JavaScript基础结构。

    WebAssembly代码在不同平台上能够以接近本地速度运行。

    3、可读、可调试

    WebAssembly是一种低级的类汇编语言,但是它设计了一个非常规整的、人类可读的文本格式,这允许通过手动来编写代码,查看代码以及调试代码。

    4、安全性

    WebAssembly运行在一个沙箱化的执行环境中,甚至可以在现有的 JavaScript 虚拟机中实现。在web环境中,WebAssembly将会严格遵守同源策略以及浏览器安全策略。

    【相关文章推荐】

    GraphQL是什么?GraphQL的优点和缺点

    以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

    以上就是WebAssembly是什么?WebAssembly的简单了解的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:WebAssembly
    上一篇:GraphQL是什么?GraphQL的优点和缺点 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• asm.js & webassembly-WEB的高性能计算• Rust -> asm.js & webassembly-WEB的高性能计算• WebAssembly:系统编程语言的逆袭
    1/1

    PHP中文网