Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

180
Vistas
Ejecutar el código Javascript proporcionado por el usuario con devoluciones de llamada bidireccionales entre .NET y Javascript en MAUI

Tengo una aplicación Winforms antigua que carga el archivo Javascript de un usuario con nombres de funciones predefinidos y luego llama a esas funciones desde el código C# en eventos específicos. Además, hay algunos métodos Javascript definidos que llaman a métodos C# desde el código del usuario.

Por ejemplo, cuando mi código C# recibe un evento de un dispositivo de hardware, verifica si el script del usuario contiene un nombre de función específico para manejar este evento y luego lo llama pasando una entidad personalizada con la información del evento. La función Javascript del usuario procesa el evento y devuelve una respuesta que, a su vez, es procesada por el código C# y enviada a otro dispositivo de hardware.

También hay algunas funciones personalizadas de Javascript disponibles para el usuario para sintetizar nuevos comandos que se reciben mediante el código C# y luego se envían al dispositivo.

Estoy usando Jint para esta comunicación bidireccional. Fue bastante fácil y sencillo registrar controladores de eventos y agregar funciones personalizadas de Javascript que llaman a mis métodos de C# para hardware:

 jintEngine.SetValue("sendEventX", new Action<EventX>((x) => { outputDevice.Send(x.ConvertToOutputModel()); })); ... inputDevice.OnEventY += (InputDevice sender, in EventYMessage e) => { if (!currentScript.Contains($" handleEventY")) { return; } var y = (EventY)js.Invoke("handleEventY", e).ToObject(); if (y != null) { ... do stuff with y that was returned from the user's Javascript handleEventY function } };

Ahora estoy considerando migrar mi antigua aplicación Winforms a MAUI para darle un aspecto más moderno y también para que sea compatible con macOS.

Me pregunto, ¿hay alguna forma "lista para usar" en MAUI para hacer lo mismo que hice con Jint, o requeriría soluciones feas e ineficientes para la comunicación a través de WebView? Necesito una latencia baja para procesar esos eventos de hardware y, hasta ahora, Jint ha sido lo suficientemente bueno.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda