webassembly_您应该知道的8种新的WebAssembly工具

吉泰宁
2023-12-01

webassembly

WebAssembly(又名Wasm )使您可以在浏览器中执行代码,支持Web上JavaScript之外的其他语言,并加快应用程序的速度。 围绕该技术的工具生态系统正在发展,并得到了浏览器制造商Apple,Google,Microsoft和Mozilla的支持。

现有的WebAssembly工具包括提供WebAssembly解释器的Rust-wasm和提供用于读写WebAssembly二进制文件的C#库Wasmlib 。 但是更多的工具正在加入WebAssembly生态系统。 这是八个新的。

[更深入: 如何开始使用WebAssembly WebAssembly的下一步 8个使WebAssembly崭露头角的项目 •那么, WebAssembly的下一步究竟是什么? | 通过InfoWorld的App Dev Report新闻通讯了解编程方面的热门话题。 ]

云市场Perlin上的Life项目由以Google的Go语言编写的跨平台VM组成。 被描述为安全,快速和模块化的Life,可以在多个设备上运行大量计算的代码。 Life最初是作为Perlin的计算任务执行环境而设计的,它是根据WebAssembly参考手册构建的,并使用了一系列优化技术。 不依赖于本机依赖性,可以交叉编译以在Windows,Linux,MacOS,Android和iOS等平台上运行。 用户代码被沙盒化以确保安全。

在哪里下载生活

您可以从Perlin GitHub存储库下载Life

Nebulet

此开发中的微内核涉及在环0和单个地址空间中执行WebAssembly模块以提高性能。 目的是在某些可能与服务器相关的工作负载中,Nebulet将具有显着更好的性能。 创始人Lachlan Sneff认识到,在环0中运行模块可能会引发安全性标志,并担心Spectre,Meltdown和其他推测性执行错误。 目前尚不清楚这将是多大的问题。

Nebulet是2018年的Google Summer of Code项目,它允许低上下文切换开销,系统调用为函数调用以及常规操作系统上无法进行的优化。

Cranelift代码生成器将WebAssembly编译为本地机器代码。 编译后,应用程序和运行时之间没有复杂的交互。 Nebulet的内核是用Rust编写的。

在哪里下载Nebulet

您可以从GitHub 下载Nebulet

芥末

Wasabi代表“使用二进制工具进行WebAssembly分析”,它是一个动态分析框架。 Wasabi在程序运行时观察其属性。 动态分析用于修复错误并确定性能瓶颈和安全问题。

Wasabi静态地检测WebAssembly二进制文件,例如program.wasm,并在程序的原始指令中插入指令。 字节码被修改为独立于源代码。 为了执行动态分析,通过使用现在安装的program.wasm打开网站来执行该程序。 为了使WebAssembly程序知道用户编写的分析功能,将wasabi.js脚本与analysis.js一起添加到页面中。 Wasabi是用Rust编写的,带有一些JavaScript代码。

在哪里下载Wasabi

您可以从项目的GitHub存储库下载Wasabi

Wasmjit

可嵌入的Wasmjit WebAssembly运行时具有一个用C90编写的内核,主要目标是作为Linux内核模块,可以承载Emscripten生成的WebAssembly模块。 在此配置中,它在环0中运行,可以像正常函数调用一样访问系统调用。 它的开发人员Ryan Hunter希望将其包含在Linux内核中。 Hunter最近让Wasmjt运行Nginx Web服务器。

与Nebulet相似,也存在有关Wasmjit的安全问题,并担心Spectre和Meltdown可能存在漏洞。 Wasmjit容易受到Spectre的攻击,但正在采取缓解措施

在哪里下载Wasmjit

您可以从项目的GitHub页面下载Wasmjit

WAVM

WAVM,WebAssembly虚拟机,是用于WebAssembly的独立VM。 它可以加载标准二进制格式以及WebAssembly参考解释程序定义的文本格式。 通过文本格式,WAVM可以加载参考解释器使用的标准堆栈机语法和AST语法,以及所有测试命令。

构建WAVM需要CM​​ake构建软件和LLVM 6.0编译器。 WAVM已在带有C ++的Windows,带有GCC和Clang的Linux以及带有Xcode / Clang的MacOS上进行了测试。

在哪里下载WAVM

您可以从GitHub 下载WAVM

WebAssembly二进制工具包(WABT)

WABT工具箱发音为“ wabbit”,它检查WebAssembly文件或将其从一种格式转换为另一种格式。 其工具包括:

  • WABT,将WebAssembly文本格式转换为二进制格式。
  • Wasm2wat,WABT的反函数。
  • Wasm-objdump,以打印有关WebAssembly二进制文件的信息。
  • Wasm-interp,用于使用基于堆栈的解释器解码和运行WebAssembly二进制文件。
  • Wat-desugar,用于解析.wat文本形式。
  • Wasm2c,用于将WebAssembly二进制文件转换为C源代码和标头。

在Mozilla开发人员网络中使用的WABT形式稳定。 计划为WABT提供新功能,包括对SIMD(单指令,多个数据)和线程的支持,因为它们已添加到WebAssembly本身。

在哪里下载WABT

您可以从GitHub 下载WABT

WebAssembly Studio

由Mozilla开发的WebAssembly Studio在线IDE目前处于测试阶段,它是用于与WebAssembly一起工作的工具的集合,该工具也可用作教学工具。 提供了用于打开,下载,编辑和删除文件的基本功能。 开发人员还可以上传文件和目录。 项目可以分叉,以便与他人共享。 可以编辑WebAssembly的二进制模块以及文本文件。 WebAssembly Studio支持C,C ++和Rust语言。 有些功能需要托管的后端服务,例如编译功能,而其他功能则在浏览器中运行。

在哪里获得WebAssembly Studio

您可以在线试用WebAssembly Studio IDE

VS代码的WebAssembly工具包

Microsoft的开放源代码编辑器Visual Studio Code的扩展,WebAssembly工具包可以预览WebAssembly二进制文件并突出显示文本表示的语法。 扩展的主要目的是帮助开发人员学习WebAssembly。 计划要求改进扩展中的调试和语法突出显示。 该扩展来自开发人员Dmitry Tsvettsikh。

哪里可以下载VS Code的WebAssembly工具包

您可以从Visual Studio市场上下载VS Code的WebAssembly工具包

翻译自: https://www.infoworld.com/article/3327558/8-new-webassembly-tools-you-should-know.html

webassembly

 类似资料: