17 dépôts
Mechanisms enabling the transfer of data and control between Java and JavaScript runtimes.
Distinct from Java Virtual Machine Bridges: Specifically bridges JavaScript to the JVM, whereas the parent covers non-Java languages generally.
Explore 17 awesome GitHub repositories matching programming languages & runtimes · JavaScript Bridges. Refine with filters or upvote what's useful.
Karate est un framework de test d'API Gherkin et un orchestrateur de tests JVM conçu pour la validation d'API, l'automatisation de workflows et l'automatisation de navigateurs. Il fournit un environnement unifié pour exécuter une logique scriptable sur la Java Virtual Machine avec un traitement concurrent thread-safe. Le projet inclut un serveur mock HTTP intégré pour simuler le comportement d'une API backend en fournissant des réponses dynamiques aux requêtes interceptées. Il propose également un outil de test de régression visuelle qui détecte les changements d'interface en comparant des captures d'écran avec des images de référence via une analyse de correspondance de pixels. Le système prend en charge les tests de charge d'API en faisant évoluer les tests fonctionnels en tests de performance pour identifier les goulots d'étranglement. Les capacités supplémentaires incluent les tests UI end-to-end via l'automatisation des interactions avec le navigateur et la validation de structures de données pour les réponses JSON et XML.
Executes scriptable logic within a JVM environment using a bridge between Java and JavaScript.
Duktape est un moteur JavaScript embarquable et un runtime de script portable conçu pour l'intégration dans des applications C et C++. Il fonctionne comme un runtime ECMAScript léger qui fournit un pont C-JavaScript pour échanger des données et invoquer des fonctions entre le code natif et un environnement d'exécution de script. Le moteur inclut un compilateur de bytecode ECMAScript qui permet la sérialisation et la mise en cache des fonctions compilées sur disque pour réduire le temps de démarrage de l'application. Il organise les dépendances de script en utilisant un chargeur de module conforme à CommonJS. Le runtime couvre une variété de capacités incluant la planification de coroutines coopératives pour l'exécution asynchrone et un système de garbage collection hybride qui combine le comptage de références avec la collection mark-and-sweep. Il fournit également un protocole de débogage via un proxy JSON et prend en charge des transports de débogage personnalisés pour le matériel restreint. Les configurations de build sont gérées via des paramètres pilotés par YAML pour générer des en-têtes C spécifiques à la plateforme.
Implements a dedicated interface for exchanging data and invoking functions between native C code and the JavaScript environment.
opencv4nodejs est un ensemble de wrappers JavaScript et un addon natif C++ qui fournit des bindings Node.js pour la bibliothèque OpenCV. Il fonctionne comme une bibliothèque de vision par ordinateur et un framework de traitement d'image, exposant des algorithmes C++ haute performance à un environnement JavaScript. Le projet permet l'exécution d'algorithmes de vision pour détecter des visages, suivre des objets et analyser des données visuelles en utilisant des réseaux de neurones profonds. Il inclut des capacités pour la classification de motifs de données, la reconnaissance de motifs de texte et l'identification de points de repère faciaux et de gestes. Le framework couvre une large surface de capacités incluant le traitement d'image automatisé, la reconnaissance optique de caractères (OCR) et l'analyse vidéo en temps réel. Il fournit des outils pour les opérations arithmétiques matricielles, l'accès aux données de pixels et la gestion des fichiers image et de la capture vidéo en direct. La gestion des ressources est traitée via l'exécution de tâches asynchrones et le suivi de la mémoire externe pour maintenir la réactivité de la boucle d'événements.
Provides a stable N-API bridge for efficient data exchange and function calls between native C++ and JavaScript.
react-native-webrtc est un wrapper de framework mobile et une bibliothèque de communication peer-to-peer utilisée pour intégrer la communication audio, vidéo et de données en temps réel dans des applications mobiles multiplateformes. Il fonctionne comme un outil pour capturer les écrans des appareils et diffuser du contenu multimédia en direct via le protocole WebRTC. Le projet fournit une interface pour les canaux de données bidirectionnels, permettant l'échange de paquets de données arbitraires entre pairs sans serveur de relais central. Il prend en charge le streaming multimédia en temps réel, incluant la transmission audio et vidéo peer-to-peer et des capacités de capture d'écran. La bibliothèque inclut des fonctionnalités pour l'optimisation des flux, telles que l'envoi de plusieurs versions d'un flux vidéo à différentes résolutions pour s'adapter aux conditions réseau du récepteur. Elle couvre des domaines de communication de haut niveau, incluant la voix sur IP mobile et la communication vidéo en temps réel.
Provides a bridge that serializes JavaScript calls into native C++ method invocations to control WebRTC.
Rhino est un moteur JavaScript basé sur Java qui implémente une couche de compatibilité ECMAScript pour une exécution au sein d'une machine virtuelle Java. Il sert de moteur de script embarqué et de pont de script, permettant au code JavaScript d'être intégré et exécuté au sein d'applications Java. Le projet facilite la communication directe entre langages en mappant les classes et objets Java dans un environnement JavaScript. Cette intégration permet aux scripts d'interagir avec les services système internes et les objets hôtes natifs via un mécanisme de mapping dédié. Le moteur optimise les performances en compilant JavaScript en bytecode Java et prend en charge un modèle d'exécution en mode dual pour équilibrer le temps de démarrage et la vitesse d'exécution. Il inclut des capacités de sérialisation de données multi-langages, de traitement XML et de gestion de contextes d'exécution isolés pour les tâches concurrentes. Un shell interactif est fourni pour l'édition et le débogage de la logique en temps réel.
Provides a specialized bridge for transferring data and control between Java and JavaScript runtimes.
ammo.js est un portage JavaScript du moteur physique Bullet, compilé via Emscripten pour fournir une bibliothèque physique haute performance pour le navigateur. Il fonctionne comme un moteur de corps rigides 3D et une bibliothèque compilée Emscripten qui permet des calculs physiques complexes en utilisant WebAssembly et JavaScript. Le projet fournit des capacités de simulation spécialisées pour la physique des corps souples, modélisant la déformation de matériaux flexibles comme le tissu et le caoutchouc, ainsi qu'un moteur de dynamique des véhicules pour calculer la mécanique des véhicules à roues. La surface de simulation couvre également la dynamique des corps rigides pour les objets solides indéformables et la génération de terrain par heightmap pour créer des paysages 3D qui pilotent les interactions physiques.
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 est une bibliothèque d'interface de fonction étrangère (FFI) pour Node.js qui permet d'appeler des fonctions depuis des bibliothèques dynamiques C natives sans écrire de bindings C++ manuels. Il sert de système pour charger des objets partagés et des DLL en mémoire de processus, traduire des valeurs JavaScript en représentations binaires et exécuter des binaires externes au runtime. Le projet utilise un wrapper autour de la bibliothèque libffi pour construire des frames d'appel et exécuter des fonctions natives avec des arguments dynamiques. Il se distingue en fournissant un gestionnaire de mémoire native pour allouer des pointeurs bruts et un système de mapping qui connecte des structures C complexes à des objets JavaScript. La boîte à outils couvre un large éventail de capacités d'interopérabilité native, incluant la traduction automatique des types de données et la création de stubs de mémoire exécutables permettant aux bibliothèques natives de déclencher des callbacks JavaScript. Pour maintenir la réactivité du thread principal, il prend en charge un modèle d'exécution asynchrone qui décharge les appels de fonctions natives vers un pool de threads séparé.
Provides an interface designed for data exchange and function calls between native C/C++ code and JavaScript.
DSBridge-Android is a communication framework and JavaScript bridge for Android that enables bidirectional function calls and data exchange between native Android code and web views. It serves as an integration tool for hybrid applications, providing a system to orchestrate synchronous and asynchronous messaging between the native mobile environment and web-based interfaces. The project distinguishes itself through a namespace-based method dispatching system that uses dot-notation to organize functions into hierarchical groups, preventing naming conflicts. It also includes a cross-layer debug
Provides a communication layer for bidirectional function calls and data exchange between native Android code and JavaScript web views.
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.
This is a native library for embedding and controlling YouTube video playback within Android applications. It functions as a playback controller that synchronizes video states with the hosting activity or fragment lifecycle. The library includes a framework for replacing default playback controls with custom layouts and interfaces. It also provides a sender extension for streaming YouTube video content from an Android device to Chromecast receivers. The project covers programmatic playback control, background audio playback, and player state monitoring. It also handles network connectivity a
Uses a bidirectional JavaScript bridge to pass commands and events between native Java code and the web player.
Isolated-vm est une bibliothèque pour créer des environnements d'exécution JavaScript sécurisés et isolés en mémoire au sein de Node.js. Elle fonctionne comme un gestionnaire pour le moteur sous-jacent, permettant aux développeurs d'instancier plusieurs contextes d'exécution indépendants qui ne partagent ni mémoire ni état global. Cette architecture est conçue pour prendre en charge l'exécution de code tiers non fiable tout en empêchant toute interférence avec le processus principal de l'application. Le projet se distingue en imposant des contraintes de ressources strictes, y compris des limites de mémoire et des timeouts d'exécution CPU, pour assurer la stabilité du système hôte. Il fournit une interface sécurisée pour intégrer des modules natifs compilés et permet une communication contrôlée entre les environnements isolés via le clonage de données structurées et des références basées sur des pointeurs. Ces mécanismes permettent le développement de systèmes multi-locataires et d'architectures de plugins extensibles où le code doit fonctionner dans des limites définies. Au-delà de l'isolation de base, la bibliothèque inclut des outils pour surveiller la santé et l'efficacité des scripts en sandbox. Elle fournit des capacités pour suivre les statistiques du tas afin d'éviter les fuites de mémoire et inclut des utilitaires de profilage CPU pour identifier les goulots d'étranglement de performance au sein de contextes d'exécution spécifiques. Le projet est distribué en tant que module Node.js, fournissant une interface programmatique pour gérer l'ensemble du cycle de vie des environnements isolés.
Exposes native C++ functions to isolated JavaScript environments through a secure, thread-safe interface.
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
Provides abstractions for managing memory, data conversion, and task execution across the C++ and JavaScript boundary.
React Native Update is a deployment platform designed to deliver JavaScript code changes directly to mobile applications. By enabling over-the-air updates, the system allows developers to push patches to installed binaries, effectively bypassing standard app store review cycles. The project distinguishes itself through a specialized binary patching engine that generates small code diffs to minimize bandwidth consumption during delivery. To maintain service reliability, it incorporates an automated rollback framework that monitors application stability after an update and reverts to a previous
Hooks into the application startup sequence to apply pending code updates before the JavaScript engine initializes.
Ce projet fournit une solution de stockage clé-valeur haute performance pour les applications mobiles, utilisant des fichiers mappés en mémoire pour permettre des opérations de lecture et d'écriture rapides. Il fonctionne comme une couche de données persistante qui s'intègre directement avec le runtime JavaScript pour minimiser la surcharge, tout en prenant en charge la synchronisation d'état réactive pour garantir que les composants d'interface se mettent à jour automatiquement lorsque les données stockées changent. Le système de stockage se distingue par sa capacité à gérer plusieurs instances de base de données indépendantes, ce qui organise les données par module et empêche les collisions entre les composants de l'application. Il facilite le partage de données fiable entre différents processus, comme entre une application principale et ses extensions ou widgets en arrière-plan, en coordonnant l'accès concurrent via un verrouillage basé sur les fichiers partagés. Les capacités de sécurité et de gestion incluent un stockage chiffré qui tire parti des keystores matériels natifs de la plateforme pour protéger les informations sensibles au repos. Le système intègre également des hooks de cycle de vie pour surveiller les opérations de données, des adaptateurs d'intégration pour les modèles de gestion d'état standard et des utilitaires de développement pour le débogage en temps réel. Pour les environnements de test, le projet inclut une implémentation de stockage en mémoire pour simuler la persistance sans nécessiter de stockage physique sur l'appareil.
Executes C++ code directly within the JavaScript runtime to eliminate serialization overhead during data access.
ZY-Player-APP is a cross-platform mobile video playback application designed to aggregate and stream media from multiple external internet sources. It functions as a media client that enables users to search, discover, and play video content through a unified interface. The application distinguishes itself by allowing users to configure custom providers, enabling the integration of diverse third-party video streaming APIs. It supports personalized library management, allowing users to organize favorite content and automatically track playback progress to resume videos from previously saved ti
Facilitates data exchange between application logic and native device capabilities by serializing messages across a secure execution boundary.
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.