Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

182
Visualizações
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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda