WebAssembly 入门课
于航
PayPal 高级软件工程师
10751 人已学习
新⼈⾸单¥29
登录后,你可以任选4讲全文学习
课程目录
已完结/共 23 讲
结束语 (1讲)
WebAssembly 入门课
15
15
1.0x
00:00/00:00
登录|注册

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
立即购买
登录 后留言

全部留言(4)

  • 最新
  • 精选
  • Yarco
    : ) ~ 其实我想偷懒 不想玩c/c++... 想PHP本身能被编译成wasm... 话说根据: https://webassembly.org/getting-started/developers-guide/ 这里列的 听都没听说的语言都有 咋PHP就没呢~
    2020-10-20
    1
  • Cryhard
    感谢老师精彩的回复!
    2020-10-20
    1
  • Geek_571ca8
    老师好,请问一下java目前是否可以被编译成wasm?有没有推荐的相关资料。
    2023-09-05归属地:北京
  • 廖熊猫
    感谢老师分享,学到了很多东西。也希望老师的书以后出个第二版。
    2020-10-19
收起评论
显示
设置
留言
4
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部