海外社媒SNS代运营Tiktok代运营公司
Revive Old Posts

WebAssembly 是一个非常酷的项目,它可以编译其他代码语言,以便它们可以在带有 JavaScript 的浏览器中运行。 它比许多竞争对手要快得多。 与其他方式相比,它可以让更多数据和处理繁重的站点运行得更顺畅、更快速。 在本文中,我们将从自上而下的角度审视这项技术——了解它是什么以及您可能想要或需要它的原因。

什么是 WebAssembly?

在技​​术方面,WebAssembly 是一种二进制编码格式,正如原始文档所说,“支持小文件、快速解码和减少内存使用。” 它旨在从机器级别获取代码。 就像 C 或 C++(或 R 等)等语言一样。 然后它编译成 WebAssembly(或 瓦斯姆),然后像 JavaScript 一样在浏览器中执行。 基本上,它获取可执行代码并在浏览器中运行它。

这对开发人员意味着您可以更直接地使用浏览器工作,就好像您在机器级别上与用户的计算机进行交互一样。 您不再需要执行 JavaScript 所需的有时复杂的步骤。 WASM 允许您在浏览器中运行成熟的游戏和应用程序,就像它们在机器本身上运行一样。 这几乎就像有一个理想的虚拟机在执行命令。 有 Doom 3 仅在 WebAssembly 和 Figma 中运行的示例。

即使您没有一个如此雄心勃勃的项目,WebAssembly 也值得一看,因为它几乎可以加快任何 JS 密集型站点的速度,因为它可以将必要的计算从 JavaScript 转移到可以更好地处理它们的工具手中。

为什么是 WebAssembly 而不是 JavaScript?

好吧,首先,不要将其视为非此即彼的决定。 它不是。 WebAssembly 旨在与 JS 一起工作,而不是取代它。 您可以让一些脚本在 JS 中运行,而其他脚本则通过 WASM 执行。 此外,它不是边缘技术。 在撰写本文时,Chrome、Firefox、Safari、Android 甚至 Microsoft Edge (!) 都支持 WebAssembly。

这就是为 WordPress 和其他 Web 应用程序研究 WebAssembly 如此吸引人的部分原因。 它已经成为每个主要参与者都采用的编码标准。 包括微软。 我们都知道他们对这种事情有多么犹豫。 所以如果有理由开始考虑如何使用它,就是这样。

此外,我们知道 JavaScript 可以做一些了不起的事情(看看新的 WP Block Editor 或 Divi,它们都是用 React.js 编写的)。 但它不是 伟大的 在一切。 WebAssembly 为您提供了渲染高端视觉效果和动画的工具,以配合您希望从 JavaScript 中获得的功能和交互。

在 WebAssembly 之前,如果您想执行其中任何一项并拆分资源和计算,则需要浏览器插件和扩展。 现在,WASM 与 HTML5 和 JavaScript 一起工作,使您想做的所有事情(大致)都可以在浏览器本身内编译、执行和呈现。 没有性能或功率损失。

海外社媒SNS代运营Tiktok代运营公司

使用 WASM

首先,您将需要使用 C、C++、R 等编写的某种代码。然后,您需要下载 Emscripten SDK,它可以让您获取该代码并将其编译为 WASM。

然而,你们中的许多人是 Web 开发人员,可能没有那种多语言水平。 没关系。 您也可以直接写入 WebAssembly 文本样式,或者您可以实际将 TypeScript 写入 WASM。

完成后,Mozilla 的文档说得最好:

这 [Emscripten] 生成的 HTML 文档加载 JavaScript 粘合文件并将标准输出写入