11 Repos
Interfaces specifically designed for data exchange and function calls between native C/C++ code and JavaScript.
Distinct from JavaScript Bridges: Distinct from JavaScript Bridges by targeting the native C/C++ boundary rather than the JVM.
Explore 11 awesome GitHub repositories matching programming languages & runtimes · Native C-JavaScript Bridges. Refine with filters or upvote what's useful.
Duktape is an embeddable JavaScript engine and portable scripting runtime designed for integration into C and C++ applications. It functions as a lightweight ECMAScript runtime that provides a C-JavaScript bridge for exchanging data and invoking functions between native code and a script execution environment. The engine includes an ECMAScript bytecode compiler that allows for the serialization and caching of compiled functions to disk to reduce application startup time. It organizes script dependencies using a CommonJS-compliant module loader. The runtime covers a variety of capabilities in
Implements a dedicated interface for exchanging data and invoking functions between native C code and the JavaScript environment.
opencv4nodejs ist eine Reihe von JavaScript-Wrappern und ein natives C++-Addon, das Node.js-Bindings für die OpenCV-Bibliothek bereitstellt. Es fungiert als Computer-Vision-Bibliothek und Bildverarbeitungs-Framework, das leistungsstarke C++-Algorithmen für eine JavaScript-Umgebung verfügbar macht. Das Projekt ermöglicht die Ausführung von Vision-Algorithmen zur Gesichtserkennung, Objektverfolgung und Analyse visueller Daten unter Verwendung tiefer neuronaler Netze. Es enthält Funktionen für die Datenmusterklassifizierung, Texterkennung und die Identifizierung von Gesichtsmerkmalen und Gesten. Das Framework deckt eine breite Palette an Funktionen ab, einschließlich automatisierter Bildverarbeitung, optischer Zeichenerkennung und Echtzeit-Videoanalyse. Es bietet Tools für Matrix-Arithmetik-Operationen, Pixeldaten-Zugriff sowie die Verwaltung von Bilddateien und Live-Video-Capturing. Das Ressourcenmanagement wird durch asynchrone Aufgabenausführung und externes Speicher-Tracking gehandhabt, um die Reaktionsfähigkeit der Event-Loop aufrechtzuerhalten.
Provides a stable N-API bridge for efficient data exchange and function calls between native C++ and JavaScript.
react-native-webrtc ist ein mobiler Framework-Wrapper und eine Peer-to-Peer-Kommunikationsbibliothek, die verwendet wird, um Echtzeit-Audio-, Video- und Datenkommunikation in plattformübergreifende mobile Anwendungen zu integrieren. Es fungiert als Werkzeug zur Erfassung von Gerätebildschirmen und zum Streamen von Live-Medieninhalten über das WebRTC-Protokoll. Das Projekt bietet eine Schnittstelle für bidirektionale Datenkanäle, die den Austausch beliebiger Datenpakete zwischen Peers ohne zentralen Relay-Server ermöglicht. Es unterstützt Echtzeit-Medien-Streaming, einschließlich Peer-to-Peer-Audio- und Videoübertragung sowie Funktionen zur Bildschirmaufnahme. Die Bibliothek enthält Funktionen zur Stream-Optimierung, wie das Senden mehrerer Versionen eines Videostreams in verschiedenen Auflösungen, um sich an die Netzwerkbedingungen des Empfängers anzupassen. Sie deckt hochrangige Kommunikationsdomänen ab, einschließlich mobilem Voice-over-IP und Echtzeit-Videokommunikation.
Provides a bridge that serializes JavaScript calls into native C++ method invocations to control WebRTC.
ammo.js ist ein JavaScript-Port der Bullet-Physik-Engine, der via Emscripten kompiliert wurde, um eine hochperformante Physik-Bibliothek für den Browser bereitzustellen. Es fungiert als 3D-Rigid-Body-Engine und als Emscripten-kompilierte Bibliothek, die komplexe physikalische Berechnungen mittels WebAssembly und JavaScript ermöglicht. Das Projekt bietet spezialisierte Simulationsfunktionen für Soft-Body-Physik, die die Verformung flexibler Materialien wie Stoff und Gummi modelliert, sowie eine Fahrzeugdynamik-Engine zur Berechnung der Mechanik von Radfahrzeugen. Die Simulationsumgebung deckt zudem Rigid-Body-Dynamik für nicht verformbare Festkörper sowie die Generierung von Heightmap-Terrain zur Erstellung von 3D-Landschaften ab, die physikalische Interaktionen steuern.
Provides the glue layer for data exchange and function calls between native C++ physics code and JavaScript.
node-opencv is a high-performance C++ native addon and bridge that connects Node.js applications to the OpenCV library. It serves as an image processing toolkit and computer vision library, allowing JavaScript code to execute vision algorithms and image manipulation operations through native bindings. The project provides specialized capabilities for face and shape detection, as well as face identity recognition using trained models. It includes tools for object motion tracking through optical flow and background subtraction, along with the ability to identify specific patterns and analyze sh
Implements a native C-JavaScript bridge to enable high-performance data exchange and function calls to OpenCV.
node-ffi ist eine Foreign Function Interface-Bibliothek für Node.js, die den Aufruf von Funktionen aus nativen C-Dynamic-Libraries ermöglicht, ohne manuelle C++-Bindings schreiben zu müssen. Sie dient als System zum Laden von Shared Objects und DLLs in den Prozessspeicher, zur Übersetzung von JavaScript-Werten in binäre Repräsentationen und zur Ausführung externer Binärdateien zur Laufzeit. Das Projekt nutzt einen Wrapper um die libffi-Bibliothek, um Call-Frames zu konstruieren und native Funktionen mit dynamischen Argumenten auszuführen. Es zeichnet sich durch einen nativen Speicher-Manager zur Allokation von Raw-Pointern und ein Mapping-System aus, das komplexe C-Strukturen mit JavaScript-Objekten verbindet. Das Toolkit deckt ein breites Spektrum an nativer Interoperabilität ab, einschließlich automatischer Datentyp-Übersetzung und der Erstellung ausführbarer Speicher-Stubs, die es nativen Bibliotheken erlauben, JavaScript-Callbacks auszulösen. Um die Reaktionsfähigkeit des Main-Threads zu erhalten, unterstützt es ein asynchrones Ausführungsmodell, das native Funktionsaufrufe in einen separaten Thread-Pool auslagert.
Provides an interface designed for data exchange and function calls between native C/C++ code and JavaScript.
Unreal.js is a JavaScript runtime and scripting layer for Unreal Engine that embeds the V8 engine to implement game logic and manage application state. It provides a bridge for writing high-level application behavior and actor control without modifying the core engine source code, as well as a framework for extending the Unreal Engine editor with custom interface elements. The project distinguishes itself through a V8-based integration that supports real-time code reloading and live iteration, allowing scripts to be updated without restarting the application. It includes a bidirectional commu
Implements a bidirectional communication layer mapping JavaScript calls to native C++ engine classes.
Isolated-vm is a library for creating secure, memory-isolated JavaScript execution environments within Node.js. It functions as a manager for the underlying engine, allowing developers to instantiate multiple independent execution contexts that share no memory or global state. This architecture is designed to support the execution of untrusted third-party code while preventing interference with the main application process. The project distinguishes itself by enforcing strict resource constraints, including memory limits and CPU execution timeouts, to ensure host system stability. It provides
Exposes native C++ functions to isolated JavaScript environments through a secure, thread-safe interface.
Dieses Projekt bietet einen Header-only C++-Wrapper für die Node-API und dient als Framework für den Aufbau leistungsstarker nativer Addons für Node.js. Es fungiert als Brücke zwischen C++ und JavaScript und bietet eine objektorientierte Schnittstelle, die die Erstellung kompilierter Erweiterungen vereinfacht und gleichzeitig die Komplexität der Sprachgrenze verwaltet. Die Bibliothek zeichnet sich durch die Bereitstellung typsicherer Abstraktionen für Data-Marshalling und Speicherverwaltung aus, wodurch sichergestellt wird, dass native und Skript-seitige Objekte korrekt verfolgt und freigegeben werden. Sie enthält Mechanismen zur Koordination asynchroner Aufgaben zwischen Hintergrund-Threads und dem Haupt-Event-Loop, um Datenkorruption zu verhindern und gleichzeitig intensive Berechnungen auszulagern. Darüber hinaus ordnet sie native Ausnahmen (Exceptions) Standard-Skript-Fehlertypen zu, was eine konsistente Diagnoseberichterstattung und Fehlerbehandlung sicherstellt. Über ihre Kern-Brückenfunktionen hinaus unterstützt das Projekt den gesamten Lebenszyklus der nativen Entwicklung, einschließlich der Bereitstellung von C++-Klassen und -Methoden für die JavaScript-Laufzeit. Es bietet Tools zur Verwaltung von Umgebungs-Lebenszyklen, zur Automatisierung von Code-Migrationen und zur Durchführung von Leistungsbenchmarks, um das Verhalten nativer Komponenten zu bewerten.
Provides abstractions for managing memory, data conversion, and task execution across the C++ and JavaScript boundary.
Dieses Projekt bietet eine performante Key-Value-Speicherlösung für mobile Anwendungen, die speicherabgebildete Dateien (Memory-Mapped Files) nutzt, um schnelle Lese- und Schreiboperationen zu ermöglichen. Es fungiert als persistente Datenschicht, die direkt in die JavaScript-Runtime integriert wird, um den Overhead zu minimieren, während es reaktive Zustands-Synchronisation unterstützt, um sicherzustellen, dass Interface-Komponenten automatisch aktualisiert werden, wenn sich gespeicherte Daten ändern. Das Speichersystem zeichnet sich durch seine Fähigkeit aus, mehrere unabhängige Datenbankinstanzen zu verwalten, was Daten nach Modulen organisiert und Kollisionen zwischen Anwendungskomponenten verhindert. Es erleichtert den zuverlässigen Datenaustausch zwischen verschiedenen Prozessen, wie etwa zwischen einer Hauptanwendung und ihren Hintergrund-Extensions oder Widgets, indem es konkurrierenden Zugriff durch dateibasiertes Locking koordiniert. Sicherheits- und Managementfunktionen umfassen verschlüsselten Speicher, der plattformnative Hardware-Keystores nutzt, um sensible Informationen im Ruhezustand zu schützen. Das System integriert zudem Lifecycle-Hooks zur Überwachung von Datenoperationen, Integrationsadapter für Standard-State-Management-Muster und Entwicklungs-Utilities für Echtzeit-Debugging. Für Testumgebungen enthält das Projekt eine In-Memory-Speicherimplementierung, um Persistenz zu simulieren, ohne physischen Gerätespeicher zu erfordern.
Executes C++ code directly within the JavaScript runtime to eliminate serialization overhead during data access.
This project is a cross-platform development framework that enables the execution of React Native applications as native desktop software. By utilizing the Qt toolkit, it maps mobile-oriented interface components to native desktop widgets, allowing developers to deploy a single codebase across Linux, macOS, and Windows. The framework functions as a bridge between JavaScript-based application logic and native system interfaces. It includes a native module bridge that exposes system-level hardware and platform capabilities to the JavaScript runtime, facilitating the integration of custom C++ or
Provides a standardized interface for invoking native C++ functions from the JavaScript environment.