https://www.toutiao.com/article/7249203968071909925/?channel=&source=search_tab
WebAssembly (简称 wasm) 是一种为现代 web 浏览器设计的安全、沙箱化的低级虚拟机。它提供了一种在 JavaScript 之外的高性能、高效的代码执行方式。WebAssembly 代码在浏览器中运行速度非常接近本机代码的速度,使其成为 JavaScript 之外的另一个 web 开发的选择。主要特点如下: 性能:WebAssembly 旨在提供接近原生性能的执行速度。它是一种低级编译目标,可以被许多编程语言(如 C/C++、Rust、Go 等)作为编译目标以提高网页运行速度。 安全:WebAssembly 在浏览器的 JavaScript 沙箱环境中执行,确保了代码运行的安全性。 大小:WebAssembly 的二进制格式被设计为紧凑且易于解码,便于在网络上快速传输。 多语言支持:许多高级编程语言提供针对 WebAssembly 的编译器与工具,例如 Rust、C/C++、Go 等。这支持了在 web 平台上开发并使用多种语言构建的应用程序。 与 JavaScript 互操作:WebAssembly 可以与 JavaScript 代码并行运行,这使得它可以增强现有的 JavaScript 应用程序,同时无需从头构建整个项目。
WebAssembly 的典型用途包括: 提高 web 应用程序的性能,特别是那些对性能有高要求的场景,如游戏、图形渲染、音频和视频处理等。 将现有的 C/C++ 或 Rust 类库移植到 web 浏览器中,以便使用现有代码库或算法构建 web 应用程序。 使用其他编程语言(如 Rust、C 标准库或游戏引擎)构建并运行 web 应用程序。
总的来说,WebAssembly 提供了一种将多种编程语言的代码编译并在 web 浏览器中快速高效地运行的解决方案,这为 web 应用程序的性能和功能拓展提供了新的可能。
|