awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
rustwasm avatar

rustwasm/wasm-bindgen

0
View on GitHub↗
9,057 星标·1,220 分支·Rust·Apache-2.0·3 次浏览wasm-bindgen.github.io/wasm-bindgen↗

Wasm Bindgen

wasm-bindgen 是一个绑定生成器和互操作层,旨在映射 WebAssembly 和 JavaScript 边界之间的数据类型和函数。它充当外部函数接口,合成必要的样板代码以实现 Rust 和浏览器运行时之间的双向通信。

该项目生成胶水代码和包装器,自动化复杂类型的转换,允许将 Rust 函数导出为 JavaScript 模块,并将浏览器 API 导入到 Rust 中。它使用过程宏来定义这些接口,并根据 Rust 类型定义合成绑定。

该系统通过线性内存指针传递来管理内存,并使用 JavaScript 管理的内存句柄处理资源交换。它依赖于与 C ABI 兼容的调用约定,在模块和宿主之间传递原始整数和浮点数。

Features

  • WebAssembly Glue Code Generators - Generates the necessary JavaScript and Rust glue code to automate complex type conversion between the two environments.
  • FFI Export Macros - Uses procedural macros to annotate Rust functions and types for export to the JavaScript environment.
  • Rust Language Binding Generators - Generates the necessary boilerplate and language bindings to call Rust functions from JavaScript and vice versa.
  • JavaScript Function Invocations - Provides the ability to invoke specific JavaScript functions and browser APIs from within Rust code.
  • WebAssembly-JavaScript Interoperability - Manages the exchange of complex data types, functions, and memory between WebAssembly and JavaScript.
  • Foreign Function Interfaces - Implements a foreign function interface for mapping complex types across the WebAssembly and host boundary.
  • WebAssembly Bridges - Creates high-level communication bindings to export compiled WebAssembly functions to JavaScript environments.
  • Function Exports - Exposes Rust functions and types as modules that can be called by the JavaScript runtime.
  • Rust WebAssembly Integrations - Provides the core machinery for calling Rust from JavaScript and utilizing browser APIs within Rust.
  • Interop Layers - Acts as a compatibility layer translating memory and type representations between Rust and the browser runtime.
  • Rust-to-JS Type Synthesis - Analyzes Rust type definitions to automatically synthesize memory layouts and conversion logic for JavaScript.
  • C ABI Compatibility - Implements a low-level calling convention compatible with the C ABI for passing primitives between Wasm and the host.
  • Linear Memory Sharing - Passes memory addresses and lengths to share large data structures between Rust and JavaScript without copying buffers.
  • Wasm Memory Handles - Wraps Wasm memory pointers in JavaScript objects to track and manage allocated Rust resources.
  • Rust Frontend Frameworks - Facilitates building web-based user interfaces and application logic using Rust.
  • High-Performance UI Logic - Enables moving compute-intensive tasks from JavaScript to Rust for higher performance in web applications.
  • Language Implementations - Library for Rust and JavaScript interoperability.
  • WebAssembly Interoperability - High-level interface for Rust and JavaScript module interaction.

Star 历史

rustwasm/wasm-bindgen 的 Star 历史图表rustwasm/wasm-bindgen 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Wasm Bindgen 的开源替代方案

相似的开源项目,按与 Wasm Bindgen 的功能重合度排序。
  • wasm-bindgen/wasm-bindgenwasm-bindgen 的头像

    wasm-bindgen/wasm-bindgen

    9,042在 GitHub 上查看↗

    wasm-bindgen is a glue code generator and interoperability tool that facilitates high-level communication and data exchange between compiled Rust modules and JavaScript environments. It functions as a memory bridge and type definition generator, allowing the exchange of complex data types and the calling of functions across execution boundaries. The project distinguishes itself by automating the conversion of data types and function signatures using attribute-based bindings. It generates the necessary JavaScript and WebAssembly wrappers to manage linear memory mapping and creates automatic Ty

    Rust
    在 GitHub 上查看↗9,042
  • thedodd/trunkthedodd 的头像

    thedodd/trunk

    4,317在 GitHub 上查看↗

    Trunk is a build tool and development server for compiling Rust code to WebAssembly and packaging it for browser deployment. It functions as a web bundler that combines WebAssembly modules, JavaScript, and static files into a deployable web application. The tool provides a local development server utilizing HTTP and WebSocket proxies to enable rapid iteration. This environment includes a file-system watcher that triggers automatic rebuilds and browser reloading when source files are modified. The pipeline handles the conversion of Rust source code into WebAssembly binaries and generates the

    Rust
    在 GitHub 上查看↗4,317
  • neon-bindings/neonneon-bindings 的头像

    neon-bindings/neon

    8,410在 GitHub 上查看↗

    Neon is a framework for writing high-performance native Node.js modules using the Rust programming language. It serves as a foreign function interface bridge and a toolchain for bootstrapping, compiling, and managing Rust-based extensions. The project provides a cross-language memory manager that handles buffers and object borrowing to ensure safe memory access between Rust and JavaScript. It enables the mapping of data types and function calls across the language boundary, allowing Rust functions to be exported to the script environment and JavaScript functions to be called from Rust. The f

    Rust
    在 GitHub 上查看↗8,410
  • godot-rust/gdextgodot-rust 的头像

    godot-rust/gdext

    4,912在 GitHub 上查看↗

    gdext provides a set of language bindings for writing high-performance native game logic in Rust for the Godot 4 engine. It serves as a framework for creating native engine extensions and custom classes via the GDExtension library, allowing developers to extend core engine functionality without recompiling the engine source code. The project includes a dedicated Rust WebAssembly toolchain to compile native logic into modules for execution in web browsers. This system supports WebAssembly-compatible compilation with specific configurations for web threading and module debugging. The toolkit c

    Rustgame-developmentgamedevgodot
    在 GitHub 上查看↗4,912
查看 Wasm Bindgen 的所有 30 个替代方案→

常见问题解答

rustwasm/wasm-bindgen 是做什么的?

wasm-bindgen 是一个绑定生成器和互操作层,旨在映射 WebAssembly 和 JavaScript 边界之间的数据类型和函数。它充当外部函数接口,合成必要的样板代码以实现 Rust 和浏览器运行时之间的双向通信。

rustwasm/wasm-bindgen 的主要功能有哪些?

rustwasm/wasm-bindgen 的主要功能包括:WebAssembly Glue Code Generators, FFI Export Macros, Rust Language Binding Generators, JavaScript Function Invocations, WebAssembly-JavaScript Interoperability, Foreign Function Interfaces, WebAssembly Bridges, Function Exports。

rustwasm/wasm-bindgen 有哪些开源替代品?

rustwasm/wasm-bindgen 的开源替代品包括: wasm-bindgen/wasm-bindgen — wasm-bindgen is a glue code generator and interoperability tool that facilitates high-level communication and data… thedodd/trunk — Trunk is a build tool and development server for compiling Rust code to WebAssembly and packaging it for browser… neon-bindings/neon — Neon is a framework for writing high-performance native Node.js modules using the Rust programming language. It serves… mozilla/uniffi-rs — uniffi-rs is a Rust FFI binding generator and multi-language binding tool. It functions as an automated binding… seed-rs/seed — Seed is a frontend framework for building single-page applications using Rust and WebAssembly. It provides a virtual… godot-rust/gdext — gdext provides a set of language bindings for writing high-performance native game logic in Rust for the Godot 4…