17 个仓库
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 是一个 Gherkin API 测试框架和 JVM 测试编排器,专为 API 验证、工作流自动化和浏览器自动化而设计。它提供了一个统一的环境,用于在 Java 虚拟机上执行具有线程安全并发处理的可脚本化逻辑。 该项目包括一个内置的 HTTP 模拟服务器,通过向拦截的请求提供动态响应来模拟后端 API 行为。它还具有一个视觉回归测试工具,通过使用像素匹配分析将屏幕截图与基准图像进行比较,从而检测界面变化。 该系统通过将功能测试扩展为性能测试来支持 API 负载测试,以识别系统瓶颈。其他功能包括通过浏览器交互自动化进行的端到端 UI 测试,以及针对 JSON 和 XML 响应的数据结构验证。
Executes scriptable logic within a JVM environment using a bridge between Java and JavaScript.
Duktape 是一个可嵌入的 JavaScript 引擎和便携式脚本运行时,专为集成到 C 和 C++ 应用程序中而设计。它作为一个轻量级的 ECMAScript 运行时,提供了一个 C-JavaScript 桥接器,用于在原生代码和脚本执行环境之间交换数据和调用函数。 该引擎包含一个 ECMAScript 字节码编译器,允许将编译后的函数序列化并缓存到磁盘,以减少应用程序启动时间。它使用符合 CommonJS 标准的模块加载器来组织脚本依赖项。 该运行时涵盖了多种功能,包括用于异步执行的协作式协程调度,以及结合了引用计数与标记清除收集的混合垃圾回收系统。它还通过 JSON 代理提供调试协议,并支持针对受限硬件的自定义调试传输。 构建配置通过 YAML 驱动的设置进行管理,以生成特定于平台的 C 头文件。
Implements a dedicated interface for exchanging data and invoking functions between native C code and the JavaScript environment.
opencv4nodejs 是一组 JavaScript 包装器和 C++ 原生插件,为 OpenCV 库提供 Node.js 绑定。它作为一个计算机视觉库和图像处理框架,将高性能的 C++ 算法暴露给 JavaScript 环境。 该项目支持执行视觉算法,用于检测人脸、追踪物体以及使用深度神经网络分析视觉数据。它包括用于数据模式分类、文本模式识别以及识别人脸特征点和手势的能力。 该框架涵盖了广泛的能力面,包括自动化图像处理、光学字符识别(OCR)和实时视频分析。它提供了用于矩阵算术运算、像素数据访问以及管理图像文件和实时视频捕获的工具。资源管理通过异步任务执行和外部内存追踪来处理,以保持事件循环的响应性。
Provides a stable N-API bridge for efficient data exchange and function calls between native C++ and JavaScript.
react-native-webrtc 是一个移动框架包装器和点对点通信库,用于将实时音频、视频和数据通信集成到跨平台移动应用程序中。它充当捕获设备屏幕并通过 WebRTC 协议流式传输实时媒体内容的工具。 该项目提供了一个双向数据通道接口,能够在没有中央中继服务器的情况下在对等点之间交换任意数据包。它支持实时媒体流,包括点对点音频和视频传输以及屏幕捕获功能。 该库包括流优化功能,例如发送不同分辨率的视频流版本以适应接收方的网络状况。它涵盖了移动 VoIP 和实时视频通信等高级通信领域。
Provides a bridge that serializes JavaScript calls into native C++ method invocations to control WebRTC.
Rhino 是一个基于 Java 的 JavaScript 引擎,实现了用于在 Java 虚拟机(JVM)内执行的 ECMAScript 兼容层。它作为一个嵌入式脚本引擎和脚本桥接器,允许将 JavaScript 代码集成并执行在 Java 应用中。 该项目通过将 Java 类和对象映射到 JavaScript 环境中,促进了跨语言的直接通信。这种集成使脚本能够通过专用的映射机制与内部系统服务和原生宿主对象进行交互。 该引擎通过将 JavaScript 编译为 Java 字节码来优化性能,并支持双模式执行模型以平衡启动时间和运行时速度。它包括跨语言数据序列化、XML 处理以及为并发任务管理隔离执行上下文的功能。 提供了一个交互式 Shell,用于逻辑的实时编辑和调试。
Provides a specialized bridge for transferring data and control between Java and JavaScript runtimes.
ammo.js 是 Bullet 物理引擎的 JavaScript 移植版本,通过 Emscripten 编译,为浏览器提供高性能物理库。它作为一个 3D 刚体引擎和 Emscripten 编译库,能够使用 WebAssembly 和 JavaScript 进行复杂的物理计算。 该项目为软体物理提供了专门的模拟功能,用于模拟布料和橡胶等柔性材料的变形,以及用于计算轮式车辆力学的车辆动力学引擎。 模拟面还涵盖了用于非变形固体对象的刚体动力学,以及用于创建驱动物理交互的 3D 地形的高度图生成。
Provides the glue layer for data exchange and function calls between native C++ physics code and JavaScript.
node-opencv 是一个高性能 C++ 原生插件和桥接器,将 Node.js 应用连接到 OpenCV 库。它作为图像处理工具包和计算机视觉库,允许 JavaScript 代码通过原生绑定执行视觉算法和图像操作。 该项目提供了人脸和形状检测的专用功能,以及使用训练模型进行人脸身份识别的功能。它包括通过光流法和背景减除进行对象运动追踪的工具,以及识别特定模式和分析形状轮廓的能力。 该工具包涵盖了广泛的图像处理功能,包括颜色直方图分析、几何变换以及通过边缘检测进行的特征提取。它还通过图像文件加载、实时摄像头流捕获以及将几何图元直接渲染到图像缓冲区来支持媒体处理。
Implements a native C-JavaScript bridge to enable high-performance data exchange and function calls to OpenCV.
node-ffi 是一个 Node.js 的外部函数接口库,无需编写手动 C++ 绑定即可调用原生 C 动态库中的函数。它作为一个系统,用于将共享对象和 DLL 加载到进程内存中,将 JavaScript 值转换为二进制表示,并在运行时执行外部二进制文件。 该项目利用 libffi 库的包装器来构建调用帧并使用动态参数执行原生函数。它的特色在于提供了一个用于分配原始指针的原生内存管理器,以及一个将复杂 C 结构映射到 JavaScript 对象的映射系统。 该工具包涵盖了广泛的原生互操作性功能,包括自动数据类型转换和创建可执行内存存根,允许原生库触发 JavaScript 回调。为了保持主线程响应能力,它支持异步执行模型,将原生函数调用卸载到单独的线程池中。
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 是一个用于在 Node.js 中创建安全、内存隔离的 JavaScript 执行环境的库。它作为底层引擎的管理器,允许开发者实例化多个不共享内存或全局状态的独立执行上下文。该架构旨在支持执行不受信任的第三方代码,同时防止其干扰主应用进程。 该项目的特色在于强制执行严格的资源约束,包括内存限制和 CPU 执行超时,以确保宿主系统的稳定性。它提供了一个用于集成编译后的原生模块的安全接口,并通过结构化数据克隆和基于指针的引用,实现了隔离环境之间的受控通信。这些机制允许开发多租户系统和可扩展的插件架构,其中代码必须在定义的边界内运行。 除了核心隔离功能外,该库还包括用于监控沙箱脚本健康状况和效率的工具。它提供了跟踪堆统计信息以防止内存泄漏的功能,并包含用于识别特定执行上下文中性能瓶颈的 CPU 分析实用程序。该项目作为 Node.js 模块分发,为管理隔离环境的完整生命周期提供了编程接口。
Exposes native C++ functions to isolated JavaScript environments through a secure, thread-safe interface.
该项目为 Node-API 提供了一个仅包含头文件的 C++ 包装器,作为构建 Node.js 高性能原生插件的框架。它充当 C++ 与 JavaScript 之间的桥梁,提供了一个面向对象的接口,简化了编译扩展的创建,同时管理了语言边界的复杂性。 该库通过为数据编组和内存管理提供类型安全抽象而脱颖而出,确保原生和脚本端对象被正确追踪和回收。它包括用于协调后台线程与主事件循环之间异步任务的机制,在卸载密集型计算的同时防止数据损坏。此外,它将原生异常映射到标准脚本错误类型,确保一致的诊断报告和故障处理。 除了其核心桥接功能外,该项目还支持原生开发的整个生命周期,包括将 C++ 类和方法暴露给 JavaScript 运行时。它提供了用于管理环境生命周期、自动化代码迁移以及执行性能基准测试以评估原生组件行为的工具。
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.
This project provides a high-performance key-value storage solution for mobile applications, utilizing memory-mapped files to enable rapid read and write operations. It functions as a persistent data layer that integrates directly with the JavaScript runtime to minimize overhead, while supporting reactive state synchronization to ensure interface components update automatically when stored data changes. The storage system distinguishes itself through its ability to manage multiple independent database instances, which organizes data by module and prevents collisions between application compon
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.