awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目MCP 服务器关于排名机制媒体报道
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
tjanczuk avatar

tjanczuk/edge

0
View on GitHub↗
5,439 星标·633 分支·C++·12 次浏览tjanczuk.github.io/edge↗

Edge

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 object types. It allows for the compilation and execution of source files or inline scripts from multiple languages within a running application by leveraging a common compiler model.

The project covers a broad range of capabilities including asynchronous task offloading to background threads, the integration of external logic as web framework middleware, and asynchronous SQL execution. It also provides observability tools for cross-runtime exception mapping and supports both managed and native process debugging.

Features

  • In-Process Runtimes - Runs .NET and Node.js environments within a single operating system process to eliminate cross-process communication overhead.
  • Asynchronous Callbacks - Provides non-blocking data exchange using asynchronous callbacks for bidirectional communication between .NET and JavaScript runtimes.
  • Native Data Marshallers - Implements automatic marshalling of binary buffers and serializable values between different managed object types across runtimes.
  • In-Process Scripting Hosts - Embeds a compiler and execution environment to run dynamic scripts or source files inside a running application.
  • Scripting Hosts - Provides a host for compiling and running source files or inline scripts from multiple languages within a running application.
  • Bidirectional Function Proxies - Enables passing functions or delegates between runtimes to allow asynchronous callbacks across execution environments.
  • Cross-Language Data Exchange - Facilitates the bidirectional movement of objects and functions between a host language and a guest script runtime.
  • JavaScript Interop - Integrates JavaScript functions and .NET code within a single process to share data and logic without network latency.
  • JavaScript Function Invocations - Allows the asynchronous invocation of specific JavaScript functions from within a .NET environment.
  • JavaScript-.NET Runtime Interop - Provides a system for executing .NET and JavaScript code within a single process to eliminate cross-process communication overhead.
  • Language Runtime Bridges - Bridges different managed object types to marshal binary buffers and serializable values across operating systems.
  • Multi-Language Script Execution - Executes multiple scripting languages within a single application using a common compiler model.
  • Polyglot Execution Environments - Runs multiple programming languages in one application process to leverage specific library strengths across different runtime environments.
  • Cross-Runtime Execution Engines - Enables bidirectional asynchronous callbacks and data exchange between the CLR and JavaScript runtimes.
  • In-Memory Compilers - Compiles source files or inline scripts directly within the process memory for immediate execution.
  • Script Proxies - Compiles scripts from target languages into delegates and exposes them as proxies for seamless execution.
  • Standardized Assembly Interfaces - Uses a standardized assembly model to integrate multiple scripting languages into a single execution environment.
  • Blocking Task Offloaders - Moves heavy computational work from a main event loop to separate threads to maintain application responsiveness.
  • Thread Pool Offloading - Offloads CPU-intensive tasks to background threads to prevent blocking the main runtime event loop.
  • Runtime Code Compilation - Compiles source scripts into delegates at runtime to execute managed code within the current process.
  • Cross-Runtime Exception Translation - Translates native exceptions into standard error objects to maintain consistent error handling across execution environments.
  • Integration Middleware - Integrates external web applications into a web framework by acting as middleware or request handlers.
  • Cross-Platform Runtimes - Enables the execution of compiled assemblies and language-specific code across multiple operating systems.
  • JavaScript Engines - Run .NET and Node.js code in-process across multiple platforms.

Star 历史

tjanczuk/edge 的 Star 历史图表tjanczuk/edge 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Edge 的开源替代方案

相似的开源项目,按与 Edge 的功能重合度排序。
  • dop251/gojadop251 的头像

    dop251/goja

    6,914在 GitHub 上查看↗

    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

    Go
    在 GitHub 上查看↗6,914
  • pedant/safe-java-js-webview-bridgepedant 的头像

    pedant/safe-java-js-webview-bridge

    2,415在 GitHub 上查看↗

    This library provides a secure communication bridge for Android applications, enabling interaction between native Java code and web-based JavaScript interfaces within a WebView. It facilitates the invocation of native system methods from web scripts and manages the exchange of data across the language boundary. The framework utilizes a prompt-based interception layer to validate method signatures before execution, ensuring that only authorized native code is triggered. It supports complex data exchange through structured serialization and provides a mechanism for mapping native methods to web

    JavaScript
    在 GitHub 上查看↗2,415
  • nodejs/node-addon-apinodejs 的头像

    nodejs/node-addon-api

    2,400在 GitHub 上查看↗

    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

    C++nodenodejs
    在 GitHub 上查看↗2,400
  • polynote/polynotepolynote 的头像

    polynote/polynote

    4,595在 GitHub 上查看↗

    Polynote is a polyglot notebook environment and interactive document system designed for executing code in multiple languages within a single document. It functions as a cross-language data analysis tool and a JVM language IDE, allowing users to combine executable code, rich text, and data visualizations to prototype and document technical workflows. The system is distinguished by its ability to share data and variables between different language runtimes, such as Python and the JVM. It uses cross-language object conversion and data wrapping to pass objects between runtimes, enabling multi-la

    Jupyter Notebook
    在 GitHub 上查看↗4,595
查看 Edge 的所有 30 个替代方案→

常见问题解答

tjanczuk/edge 是做什么的?

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.

tjanczuk/edge 的主要功能有哪些?

tjanczuk/edge 的主要功能包括:In-Process Runtimes, Asynchronous Callbacks, Native Data Marshallers, In-Process Scripting Hosts, Scripting Hosts, Bidirectional Function Proxies, Cross-Language Data Exchange, JavaScript Interop。

tjanczuk/edge 有哪些开源替代品?

tjanczuk/edge 的开源替代品包括: dop251/goja — Goja is a JavaScript engine and ECMAScript compliant interpreter implemented entirely in Go. It serves as an embedded… pedant/safe-java-js-webview-bridge — This library provides a secure communication bridge for Android applications, enabling interaction between native Java… nodejs/node-addon-api — This project provides a header-only C++ wrapper for the Node-API, serving as a framework for building high-performance… polynote/polynote — Polynote is a polyglot notebook environment and interactive document system designed for executing code in multiple… roslynpad/roslynpad — RoslynPad is a browser-based C# integrated development environment and interactive playground. It serves as a tool for… posit-dev/positron — Positron is a data science integrated development environment and AI-powered code editor designed for polyglot…