Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

173
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!