由于公司项目的需求,现在主要是做脱Flash的工作(历史原因用AS3.0做的)!现在全部转为C++, 并且发布PC版与Web版。其中Web的版本就是使用的Wasm(WebAssembly技术)。
 WASM ,全称:WebAssembly ,是一种可以使用非 Java 编程语言编写代码并且能在浏览器上运行的技术方案,也是自 Web 诞生以来首个 Java 原生替代方案( 程序本质上都是脚本程序,即由程序翻译指令并执行,而不是由本地机器CPU读取指令并执行,因此效率非常低。而Java的操作相对重复繁琐,在执行过程中耗时较长。)
 其实创建Wasm的初衷并非为了替代JavaScript,而是为了实现两者之间的补充和配合。随着WebAssembly的引入,现代web浏览器的虚拟机将同时运行JavaScript和Wasm代码。

Web Assembly 比 asm.js 要激进很多。 Web Assembly 连标注 Js 这种事情都懒得做了,不是要 AOT 吗? 我直接给字节码好不好?(后来改成 AST 树)。对于不支持 Web Assembly 的浏览器, 会有一段 Javascript 把 Web Assembly 重新翻译为 Javascript 运行, 这个技术叫 polyfill, HTML5 刚出来的时候很常用的一个技术。
使用 AST 的原因是因为 AST 比字节码更容易压缩,也更容易翻译。
不了解 AST 可以看下面这张图, 说明 Javascript 引擎的执行过程。 Javascript 先编译为 AST, 然后到 Bytecode. AST 的抽象程度比 Bytecode 要高一级。
Wasm的简介

Wasm的技术优势:
  1. 性能高效:WASM采用二进制编码,在程序执行过程中的性能优越;
  2. 存储成本低:相对于文本格式,二进制编码的文本占用的存储空间更小;
  3. 多语言支持:用户可以使用 C/C++/RUST/Go等多种语言编写智能合约并编译成WASM格式的字节码;
    如图:Wasm的简介

结尾附上前端框架(只找到2017年,2018好像截止还没出)
Wasm的简介

相关文章:

  • 2021-08-11
  • 2022-01-04
  • 2021-10-08
  • 2022-12-23
  • 2021-09-09
  • 2022-12-23
  • 2021-05-17
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-03-01
  • 2022-12-23
  • 2021-09-10
  • 2021-05-17
  • 2022-01-02
相关资源
相似解决方案