thehardwarestore.ai

where AI agents shop for the right tools

── 99195 repos indexed ── | filtered by tag: #native-module
neon-bindings/neon ★ 8422 287 APPLICATION

Neon is a Rust framework for building safe and fast native Node.js addons via the Node-API (N-API). It provides a comprehensive type system that maps JavaScript values to Rust types, procedural macros for exporting functions, classes, and constants, and async/threading primitives for offloading work to background threads. The repository also includes CLI tools: `create-neon` for scaffolding new projects with CI/CD templates, and `cargo-cp-artifact` for copying build artifacts. The core library (`crates/neon`) is the primary deliverable, consumed as a Rust dependency. The architecture is a Rust workspace with a procedural macro crate (`neon-macros`), plus npm packages for tooling. The codebase demonstrates high craftsmanship with safe abstractions over unsafe FFI, composable type extraction patterns, and a macro-driven export system that automates registration. It is actively maintained with extensive test suites including compile-fail UI tests, integration tests, and benchmarks.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
mybigday/llama.rn ★ 1039 120 APPLICATION

This repository is a high-performance React Native library (llama.rn) that enables on-device Large Language Model (LLM) inference on iOS and Android devices. It wraps the C++ llama.cpp core using JavaScript Interface (JSI) and TurboModules, allowing mobile applications to run GGUF-formatted models locally without cloud dependencies. The architecture consists of a TypeScript/JavaScript layer for the React Native interface, a C++ core for inference and model loading, and native modules for Android (Java/Kotlin) and iOS (Objective-C++). Key capabilities include hardware acceleration via Apple Metal and Qualcomm Hexagon DSP, multimodal support (vision/audio), parallel decoding, and structured output generation. The project includes a comprehensive example app demonstrating chat interfaces, model management, and benchmarking tools.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
react-native-config/react-native-config ★ 4954 657 APPLICATION

react-native-config is a native module library that exposes environment variables from a .env file to React Native applications on iOS, Android, macOS, and Windows. At build time, platform-specific scripts (Ruby for iOS/macOS, Gradle for Android, Node.js for Windows) parse the .env file and inject the key-value pairs as generated constants — BuildConfig fields on Android, a #define'd NSDictionary on iOS, and C++ string constants on Windows. At runtime, a single JavaScript entry point (index.js) calls a synchronous TurboModule method (getConfig()) to retrieve the config object, which is then exported as the default 'Config' constant. The library supports per-environment configurations via ENVFILE or per-build-configuration settings, and includes thorough diagnostics: if the .env file is missing or empty, the runtime logs a detailed message naming exactly which paths were tried. The codebase is well-structured across all four platforms, with a strong test suite for the iOS codegen scripts (Ruby Minitest) and a clean separation between build-time codegen and runtime reading.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 3 reusable components found
LuckyPray/DexKit ★ 1032 114 APPLICATION

DexKit is a high-performance C++ library for runtime parsing and querying of Android DEX bytecode, primarily used by Xposed module developers to locate obfuscated classes, methods, and fields. It provides a rich DSL in Kotlin/Java for constructing structural queries based on annotations, opcodes, string usage, field/method references, and more. The core engine parses DEX files from APK archives, builds in-memory indexes, and uses algorithms like Aho-Corasick for substring matching and the Hungarian algorithm for unordered set matching. Communication between the native C++ layer and JVM is handled via FlatBuffers serialization. The library also includes an optional caching layer (`DexKitCacheBridge`) for persisting query results across app restarts. It is distributed as an Android AAR via Maven Central and includes a demo app and unit tests.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 3 reusable components found

react-native-linear-gradient is a mature, well-maintained React Native library that provides a `<LinearGradient>` component for rendering linear gradients on iOS and Android. The library supports both the old (Paper) and new (Fabric) React Native architectures, with native implementations in Objective-C/C++ (iOS) and Java (Android). It offers configurable start/end points, color stops, angle-based gradients, and automatic handling of border radii on Android. The codebase is cleanly structured with TypeScript types, proper prop validation, and a Jest mock for testing. The example app demonstrates various use cases including simple gradients, angle gradients, animated gradient transitions, and gradient buttons. The library is actively maintained with CI/CD pipelines, recent commits, and support for React Native 0.75+.

RATING: 8.6/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
avishayil/react-native-restart ★ 987 154 APPLICATION

react-native-restart is a small React Native native module that programmatically reloads the running JS bundle at runtime — a full process restart on Android, a bundle reload in-process on iOS and Windows. The architecture is a deliberately thin TypeScript bridge (src/index.tsx) over three native implementations, all registered under the module name RNRestart. The JS layer resolves the native module through TurboModuleRegistry on the New Architecture with a NativeModules fallback for the legacy bridge, and throws a descriptive linking error when the module was never linked. A TurboModule spec (src/NativeRNRestart.ts) drives RN codegen on Android and Windows. The public API is just three calls: restart(reason?), the deprecated Restart(reason?) alias, and getReason() which returns a reason that survives the restart.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
react-native-webrtc/react-native-webrtc ★ 4995 1334 APPLICATION

react-native-webrtc is a React Native native module that provides a JavaScript API for WebRTC, enabling real-time communication in mobile apps. It wraps Google's WebRTC library (via a fork by Jitsi) and exposes standard WebRTC objects like RTCPeerConnection, MediaStream, and RTCDataChannel to React Native. The architecture is a typical React Native native module: TypeScript bindings in src/ communicate with Android Java and iOS Objective-C native code through the bridge. Key entry points include the module's index.ts and the native WebRTCModule classes. The library handles media acquisition (getUserMedia, getDisplayMedia), peer connection management, data channels, screen sharing, and video effects. It includes example apps for iOS, macOS, and tvOS, but no production app. Reusable components include a custom EventEmitter for native event handling, a Permissions wrapper, and video effect processor interfaces. Maintenance is active with recent commits, but the library has some technical drift: it targets an older React Native version (0.71) in dev dependencies, uses synchronous blocking native methods that may be deprecated, and relies on a custom WebRTC fork that requires separate maintenance. No automated tests exist beyond linting.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
duguyihou/react-native-turbo-image ★ 1001 146 APPLICATION

react-native-turbo-image is a high-performance React Native native module that replaces the built-in Image component with advanced image loading, caching, and processing capabilities. It leverages Nuke (iOS) and Coil (Android) for efficient image fetching, decoding, and caching, supporting multiple cache policies (urlCache, dataCache) and placeholders (blurhash, thumbhash, memory cache key). The library also provides image processing features such as blur, monochrome, tint, rounded corners, and resize, along with support for special formats like SVG, GIF, and APNG. Architecturally, the library consists of a React component (TurboImage) that communicates with native views via React Native's UIManager. On iOS, TurboImageView wraps NukeUI's LazyImageView, while on Android, TurboImageView uses Coil's ImageLoader with a shared OkHttp client. An event system (progress, success, failure) is implemented on both platforms, and static methods are exposed for prefetching and cache clearing. The example app demonstrates all features through a navigation-based demo. External dependencies include Nuke and NukeUI (vendored as XCFrameworks), Coil, Gifu, APNGKit, and a private CoreSVG framework on iOS. The library is published on npm and follows conventional commits. While the codebase is well-structured and demonstrates solid engineering practices, it lacks unit tests and bundles large precompiled frameworks, which introduces maintenance overhead and potential version drift.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 3 reusable components found

This repository is a React Native library that provides platform-specific camera and image/video picker functionality. It exposes two primary functions: `launchCamera` and `launchImageLibrary`, which allow users to capture photos/videos or select existing media from the device library. The implementation covers iOS (using UIImagePickerController and PHPickerViewController), Android (via Intents and the AndroidX Photo Picker), and a minimal web fallback using browser APIs. The library handles image resizing, metadata extraction, video conversion, permission handling, and offers configurable options like quality, media type, selection limits, and more. The codebase follows standard React Native native module patterns with support for both the old and new architecture (TurboModules). While the implementation is functional and well-tested by the community, it includes some code that could be considered dated (e.g., synchronous dispatch semaphore on iOS, inline DOM manipulation on web) and does not contain easily extractable reusable components outside its specific domain.

RATING: 7.1/10 MAINT: maintained DRIFT: low
── end of results ──
$ submit: