WebAssembly-初识

作者: zZ_OoO | 来源:发表于2018-03-05 11:03 被阅读0次

    WebAssembly-初识

    在EOS的github代码库中可以看到,EOS大部分是由c++写的,但是可以看到WebAssembly占了百分之50之多,由于本人也是刚刚接触WebAssembly,有许多不解的地方,希望大家一起探讨。

    起源

    在当今的浏览器中,web前端语言JavaScript,可以称为速度最快的动态语言之一。但尽管如此,它还是无法与原生的C/C++代码相媲美。所以,WebAssembly就出现了。

    WebAssembly是除了JS以外另一种前端编程语言,它描述为“在网络上运行C ++的一种方式”。

    简介

    实际上,我们可以把WebAssembly看成另一种“目标汇编语言”,每一种目标汇编语言(x86、ARM)都依赖于特定的机器结构,而 WebAssembly 与其他的汇编语言不一样,它不依赖于具体的物理机器。可以抽象地理解成它是概念机器的机器语言,而不是实际的物理机器的机器语言。

    使用

    WebAssembly 支持情况最好的编译器工具链是 LLVM。有很多不同的前端和后端插件可以用在 LLVM 上。因此许多开发者用 C 语言或者 Rust 开发,再编译成 WebAssembly。也有许多其他的方式来开发,直接编写,或者利用 TypeScript 开发 WebAssembly 模块。

    优点

    1.可以大幅度提高 Javascript 的性能,同时也不损失安全性。Webapp 和 原生 App 的性能差距变得很小。

    2.基本之前需要插件来提高速度这种技术已经没有必要了, 网页应用的移植性会变得更好。

    3.  WebAssembly 其实允许任何语言编译到它制定的AST tree(目前支持比较完善的c/c++/ rust),你可以这几种后端静态语言来写网页了。

    了解更多请到WebAssembly Design

    当然有关WebAssembly的东西我只是了解了一下,有感兴趣的同学,可以一起学习,感觉还是很有前景的一门语言

    转自https://eosfans.xyz/t/webassembly-chu-shi/54/

    相关文章

      网友评论

        本文标题:WebAssembly-初识

        本文链接:https://www.haomeiwen.com/subject/nrmffftx.html