commit/cde26ad18895984504206b397f462476e95f2998

你应该知道的Crates

这个一个精选的用于Rust和WebAssembly开发的crates的列表。

你也可以浏览发布在crates.io的所有在WebAssembly分类下的crates。

与JavaScript和DOM互操作

wasm-bindgen | crates.io | repository

wasm-bindgen实现了Rust和JavaScript之间的高级别互操作。 它允许将JavaScript的内容导入到Rust和将Rust内容导出给JavaScript。

wasm-bindgen-futures | crates.io | repository

wasm-bindgen-futures 是一个连接JavaSript的Promise和Rust的Future的桥梁。 它可以在两个方向执行转换并且当在Rust中执行异步任务的时候很有用,同时允许与DOM时间和I/O操作互操作。

js-sys | crates.io | repository

原生wasm-bindgen导入了所有JavaScript全局类型和方法,如ObjectFunctioneval等。 这些API可以在所有标准ECMAScript环境中移植,而不仅仅是Web,例如Node.js。

web-sys | crates.io | repository

原生的wasm-bindgen导入了所有的Web API,比如DOM操作,setTimeout,Web GL, Web Audio等。

错误报告和日志

console_error_panic_hook | crates.io | repository

这个crate允许你通过提供一个转发错误消息到console.error的钩子来在wasm32-unknown-unknown上进行调试。

console_log | crates.io | repository

这个crate为log crate提供了一个后端,它能把日志消息路由到开发工具控制台。

Dynamic Allocation

wee_alloc | crates.io | repository

Wasm-Enabled, Elfin 分配器。 一个小的(~1K未压缩的.wasm)分配器实现,用在代码尺寸比分配性能更受关注的时候。

解析和生成.wasm二进制文件

parity-wasm | crates.io | repository

用于序列化,反序列化和构建.wasm二进制文件的低级WebAssembly格式库。

wasmparser | crates.io | repository

一个简单的事件驱动库,用于解析WebAssembly二进制文件。 提供每个已解析事物的字节偏移量,例如,在解释reloc时这是必需的。

翻译和编译WebAssembly

wasmi | crates.io | repository

来自Parity的可嵌入WebAssembly解释器。

cranelift-wasm | crates.io | repository

将WebAssembly编译为本机主机的机器代码。 Cranelift(néCretonne)代码生成器项目的一部分。

results matching ""

    No results matching ""