awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
tjanczuk avatar

tjanczuk/edge

0
View on GitHub↗
5,439 stars·633 forks·C++·10 vuestjanczuk.github.io/edge↗

Edge

Ce projet est un pont d'exécution polyglotte et un framework d'interopérabilité conçu pour exécuter du code .NET et Node.js au sein d'un processus système unique. Il fonctionne comme un moteur d'exécution multi-runtime et un hôte de script in-process, permettant une communication bidirectionnelle et un échange de données entre le Common Language Runtime et les environnements JavaScript pour éliminer la surcharge de communication inter-processus.

Le framework se distingue en fournissant un système pour les callbacks asynchrones bidirectionnels et le marshalling automatique de données de buffers binaires et de valeurs sérialisables entre différents types d'objets gérés. Il permet la compilation et l'exécution de fichiers sources ou de scripts en ligne à partir de plusieurs langages au sein d'une application en cours d'exécution en tirant parti d'un modèle de compilateur commun.

Le projet couvre un large éventail de capacités incluant le déchargement de tâches asynchrones vers des threads d'arrière-plan, l'intégration de logique externe en tant que middleware de framework web, et l'exécution SQL asynchrone. Il fournit également des outils d'observabilité pour le mapping d'exceptions multi-runtime et supporte le débogage de processus gérés et natifs.

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.

Historique des stars

Graphique de l'historique des stars pour tjanczuk/edgeGraphique de l'historique des stars pour tjanczuk/edge

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Edge

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Edge.
  • dop251/gojaAvatar de dop251

    dop251/goja

    6,914Voir sur 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
    Voir sur GitHub↗6,914
  • pedant/safe-java-js-webview-bridgeAvatar de pedant

    pedant/safe-java-js-webview-bridge

    2,415Voir sur 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
    Voir sur GitHub↗2,415
  • nodejs/node-addon-apiAvatar de nodejs

    nodejs/node-addon-api

    2,400Voir sur 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
    Voir sur GitHub↗2,400
  • polynote/polynoteAvatar de polynote

    polynote/polynote

    4,595Voir sur 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
    Voir sur GitHub↗4,595
Voir les 30 alternatives à Edge→

Questions fréquentes

Que fait tjanczuk/edge ?

Ce projet est un pont d'exécution polyglotte et un framework d'interopérabilité conçu pour exécuter du code .NET et Node.js au sein d'un processus système unique. Il fonctionne comme un moteur d'exécution multi-runtime et un hôte de script in-process, permettant une communication bidirectionnelle et un échange de données entre le Common Language Runtime et les environnements JavaScript pour éliminer la surcharge de communication inter-processus.

Quelles sont les fonctionnalités principales de tjanczuk/edge ?

Les fonctionnalités principales de tjanczuk/edge sont : In-Process Runtimes, Asynchronous Callbacks, Native Data Marshallers, In-Process Scripting Hosts, Scripting Hosts, Bidirectional Function Proxies, Cross-Language Data Exchange, JavaScript Interop.

Quelles sont les alternatives open-source à tjanczuk/edge ?

Les alternatives open-source à tjanczuk/edge incluent : 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…