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

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

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

napi-rs/napi-rs

0
View on GitHub↗
7,500 星标·357 分支·Rust·other·3 次浏览napi.rs↗

Napi Rs

napi-rs is a framework and toolkit for building high-performance native extensions for Node.js using Rust. It functions as a bridge between Rust and JavaScript runtimes, enabling the conversion of data types and the execution of native functions within a JavaScript environment.

The project provides a native binary compiler and a cross-platform module orchestrator to automate the compilation and publishing of packages across multiple operating systems and architectures. It generates corresponding JavaScript type definitions and platform-specific binaries to ensure consistent installation.

The framework covers the development of native add-ons by exposing native logic to JavaScript, managing type interoperability for memory and value exchange, and bootstrapping the necessary project structures and build scripts.

Features

  • Node.js Native Addons - Provides a comprehensive framework for building high-performance native extensions for Node.js using Rust.
  • Native Module Development - Provides a framework for authoring high-performance native extensions to expand Node.js runtime capabilities.
  • Native Binary Toolchains - Ships a toolchain that compiles source code into platform-specific native binaries and associated JS bindings.
  • Native Build Orchestrators - Provides a system for compiling and packaging Rust source code into platform-specific native binaries for Node.js.
  • Native Type Bridges - Implements interfaces for transforming and bridging data types between Rust and JavaScript.
  • Binary Compilation - Implements a build pipeline that transforms Rust source code into standalone native binary units for Node.js.
  • Module Interface Exports - Implements mechanisms to register native methods and properties onto the public JavaScript exports object.
  • FFI Type Definitions - Defines the mapping between Rust native types and JavaScript values for safe memory exchange.
  • JavaScript-to-Native Bridges - Provides the bridge enabling JavaScript code to call and execute native Rust functions directly.
  • Node-API Bindings - Maps native Rust functions to the Node-API binary interface to ensure cross-runtime compatibility.
  • Runtime Extensions - Enables the integration of native Rust binaries into the JavaScript environment for computationally expensive tasks.
  • Rust-JavaScript Bridges - Implements a system for converting data types and calling functions between Rust and JavaScript runtimes.
  • Cross-Platform Orchestrators - Manages complex compilation and publishing pipelines across multiple hardware architectures and operating systems.
  • Package Publishing Pipelines - Automates the compilation and release pipeline for distributing native packages across multiple target platforms.
  • Procedural Macros - Utilizes Rust procedural macros to automatically generate the boilerplate glue code for JavaScript exports.
  • External Library Linking - Handles the configuration of linker flags to compile native logic into shared objects for JavaScript loading.
  • Cross-Platform Binary Generation - Generates platform-specific native binaries for diverse CPU architectures and operating systems.
  • Type Definition Generators - Automatically synthesizes TypeScript type declaration files from native Rust function signatures.
  • Cross-Platform Integration - Framework for building compiled Node.js add-ons in Rust.

Star 历史

napi-rs/napi-rs 的 Star 历史图表napi-rs/napi-rs 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

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

Start searching with AI

常见问题解答

napi-rs/napi-rs 是做什么的?

napi-rs is a framework and toolkit for building high-performance native extensions for Node.js using Rust. It functions as a bridge between Rust and JavaScript runtimes, enabling the conversion of data types and the execution of native functions within a JavaScript environment.

napi-rs/napi-rs 的主要功能有哪些?

napi-rs/napi-rs 的主要功能包括:Node.js Native Addons, Native Module Development, Native Binary Toolchains, Native Build Orchestrators, Native Type Bridges, Binary Compilation, Module Interface Exports, FFI Type Definitions。

napi-rs/napi-rs 有哪些开源替代品?

napi-rs/napi-rs 的开源替代品包括: neon-bindings/neon — Neon is a framework for writing high-performance native Node.js modules using the Rust programming language. It serves… pyo3/pyo3 — This project provides a framework for binding Rust and Python, enabling the creation of native extension modules and… rust-lang/rust-by-example — This project is an interactive programming education resource and tutorial designed for learning the Rust programming… nodejs/node-addon-api — This project provides a header-only C++ wrapper for the Node-API, serving as a framework for building high-performance… nodejs/node-gyp — node-gyp is a build system wrapper and compilation tool designed to transform C and C++ source code into binary… bang590/jspatch — JSPatch is a JavaScript native bridge and method swizzler that allows for the dynamic injection of logic into a hosted…

Napi Rs 的开源替代方案

相似的开源项目,按与 Napi Rs 的功能重合度排序。
  • 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
  • pyo3/pyo3PyO3 的头像

    PyO3/pyo3

    15,344在 GitHub 上查看↗

    This project provides a framework for binding Rust and Python, enabling the creation of native extension modules and the embedding of the Python interpreter within host applications. It functions as a cross-language interoperability library that facilitates the execution of scripts, the definition of classes, and the sharing of data structures across the boundary of the two runtimes. The framework distinguishes itself through the use of procedural macros to automate the generation of boilerplate code, simplifying the process of exposing native functions and data types. It employs type-level m

    Rustbindingffipython
    在 GitHub 上查看↗15,344
  • rust-lang/rust-by-examplerust-lang 的头像

    rust-lang/rust-by-example

    8,026在 GitHub 上查看↗

    This project is an interactive programming education resource and tutorial designed for learning the Rust programming language and systems programming concepts. It provides a collection of runnable and editable code examples that serve as a practical reference for language syntax and implementation. The resource features an interactive code sandbox that allows users to execute and test code snippets in real time. It emphasizes the verification of technical accuracy by executing embedded code blocks during the build process to ensure all examples remain functional. The content covers a compre

    Handlebars
    在 GitHub 上查看↗8,026
  • nodejs/node-addon-apinodejs 的头像

    nodejs/node-addon-api

    2,400在 GitHub 上查看↗

    This project provides a header-only C++ wrapper for the Node-API, serving as a framework for building high-performance native addons for Node.js. It acts as a bridge between C++ and JavaScript, offering an object-oriented interface that simplifies the creation of compiled extensions while managing the complexities of the language boundary. The library distinguishes itself by providing type-safe abstractions for data marshalling and memory management, ensuring that native and script-side objects are tracked and reclaimed correctly. It includes mechanisms for coordinating asynchronous tasks bet

    C++nodenodejs
    在 GitHub 上查看↗2,400
查看 Napi Rs 的所有 30 个替代方案→