当前位置: 首页 > 网络应用技术

使用汇编构建WebAssembly应用程序

时间:2023-03-09 12:22:39 网络应用技术

  WebAssembly,也称为WASM,是Web的二进制格式。它允许通过常规JavaScript访问相同的Web API访问浏览器函数。WebAssembly的最大亮点之一是效率和速度。它接近主要性能速度,并在PO浏览器的许可下安全地安全运行。

  尽管具有Web特征,但考虑到某些Web功能将不可用,WebAssembly也可以在非WEB模式下运行,例如服务器,物联网设备,移动/桌面应用程序。

  目前,四个主要浏览器(Firefox,Chrome,Safari和Edge All Support WebAssembly。WebAssembly的介绍和优势可以咨询“了解WebAssembly”并“快速了解WebAssembly”。本文的主要内容是为了构建一个应用程序。

  汇编代码看起来与Typescript相似。如果您不熟悉它,请不要担心。基本上,如果您熟悉JavaScript,则可以理解Typescript。

  通过以下示例了解相应的差异:

  这是一个非移植的汇编代码。使用打字稿不是100%准确:

  在打字稿中,所有数字类型都是数字的别名,因此这些数字类型之间没有区别。

  由汇编编译器生成的移植打字条代码将是:

  使用常规的打字稿编译器来编译代码后,结果将是:

  您可以通过两种不同的方式编写汇编:

  这些方法不会相互排除,并且可以根据需要混合它们。

  标准库汇编提供了类似于JavaScript的标准库,类似于JavaScript使用的标准库。

  在某些情况下,低级别的WebAssembly需要编写低级别的WebAssembly。WebAssembly中先前功能的摘要如下:

  避免使用非Strict Typescript代码,因为并非所有代码都是有效的汇编代码。阅读有关Typescript严格模式的更多信息。

  在开始之前,您需要确保在计算机上安装了最新的LTS版本。可以参考“再次了解WebAssembly”。

  好吧,浏览器中的绘制摆构成不需要太多使用WASM,但是主要目的是了解如何使用WASM来依赖动画并绘制图纸所需的数学计算:

  WASM代码将负责摆锤的位置。有两个主要功能:

  初始化功能

  此函数通过将变量存储在类对象中来负责变量的初始化。该功能的另一个责任是负责内存分布;它使用配置帆布宽度和高度来计算所需的内存。如果内存未正确分配,WASM可能会失败,并且更多的内存管理可以单击此处以阅读。

  移动功能

  该函数重新计算了方向上的下一个位置,并使用头公式计算位置。在GitHub上查看源代码。

  您可以从受支持的浏览器调试WebAssembly代码,这是如何使用Chrome进行调试的方法。

  本文只是冰山一角。汇编是一个完整的项目,具有高级示例和令人兴奋的实现。

  据信,该项目可以通过使用Typescript的变体来减少WASM使用的差距,并打开门以刺激更多的使用Wassm.Hope M.Hope M.Hope Bowen可以帮助您提高您对尝试WebAssembly的兴趣。

  原始:https://juejin.cn/post/7113090353057497096