【问题标题】:Is WebAssembly going to replace JavaScript? [closed]WebAssembly 会取代 JavaScript 吗? [关闭]
【发布时间】:2017-10-15 21:51:16
【问题描述】:

2 个月以来,我一直在深入研究 JavaScript 以及它的库和框架。我听说我高中的其他学生告诉我,汇编将取代 JavaScript。这是真的?

还有一个问题,您推荐哪种语言用于接近 JavaScript 的后端开发?我真的不希望任何人成为一个破产的艺术家。我听说很多 JavaScript 开发人员被淘汰和取代,因为它只是一种烦人的语言。

【问题讨论】:

  • 不要相信你所听到的一切
  • 针对不同工作的不同工具。

标签: javascript node.js dynamic-programming web-development-server webassembly


【解决方案1】:

WebAssembly 在没有 JavaScript 的情况下无法在 Web 嵌入中做任何事情,我们的设计意图并不是要替换 JavaScript。它甚至是the FAQ 的一部分!

不! WebAssembly 旨在补充,而不是替代, JavaScript。随着时间的推移,WebAssembly 将允许多种语言 被编译到 Web 上,JavaScript 拥有难以置信的数量 势头并将保持单一的特权(如所述 above) 动态 网络语言。此外,预计 JavaScript 和 WebAssembly 将在多种配置中一起使用:

  • 完整的、已编译的 C++ 应用程序利用 JavaScript 将事物粘合在一起。
  • HTML/CSS/JavaScript UI 围绕主要 WebAssembly 控制的中心画布,允许开发人员利用 Web 框架的强大功能 构建可访问的、具有网络原生感觉的体验。
  • 主要是 HTML/CSS/JavaScript 应用程序,带有一些高性能 WebAssembly 模块(例如,图形、模拟、图像/声音/视频 处理、可视化、动画、压缩等,例子 我们今天已经可以在 asm.js 中看到)允许开发人员 像 JavaScript 库一样重用流行的 WebAssembly 库 今天。
  • 当 WebAssembly 获得访问垃圾收集对象的能力时,这些对象将与 JavaScript,而不是生活在自己的封闭世界中。

我会说WebAssembly is JavaScript's sidekick

【讨论】:

  • 我不知道我在说什么,但是……WebAssembly 的下一个版本不应该允许它直接与 DOM 通信吗?如果这是真的,那么当这种情况发生时,你就不能完全绕过 JavaScript 了吗?另外,一旦 WebAssembly 可以访问 DOM,它就不能完全接管页面渲染过程(绘制自己的文本框、组合框等),从而让我们绕过整个 HTML/CSS/JavaScript 灾难吗?
  • @T555 是的,我相信会的,这意味着阻止 JS 被 wasm 取代的唯一原因就是惯性。
  • @T555 从概念上讲,WASM 几乎就像 JVM 之于 Java。它是一种可以在现代 Web 浏览器中运行的代码,可为 Web 应用程序带来性能上的重大提升。它的主要目的不是手工编写,而是 C、C++、Rust 等的编译目标。您无需了解 WASM 代码即可利用它,而是可以导入 WASM 模块以公开其 API 以在 JS 中使用.考虑到 HTML、CSS 和 JS 迄今为止为我们提供的良好范例、表现力和工具链,在 WASM 中开发 Web 应用程序将是非常神秘的。
  • @T555 与上面的 WASM 类比并不意味着接管渲染过程。构建DOM和CSSOM的复杂过程;加载资源、解析和执行 JS 是客户端应用程序所做的事情,并且可能仍然是 Web 上该层的挑战。我不认为 WASM 试图侵犯该功能。
  • 第三,每种语言和平台都有其公平的灾难份额,尽管在 Web 的情况下,开放性会加剧问题。标准并不完美,但当您考虑采用和实施时,它们是等式中不那么重要的部分。几十年来,我们一直在努力争取采用;记得 IE 11 MS 之前的时代,以及某个时候的 Safari。劣质的实现给我们留下了第一个 jQuery 和现在的 core-js 之类的 polyfill 和朋友。由于 Transcending CSS、CSS Zen Garden 和 UX 的兴起等作品,HTML 和 CSS 经受了仇恨,最近又受到喜爱。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-10
  • 2016-12-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多