20 | 总结与答疑
于航
你好,我是于航。
在这节课里,我将和你总结一下自开课这段时间以来,各位同学在各个渠道提出的有关 Wasm 的一些问题。限于篇幅,这里我优先选择了 8 个相对比较有代表性的问题,来给你进行解答。对于其中一些已经回复过的问题,我也会给你做进一步的解析。如果你有其他的问题,也欢迎在评论区和我进一步交流。
问题 1:Wasm 就像 Node.js 源于 Web 但又不止于 Web 吗?
两者并不一样。对于 Node.js 本身来说,它只是一个可以在 Web 浏览器之外运行 JavaScript 代码的 Runtime 运行时,同时它还提供了一些特殊的 API 可以让我们使用 JavaScript 代码来与操作系统相关的资源打交道,比如文件资源、网络资源等等。因此,我们说 Node.js 是一种实现。
而反观 Wasm,正如我们在第 03 讲中介绍的那样,它是一种新的 V-ISA 标准,而非实现。如果实在想要去类比的话,你可以将 Wasm 类比为 JavaScript 的所在位置(编程语言),但实际上 Wasm 更加底层,类比到 Java 字节码可能会更加恰当。
因此总结来看,Node.js 为在 Web 浏览器之外执行 JavaScript 代码提供了可能,而 Wasmtime 等虚拟机为在 Web 浏览器之外执行 Wasm 字节码提供了可能。但 Wasm 本身一般被作为高级语言的编译目标,其标准更加贴近底层(汇编),与 JavaScript(高级语言)并不在一个层面上。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
WebAssembly(Wasm)技术总结与答疑 WebAssembly(Wasm)作为一种新的V-ISA标准,具有与JavaScript不同的底层特性,对性能和安全性有独特优势。本文澄清了Wasm与Node.js的区别,解释了Wasm与系统底层通信的可能性,以及Wasm字节码在Web浏览器之外执行并访问操作系统资源的方式。此外,文章还讨论了TypeScript对性能的影响,ES6代码与Wasm性能对比,Wasm可读文本格式的选择,Clang与Emscripten的编译选择,以及在Web前端项目中引入第三方Wasm组件的优雅方式。值得一提的是,Wasm已经支持多达几十种编程语言,它们以不同的方式与Wasm产生交集,展示了人们对Wasm的未来期望。总的来说,Wasm技术在特定场景下具有独特的优势,对于开发者来说具有重要的应用前景。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《WebAssembly 入门课》,新⼈⾸单¥29
《WebAssembly 入门课》,新⼈⾸单¥29
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(4)
- 最新
- 精选
- Yarco: ) ~ 其实我想偷懒 不想玩c/c++... 想PHP本身能被编译成wasm... 话说根据: https://webassembly.org/getting-started/developers-guide/ 这里列的 听都没听说的语言都有 咋PHP就没呢~2020-10-201
- Cryhard感谢老师精彩的回复!2020-10-201
- Geek_571ca8老师好,请问一下java目前是否可以被编译成wasm?有没有推荐的相关资料。2023-09-05归属地:北京
- 廖熊猫感谢老师分享,学到了很多东西。也希望老师的书以后出个第二版。2020-10-19
收起评论