你應該知道的 Crate
這是一份精選的超棒 Crate 清單,供您進行 Rust 和 WebAssembly 開發使用。
您也可以在 WebAssembly 分類中瀏覽所有已發布至 crates.io 的 Crate。
與 JavaScript 和 DOM 互動
wasm-bindgen
| crates.io | 儲存庫
wasm-bindgen
促進 Rust 和 JavaScript 之間的高階互動。它允許將 JavaScript 事物匯入 Rust,並將 Rust 事物匯出至 JavaScript。
wasm-bindgen-futures
| crates.io | 儲存庫
wasm-bindgen-futures
是連接JavaScript Promise
和Rust Future
的橋樑。它可以在兩個方向上轉換,在處理Rust中的非同步任務和允許與DOM事件和I/O操作進行交互時非常有用。
js-sys
| crates.io | 存放庫
所有JavaScript全域類型和方法的原始wasm-bindgen
匯入,例如Object
、Function
、eval
等。這些API可移植到所有標準ECMAScript環境,而不仅仅是Web,例如Node.js。
web-sys
| crates.io | 存放庫
所有Web API的原始wasm-bindgen
匯入,例如DOM操作、setTimeout
、Web GL、Web Audio等。
錯誤報告和記錄
console_error_panic_hook
| crates.io | 存放庫
通過提供將錯誤訊息轉發到console.error
的恐慌捕捉來讓您除錯wasm32-unknown-unknown
上的錯誤。
console_log
| crates.io | 存放庫
提供一個日誌箱
後端的箱子,將日誌訊息路由到開發者工具控制台。
動態分配
wee_alloc
| crates.io | 存放庫
Wasm-Enabled, Elfin Allocator。一種非常小的(約為 1K 未壓縮的 .wasm
)配置實作,當需要重視程式碼大小甚於配置效能時使用。
剖析和產生 .wasm
二進位檔
parity-wasm
| crates.io | 資源存放庫
一種序號化、解碼序號化並建置 .wasm
二進位檔的低階 WebAssembly 格式程式庫。對於眾所周知的自訂區段(如「名稱」區段及「reloc.WHATEVER」區段)有良好的支援。
wasmparser
| crates.io | 資源存放庫
一個用於剖析 WebAssembly 二進位檔的簡單事件驅動程式庫。提供所剖析的每項物件的位元組偏移量,例如,在解譯重定位時,這項資訊是必要的。
解譯和編譯 WebAssembly
wasmi
| crates.io | 資源存放庫
一種來自 Parity 的可嵌入式 WebAssembly 解譯器。
cranelift-wasm
| crates.io | 資源存放庫
將 WebAssembly 編譯成原生主機的機器碼。作為 Cranelift(原名 Cretonne)程式碼產生器專案的一部分。