11 repository-uri
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 este un motor JavaScript embeddable și un runtime de scripting portabil conceput pentru integrarea în aplicații C și C++. Acesta funcționează ca un runtime ECMAScript ușor care oferă o punte C-JavaScript pentru schimbul de date și invocarea funcțiilor între codul nativ și un mediu de execuție de scripturi. Motorul include un compilator de bytecode ECMAScript care permite serializarea și cache-uirea funcțiilor compilate pe disc pentru a reduce timpul de pornire al aplicației. Acesta organizează dependențele de script folosind un încărcător de module compatibil CommonJS. Runtime-ul acoperă o varietate de capabilități, inclusiv programarea cooperativă a corutinelor pentru execuție asincronă și un sistem hibrid de garbage collection care combină numărarea referințelor cu mark-and-sweep. De asemenea, oferă un protocol de debugging printr-un proxy JSON și suportă transporturi de debug personalizate pentru hardware restricționat. Configurațiile de build sunt gestionate prin setări bazate pe YAML pentru a genera headere C specifice platformei.
Implements a dedicated interface for exchanging data and invoking functions between native C code and the JavaScript environment.
opencv4nodejs este un set de wrappere JavaScript și un addon nativ C++ care oferă binding-uri Node.js pentru biblioteca OpenCV. Funcționează ca o bibliotecă de computer vision și framework de procesare a imaginilor, expunând algoritmi C++ de înaltă performanță către un mediu JavaScript. Proiectul permite executarea algoritmilor de viziune pentru detectarea fețelor, urmărirea obiectelor și analizarea datelor vizuale folosind rețele neuronale profunde. Include capabilități pentru clasificarea tiparelor de date, recunoașterea tiparelor de text și identificarea punctelor de reper faciale și a gesturilor. Framework-ul acoperă o suprafață largă de capabilități, inclusiv procesarea automată a imaginilor, recunoașterea optică a caracterelor și analiza video în timp real. Oferă instrumente pentru operațiuni aritmetice pe matrice, acces la datele pixelilor și gestionarea fișierelor imagine și a capturii video live. Gestionarea resurselor este realizată prin executarea asincronă a sarcinilor și urmărirea memoriei externe pentru a menține responsivitatea event loop-ului.
Provides a stable N-API bridge for efficient data exchange and function calls between native C++ and JavaScript.
react-native-webrtc este un wrapper de framework mobil și o bibliotecă de comunicare peer-to-peer utilizată pentru a integra comunicarea în timp real prin audio, video și date în aplicații mobile cross-platform. Acesta funcționează ca un instrument pentru capturarea ecranelor dispozitivelor și streaming-ul de conținut media live prin protocolul WebRTC. Proiectul oferă o interfață pentru canale de date bidirecționale, permițând schimbul de pachete de date arbitrare între peer-uri fără un server de releu central. Suportă streaming media în timp real, inclusiv transmisia audio și video peer-to-peer și capabilități de captură de ecran. Biblioteca include funcționalități pentru optimizarea fluxului, cum ar fi trimiterea mai multor versiuni ale unui flux video la rezoluții diferite pentru a se adapta la condițiile rețelei receptorului. Acoperă domenii de comunicare de nivel înalt, inclusiv voce peste IP mobil și comunicare video în timp real.
Provides a bridge that serializes JavaScript calls into native C++ method invocations to control WebRTC.
ammo.js este un port JavaScript al motorului de fizică Bullet, compilat prin Emscripten pentru a oferi o bibliotecă de fizică de înaltă performanță pentru browser. Funcționează ca un motor de corpuri rigide 3D și o bibliotecă compilată Emscripten care permite calcule fizice complexe folosind WebAssembly și JavaScript. Proiectul oferă capabilități de simulare specializate pentru fizica corpurilor moi, modelând deformarea materialelor flexibile precum pânza și cauciucul, și un motor de dinamică a vehiculelor pentru calcularea mecanicii vehiculelor pe roți. Suprafața de simulare acoperă, de asemenea, dinamica corpurilor rigide pentru obiecte solide nedeformabile și generarea de teren prin heightmap pentru crearea de peisaje 3D care generează interacțiuni fizice.
Provides the glue layer for data exchange and function calls between native C++ physics code and JavaScript.
node-opencv este un addon nativ C++ de înaltă performanță și un bridge care conectează aplicațiile Node.js la biblioteca OpenCV. Servește ca toolkit de procesare a imaginilor și bibliotecă de computer vision, permițând codului JavaScript să execute algoritmi de viziune și operațiuni de manipulare a imaginilor prin binding-uri native. Proiectul oferă capabilități specializate pentru detectarea feței și a formelor, precum și recunoașterea identității faciale folosind modele antrenate. Include instrumente pentru urmărirea mișcării obiectelor prin flux optic și scăderea fundalului, alături de capacitatea de a identifica tipare specifice și de a analiza contururile formelor. Toolkit-ul acoperă o gamă largă de funcții de procesare a imaginilor, inclusiv analiza histogramelor de culoare, transformări geometrice și extracția de feature-uri prin detectarea marginilor. De asemenea, suportă gestionarea media prin încărcarea fișierelor de imagine, capturarea fluxului camerei live și randarea primitivelor geometrice direct pe bufferele de imagine.
Implements a native C-JavaScript bridge to enable high-performance data exchange and function calls to OpenCV.
node-ffi is a foreign function interface library for Node.js that enables calling functions from native C dynamic libraries without writing manual C++ bindings. It serves as a system for loading shared objects and DLLs into process memory, translating JavaScript values into binary representations, and executing external binaries at runtime. The project utilizes a wrapper around the libffi library to construct call frames and execute native functions with dynamic arguments. It distinguishes itself by providing a native memory manager for allocating raw pointers and a mapping system that connec
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 este o bibliotecă pentru crearea de medii de execuție JavaScript securizate și izolate la nivel de memorie în Node.js. Funcționează ca un manager pentru motorul subiacent, permițând dezvoltatorilor să instanțieze mai multe contexte de execuție independente care nu partajează memorie sau stare globală. Această arhitectură este concepută pentru a susține execuția codului terț neîncredere, prevenind în același timp interferența cu procesul principal al aplicației. Proiectul se distinge prin impunerea unor constrângeri stricte de resurse, inclusiv limite de memorie și timeout-uri de execuție CPU, pentru a asigura stabilitatea sistemului gazdă. Oferă o interfață securizată pentru integrarea modulelor native compilate și permite comunicarea controlată între mediile izolate prin clonarea structurată a datelor și referințe bazate pe pointeri. Aceste mecanisme permit dezvoltarea sistemelor multi-tenant și a arhitecturilor de plugin-uri extensibile unde codul trebuie să opereze în limite definite. Dincolo de izolarea de bază, biblioteca include instrumente pentru monitorizarea stării și eficienței scripturilor sandbox-uite. Oferă capabilități pentru urmărirea statisticilor heap-ului pentru a preveni memory leak-urile și include utilitare de profilare CPU pentru a identifica blocajele de performanță în contexte de execuție specifice. Proiectul este distribuit ca un modul Node.js, oferind o interfață programatică pentru gestionarea întregului ciclu de viață al mediilor izolate.
Exposes native C++ functions to isolated JavaScript environments through a secure, thread-safe interface.
Acest proiect oferă un wrapper C++ „header-only” pentru Node-API, servind drept framework pentru construirea de addon-uri native de înaltă performanță pentru Node.js. Acționează ca o punte între C++ și JavaScript, oferind o interfață orientată pe obiecte care simplifică crearea de extensii compilate, gestionând în același timp complexitățile graniței dintre limbaje. Biblioteca se distinge prin oferirea de abstracțiuni „type-safe” pentru marshalling-ul datelor și gestionarea memoriei, asigurându-se că obiectele native și cele de pe partea de script sunt urmărite și recuperate corect. Include mecanisme pentru coordonarea sarcinilor asincrone între thread-urile de fundal și event loop-ul principal, prevenind coruperea datelor în timp ce se deleagă calculele intensive. Mai mult, mapează excepțiile native la tipurile standard de eroare din script, asigurând raportarea diagnostică consistentă și gestionarea eșecurilor. Dincolo de capabilitățile sale de bază de bridging, proiectul susține întregul ciclu de viață al dezvoltării native, inclusiv expunerea claselor și metodelor C++ către runtime-ul JavaScript. Oferă instrumente pentru gestionarea ciclurilor de viață ale mediului, automatizarea migrațiilor de cod și executarea de benchmark-uri de performanță pentru a evalua comportamentul componentelor native.
Provides abstractions for managing memory, data conversion, and task execution across the C++ and JavaScript boundary.
Acest proiect oferă o soluție de stocare cheie-valoare de înaltă performanță pentru aplicații mobile, utilizând fișiere mapate în memorie pentru a permite operațiuni rapide de citire și scriere. Funcționează ca un strat de date persistent care se integrează direct cu runtime-ul JavaScript pentru a minimiza overhead-ul, suportând în același timp sincronizarea reactivă a stării pentru a asigura că componentele interfeței se actualizează automat atunci când datele stocate se schimbă. Sistemul de stocare se distinge prin capacitatea sa de a gestiona mai multe instanțe independente de baze de date, ceea ce organizează datele pe module și previne coliziunile între componentele aplicației. Facilitează partajarea fiabilă a datelor între diferite procese, cum ar fi între o aplicație principală și extensiile sau widget-urile sale de fundal, prin coordonarea accesului concurent prin blocare bazată pe fișiere partajate. Capabilitățile de securitate și gestionare includ stocarea criptată care utilizează keystore-uri hardware native ale platformei pentru a proteja informațiile sensibile la repaus. Sistemul încorporează, de asemenea, hook-uri de ciclu de viață pentru monitorizarea operațiunilor cu date, adaptoare de integrare pentru tiparele standard de gestionare a stării și utilitare de dezvoltare pentru depanare în timp real. Pentru mediile de testare, proiectul include o implementare de stocare în memorie pentru a simula persistența fără a necesita stocare fizică pe dispozitiv.
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.