3 repository-uri
Mechanisms for exposing Rust functions to be callable from external runtimes.
Distinct from Rust: Focuses on the act of exporting functions for FFI, not general Rust language resources.
Explore 3 awesome GitHub repositories matching programming languages & runtimes · Function Exports. Refine with filters or upvote what's useful.
wasm-bindgen este un generator de binding-uri și un strat de interop conceput pentru a mapa tipurile de date și funcțiile peste granița dintre WebAssembly și JavaScript. Funcționează ca o interfață de funcții străine (FFI) care sintetizează boilerplate-ul necesar pentru a permite comunicarea bidirecțională între Rust și runtime-ul browserului. Proiectul generează cod glue și wrapper-e care automatizează conversia tipurilor complexe, permițând funcțiilor Rust să fie exportate ca module JavaScript și API-urilor browserului să fie importate în Rust. Utilizează macro-uri procedurale pentru a defini aceste interfețe și sintetizează binding-urile bazate pe definițiile de tip Rust. Sistemul gestionează memoria prin transmiterea pointerilor în memoria liniară și gestionează schimbul de resurse folosind handle-uri de memorie gestionate de JavaScript. Se bazează pe o convenție de apelare compatibilă cu C ABI pentru a transmite numere întregi primitive și float-uri între modul și host.
Exposes Rust functions and types as modules that can be called by the JavaScript runtime.
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
Exports Rust functions to the JavaScript environment so they can be executed as native modules.
Extism is a cross-language WebAssembly plugin framework that lets applications written in any programming language load and execute plugins written in any other language. It provides a universal plugin system where host applications use idiomatic SDKs to load WebAssembly modules, call exported functions, and pass data back and forth, while plugin authors use development kits that handle memory management and host interaction so they can focus on business logic. The framework distinguishes itself through its comprehensive approach to cross-language integration, offering schema-driven binding g
Exposes named functions from WebAssembly modules so the host can invoke them with input and receive return values.