20 个仓库
Mechanisms for exchanging data and calling functions between a host language and JavaScript.
Distinguishing note: Candidates focus on transpilation or specific binary interop, not general runtime data/function exchange.
Explore 20 awesome GitHub repositories matching programming languages & runtimes · JavaScript Interop. Refine with filters or upvote what's useful.
WebViewJavascriptBridge is a communication layer for sending bidirectional messages between native Objective-C code and JavaScript within iOS and macOS web views. It serves as an interoperability toolkit for synchronizing data and executing callbacks between native Apple platform applications and their embedded web content. The project provides a messaging interface that exposes native functions to the web environment and triggers JavaScript handlers from native application code. It enables the registration of named handlers in native code that can be invoked by JavaScript to request device a
Enables synchronization of state and execution of functions between Objective-C native logic and JavaScript.
This project is a collection of programming language references and syntax cheat sheets designed for rapid developer onboarding. It serves as a library of code-based documentation that uses valid source code files to provide whirlwind tours of various language specifications. The project focuses on programming language learning by providing concise, commented code examples that explain core features and syntax in place. This approach enables developers to quickly grasp language-specific patterns, data types, and execution flow through a consistent reference format. The content covers a broad
Illustrates how to integrate and invoke external JavaScript functions within a compiled module.
Blazor is a .NET framework for building interactive web user interfaces using C# instead of JavaScript. It provides a component-based UI composition model where reusable, self-contained UI elements are built with C# logic and Razor markup, supporting nesting, parameters, and lifecycle events. The framework offers two primary rendering models: a client-side runtime that compiles C# to WebAssembly and executes directly in the browser, and a server-side model that renders UI on the server and sends incremental DOM updates over a persistent SignalR connection. A central capability of Blazor is it
Provides efficient byte array transfer between .NET and JavaScript without Base64 encoding overhead.
wasm-bindgen 是一个绑定生成器和互操作层,旨在映射 WebAssembly 和 JavaScript 边界之间的数据类型和函数。它充当外部函数接口,合成必要的样板代码以实现 Rust 和浏览器运行时之间的双向通信。 该项目生成胶水代码和包装器,自动化复杂类型的转换,允许将 Rust 函数导出为 JavaScript 模块,并将浏览器 API 导入到 Rust 中。它使用过程宏来定义这些接口,并根据 Rust 类型定义合成绑定。 该系统通过线性内存指针传递来管理内存,并使用 JavaScript 管理的内存句柄处理资源交换。它依赖于与 C ABI 兼容的调用约定,在模块和宿主之间传递原始整数和浮点数。
Provides the ability to invoke specific JavaScript functions and browser APIs from within Rust code.
This is a JavaScript library for parsing and serializing JSON data, with a particular focus on handling objects that contain circular references. It provides a standard JSON parser that reads text and reconstructs JavaScript values without using the eval function, guarding against code injection, alongside a standard serializer that converts objects into JSON strings for data interchange. The library distinguishes itself by offering specialized encoding and decoding for cyclical object graphs. It can serialize objects with circular references by replacing repeated object paths with JSONPath s
Handles encoding and recovery of JavaScript objects with circular references using JSONPath links.
This project is a JavaScript algorithm library and computer science reference. It provides a collection of standard computational logic patterns and data structure implementations, including linked lists, trees, and graphs, for both educational and practical use. The codebase serves as a technical interview study guide, offering a practical resource for practicing common coding challenges and data structure manipulations. It is designed for computer science education, allowing users to study how classic algorithms work by reviewing and running implementations of established logic patterns. T
Simulates memory addresses using JavaScript object references to connect nodes in graphs and linked lists.
Enso is a visual dataflow programming environment and multi-language data processing engine that compiles Enso, Python, Java, and JavaScript into a unified representation with a shared memory model for zero-overhead inter-language calls. It functions as a self-service data preparation and analysis platform where users can build data pipelines by connecting nodes in a graph, switching between a no-code visual interface and a code view while keeping all changes reviewable. The platform also serves as a cloud data workflow scheduler and API exposer, allowing workflows to run on a timetable or be
Enables zero-overhead method calls and value passing between Enso, Python, Java, and JavaScript.
Goja is a JavaScript engine and ECMAScript compliant interpreter implemented entirely in Go. It serves as an embedded scripting engine that allows Go applications to execute JavaScript code and integrate a programmable scripting layer without relying on Cgo or external native dependencies. The project functions as a bridge between Go and JavaScript, enabling bidirectional data exchange and function invocation. It allows Go hosts to expose native structs, slices, and maps as JavaScript objects and arrays, while providing mechanisms to export script values and functions back into native Go type
Facilitates the exchange of data and function calls between Go and JavaScript using shared objects and maps.
Eel is a framework for creating desktop applications using a Python backend and a web-based frontend. It acts as a bidirectional bridge between Python and JavaScript, allowing developers to build graphical user interfaces with HTML and JavaScript that communicate with local system logic. The project facilitates two-way communication by enabling the exposure of Python functions to the browser and allowing the backend to trigger JavaScript functions. It uses a local server to render web interfaces as standalone desktop windows and provides tools to bundle the Python code and web assets into a s
Allows the Python backend to trigger JavaScript functions to update the user interface.
Osmedeus is a security workflow orchestration engine that coordinates AI agents, shell commands, and scanning tools through declarative YAML pipelines. It functions as a distributed security scanner, a declarative workflow automator, and an AI agent framework for security, enabling automated multi-step security analysis with conditional branching, parallel execution, and distributed workers. The engine distinguishes itself through a hybrid runner model that executes workflow steps on the local host, inside Docker containers, or over SSH to remote machines, selected per step or module. It supp
Executes utility functions written in JavaScript using a pooled Goja runtime for parallel execution.
:city_sunrise: Client-side image placeholders.
Triggers placeholder generation on image elements via a programmatic JavaScript API call.
This project is a polyglot runtime bridge and interop framework designed to execute .NET and Node.js code within a single operating system process. It functions as a cross-runtime execution engine and in-process scripting host, enabling bidirectional communication and data exchange between the Common Language Runtime and JavaScript environments to eliminate cross-process communication overhead. The framework distinguishes itself by providing a system for bidirectional asynchronous callbacks and automatic data marshalling of binary buffers and serializable values between different managed obje
Allows the asynchronous invocation of specific JavaScript functions from within a .NET environment.
Vugu 是一个 Go WebAssembly UI 库和框架,用于构建类型安全、基于组件的单页应用程序。它作为一个单文件组件框架,将标记、样式和逻辑捆绑到模块化单元中,利用虚拟 DOM 引擎将状态变化与浏览器输出同步。 该项目具有一个 Go 组件生成器,可在编译时将自定义 UI 模板转换为可执行的 Go 源代码。它通过基于 WebAssembly 的运行时(在浏览器中以编译后的二进制文件形式执行应用程序逻辑)以及用于生成静态 HTML 以改善初始加载时间的服务器端渲染工具而脱颖而出。 该框架涵盖了广泛的能力,包括基于文件的路由、组件生命周期管理和状态驱动的 UI 同步。它为组件组合、事件处理和动态数据绑定提供了原语,并由开发服务器和用于二进制大小优化的构建自动化提供支持。
Implements a common layer for exchanging data and calling functions between Go and JavaScript.
Kraken 是一个跨平台 UI 框架和 Web 标准运行时,旨在通过标准 Web 标记和样式构建原生应用。它利用基于 Flutter 的渲染引擎来处理 HTML 和 CSS,在移动和桌面平台上产生视觉上一致的用户界面。 该系统通过将运行时编译为机器代码并采用同步光栅化流水线来确保动画和滚动与原生应用的流畅度相匹配,从而脱颖而出。它进一步将高性能原生组件直接集成到 Web 标准文档对象模型树中,允许定义由原生小部件支持的自定义 HTML 标签。 该框架涵盖了广泛的功能面,包括 JavaScript 组件树执行、全局和本地状态同步以及标准化的手势处理。它还提供了一个基于插件的系统,用于通过自定义后端函数扩展 API,并支持与各种前端框架的集成。 开发者工作流通过与 Chrome DevTools 协议的集成得到支持,从而实现应用状态检查和 UI 样式修改。
Allows triggering custom JavaScript functions from a backend language to extend the runtime's capabilities.
This project is a Blazor component library and web UI framework used for building web applications with ASP.NET Core Blazor. It serves as an implementation of the Fluent Design System, providing a collection of reusable, pre-styled user interface elements to ensure visual consistency and accessibility. The library includes an asynchronous data grid capable of resolving remote queries through asynchronous data fetching and entity mapping. It utilizes a design token system to manage visual styles and personalization settings across an application. The framework covers broader capabilities for
Interfaces with underlying web components using JavaScript interop to bridge Blazor logic with native browser behaviors.
Scala.js 是一个编译器和跨平台语言工具链,将 Scala 源代码转换为 JavaScript 或 WebAssembly。它作为 JavaScript 生态系统的一种静态类型工具,支持为 Web 浏览器和 Node.js 环境开发应用程序。 该项目作为一个 JavaScript 互操作框架,允许创建类型安全的门面(facades)和绑定,以与外部库和全局对象进行交互。它提供了静态和动态 JavaScript 调用机制,包括生成 TypeScript 绑定以及导出内部逻辑以供外部 JavaScript 代码使用的能力。 该工具链包含一个用于生产环境打包和输出优化的前端构建工具,包括死代码消除和模块拆分。它涵盖了广泛的功能面,包括用于 UI 开发的 DOM 元素类型检查、用于全栈开发的跨平台代码共享,以及用于验证优化构建产物的各种测试框架。 编译后的脚本可以使用 JavaScript 解释器直接在命令行环境中执行。
Allows the creation of type-safe representations of external APIs to map structural interfaces to a strict type system.
该项目是 Go 语言的综合性能编程指南和参考,专注于运行时效率和内存优化。它提供了一系列模式和技术,旨在通过减少垃圾回收开销和优化内存使用来提高执行速度。 该资源通过详细的内存优化参考实现脱颖而出,例如逃逸分析、对象池和结构体内存对齐。它提供了减少二进制大小和通过结构体内存布局优化及使用零分配占位符来提高 CPU 缓存效率的具体策略。 该项目涵盖了广泛的后端工程功能,包括使用工作池和同步原语的并发管理、高性能 RPC 和 HTTP 路由以及分布式缓存策略。它还包括通过 CPU 和内存分析进行可观测性的指南,以及用于功能单元测试和模拟对象生成的质量保证模式。 内容结构化为一系列教程、架构示例和基准测试指南,以帮助开发者分析和修复性能瓶颈。
Provides mechanisms to trigger specific JavaScript functions from a Go backend to execute native client-side actions.
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
Enables native Android code to trigger specific JavaScript functions and receive return values through a defined handler.
该库为 Android 应用提供了一个安全通信桥梁,实现了原生 Java 代码与 WebView 中基于 Web 的 JavaScript 接口之间的交互。它促进了从 Web 脚本调用原生系统方法,并管理跨语言边界的数据交换。 该框架利用基于提示的拦截层在执行前验证方法签名,确保仅触发授权的原生代码。它通过结构化序列化支持复杂数据交换,并提供了一种将原生方法映射到 Web 接口的机制,允许通过运行时检查进行动态执行。 该系统通过维护 Web 端函数引用的注册表来处理异步操作。这允许原生后台任务在完成后触发特定的 JavaScript 回调,从而支持混合移动应用中的集成工作流。
Bridges native Android code and web content for complex data exchange and cross-environment logic.
该项目为 Node-API 提供了一个仅包含头文件的 C++ 包装器,作为构建 Node.js 高性能原生插件的框架。它充当 C++ 与 JavaScript 之间的桥梁,提供了一个面向对象的接口,简化了编译扩展的创建,同时管理了语言边界的复杂性。 该库通过为数据编组和内存管理提供类型安全抽象而脱颖而出,确保原生和脚本端对象被正确追踪和回收。它包括用于协调后台线程与主事件循环之间异步任务的机制,在卸载密集型计算的同时防止数据损坏。此外,它将原生异常映射到标准脚本错误类型,确保一致的诊断报告和故障处理。 除了其核心桥接功能外,该项目还支持原生开发的整个生命周期,包括将 C++ 类和方法暴露给 JavaScript 运行时。它提供了用于管理环境生命周期、自动化代码迁移以及执行性能基准测试以评估原生组件行为的工具。
Translates native exceptions into JavaScript errors and provides mechanisms to manage error states across the language boundary.