百科问答小站 logo
百科问答小站 font logo



如何看待 WebAssembly 这门技术? 第1页

  

user avatar   hongbo_zhang 网友的相关建议: 
      

最近有很多碎片化时间,读了下wasm的规范,也实现了一个完整的wasm的VM,谈下自己的看法:

wasm类似于一个跨平台的C语言,但是出于安全因素加了一些限制,比如不能内嵌汇编,不能任意跳转,其抽象
程度类似于C语言,所以VM,JIT,AOT都很好做,而且做的也可以很轻量级。

先不考虑web相关的东西,wasm 的价值主要有以下几点:

- 它是一个标准,解析起来也比较简单,能跑wasm的设备会比较多,甚至包括大量低端的IOT设备

- 分发比较容易,reachability很高。

由于跨平台特性,一旦生成了字节码以后可以预计将来十年,二十年依然可以跑起来。
这一点其实很重要,现在的软件构件系统太复杂了,一旦软件的作者不再维护了,已有的软件大概率就被废弃了。
编译输出成wasm以后,它的软件寿命会大大延长。

- 安全。因为前面提到wasm的运行时实现起来很容易,所以相对定制一个也比较轻松,这样可以做一些细粒度的控制。
比如只允许部分网络,文件访问等。

wasm对于web 我觉得不会削弱javascript的生态,反而会增强这个平台的生态,以前一些web不能做的,现在借助wasm
也可以做了。当然也有些不利的因素: 比如原本有simd.js proposal,因为wasm的出现simd指令只能在wasm上实现了,
但总的来说利大于弊。




  

相关话题

  计算 2 的 64 次方有什么特殊技巧? 
  前端开发中,使用base64图片的弊端是什么? 
  我试图用 C 语言的共用体来实现 Base64 编码,为什么失败了? 
  C 语言如何判断等差数列? 
  喜欢用图形界面而不喜欢用命令行的人是不是不适合当程序员? 
  作为程序员,是什么让你坚持不懈地学习?难道不累吗? 
  学C++之前需要先学C吗? 
  要怎么努力才能达到 vczh 那样的层次? 
  有哪些好用的 C++ IDE? 
  为什么 CSS 这么难学? 

前一个讨论
脂肪酶可以水解体内脂肪,但为什么医生都不建议摄入脂肪酶来减肥呢?
下一个讨论
2021 年你存款目标多少,存了多少钱?





© 2025-05-14 - tinynew.org. All Rights Reserved.
© 2025-05-14 - tinynew.org. 保留所有权利