13

如何使用 WebAssembly 和 JS 构建高性能应用程序

 3 years ago
source link: https://www.infoq.cn/article/PNaHYQS3ivugtLTqD8sv
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

本文最初发布于 Medium 网站,经原作者授权由 InfoQ 中文站翻译并分享。

自计算机发明以来,原生应用程序的性能有了巨大的提升。相比之下,由于 JavaScript 最初并不是为提高速度而构建的,因此 Web 应用程序的运行速度曾经相当缓慢。但是,由于浏览器之间的激烈竞争以及 JavaScript 引擎(例如 V8)的迅速发展,JavaScript 在机器上的运行速度也变得非常快了。但是它仍然无法在速度上击败原生应用程序。这主要是由于 JavaScript 代码必须经过多个流程才能生成机器代码。

iMFFfiq.jpg!mobile

JS 引擎花费的平均时间

随着 WebAssembly 的引入,现代 Web 为我们所知的一切都有望迎来变革。这项技术快如闪电。在这篇文章文章中,我们就来看一下什么是 WebAssembly,以及如何将它与 JavaScript 集成以构建高性能应用程序。

什么是 WebAssembly?

在深入了解 WebAssembly 之前,我们先来看一下什么是 Assembly。

汇编(Assembly)是一种底层编程语言,与 CPU 架构的机器级指令有着非常紧密的联系。换句话说,它离机器可理解的代码(称为机器代码)只差一个转换过程。这种转换过程称为 汇编

顾名思义, WebAssembly 可以理解为 Web 的汇编。它是一种类似于汇编语言的底层语言,有着紧凑的二进制格式,使你能够以接近原生的速度运行 Web 应用程序。它还为 C、C++ 和 Rust 等语言提供了编译目标,从而使客户端应用程序能够以接近原生的性能运行在 Web 上。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK