百科问答小站 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上实现了,
但总的来说利大于弊。




  

相关话题

  如何评价「线程的本质就是一个正在运行的函数」? 
  为什么美国程序员工作比中国程序员工作轻松、加班少? 
  LeetCode 刷不下去怎么办? 
  JavaScript 如果拥有多线程能力会怎样? 
  谁能用通俗的语言解释一下什么是 RPC 框架? 
  有哪些新手程序员不知道的小技巧? 
  国内Java面试总是问StringBuffer,StringBuilder区别是啥?档次为什么这么低? 
  当人们说一个前端框架太“厚重”时,他们在说什么? 
  为什么信息竞赛都不开编译优化以及不允许内联汇编? 
  过度依赖框架有什么不好? 

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





© 2025-04-24 - tinynew.org. All Rights Reserved.
© 2025-04-24 - tinynew.org. 保留所有权利