csharp-edge-js

Integra .NET con Node.js con Edge.js

Edge.js es una innovadora (y curiosa) biblioteca que permite ejecutar código .NET desde Node.js y viceversa, facilitando la integración entre estas dos tecnologías populares.

Edge.js combina lo mejor de ambos mundos, permitiendo a los desarrolladores utilizar bibliotecas y componentes de .NET en aplicaciones Node.js y viceversa.

Esta integración, además de un engendro y una abominación de la naturales 😅 es útil en escenarios donde las aplicaciones requieren características de uno de los lenguajes, que no está fácilmente disponible en la otra.

csharp-edge-js-demo

Principales características,

  • Interoperabilidad: Ejecuta código .NET desde Node.js y código Node.js desde .NET.
  • Compatibilidad: Soporta .NET Core y .NET Framework.
  • Facilidad de Uso: API simple y fácil de usar para integrar ambas tecnologías.
  • Rendimiento: Aprovecha el rendimiento nativo de .NET y la eficiencia de Node.js.

Instalación

Instalación de Edge.js en Nodejs

Instala Edge.js usando npm:

npm install edge-js

Instalación de Edge.Js en .NET

Instala Edge.js usando nuget:

Install-Package EdgeJs

Uso de Edge.js

Ejecutar Código C# desde Node.js

Una de las características principales de Edge.js es la capacidad de ejecutar código C# desde Node.js. A continuación, se muestra un ejemplo de cómo lograr esto.

Crea un archivo app.js con el siguiente contenido:

const edge = require('edge-js');

const helloWorld = edge.func(function () {/*
   async (input) => {
	   return ".NET welcomes " + input.ToString();
   }
*/});

helloWorld('Node.js', function (error, result) {
   if (error) throw error;
   console.log(result);
});

Ejecuta el script desde la línea de comandos:

node app.js

Deberías ver la salida: .NET welcomes Node.js

Ejecutar Código Node.js desde .NET

Edge.js también permite ejecutar código Node.js desde una aplicación .NET. Aquí hay un ejemplo de cómo hacerlo:

Crea un nuevo proyecto .NET y agrega Edge.js como una dependencia:

dotnet new console -n EdgeJsExample
cd EdgeJsExample

Escribir Código .NET para Ejecutar Node.js

using System;
using System.Threading.Tasks;
using EdgeJs;

class Program
{
public static async Task Start()
{
	var func = Edge.Func(@"
		return function (data, callback) {
			callback(null, 'Node.js welcomes ' + data);
		}
	");

	Console.WriteLine(await func(".NET"));
}

static void Main(string[] args)
{
	Start().Wait();
}
}

Ejecuta el proyecto .NET desde la línea de comandos:

dotnet run