Comparación entre motores del cliente y motores web
Last updated
Last updated
Los módulos de extensión de FormIt utilizan dos motores de JavaScript distintos, como se indica a continuación:
El panel que muestra el código HTML (motor web).
El motor del cliente (FormIt) realiza las llamadas a FormIt y su núcleo de geometría.
Estos dos motores de JavaScript funcionan en procesos distintos.
FormIt ejecuta varios motores de JavaScript simultáneamente, como se indica a continuación:
La aplicación FormIt cuenta con su propio motor de JavaScript.
Cada barra de herramientas de módulo de extensión cuenta con su propio motor de JavaScript.
Cada panel de módulo de extensión cuenta con su propio motor de JavaScript (Chromium).
Los módulos de extensión pueden especificar dónde se carga JavaScript, como se muestra a continuación:
Especificado mediante manifest.json
Especificado mediante index.html
Las secuencias de comandos del lado web se cargan desde la página web.
Las secuencias de comandos del lado web pueden llamar al motor de JavaScript del cliente (FormIt) mediante varias llamadas asincrónicas.
CallMethod
utiliza un nombre de función y los argumentos que se ejecutarán en el lado de FormIt. Se llamará a la función transferida con el resultado de la llamada a la función.
Ventajas:
➕ No seawait
necesita.
Desventajas:
➖ Se necesita una llamada para obtener el resultado, que se denomina "quién sabe cuándo".
➖ Las secuencias de comandos se definen en dos ubicaciones diferentes.
➖ Requiere que la lógica del módulo de extensión se divida en dos archivos.
*Disponible solo en FormIt 2022.1 y versiones posteriores
CallJS utiliza la función de JavaScript a la que se va a llamar en el lado de FormIt y el objeto arguments.json.
Ventajas:
➕ El resultado está disponible cuando es necesario.
Desventajas:
➖ **** Es necesario incluir "await" en todas las llamadas asincrónicas; si se olvida de realizar esta tarea, pueden producirse problemas.
➖ **** Posiblemente más lento debido a await
.
Con una llamada asincrónica, el lado web llama al lado de FormIt. Esta llamada se inicia en un proceso, se envía a otro proceso y, a continuación, el resultado se devuelve al proceso inicial. Por eso, es necesario el parámetro "await".
Solo se puede llamar por defecto a las API de FormIt integradas.
Ventajas:
➕ El resultado está disponible cuando es necesario.
➕ Permite combinar todo el código en un archivo JS ejecutado desde el lado web sin secuencias de comandos definidas en manifest.json.
Desventajas:
➖ **** Es necesario incluir await
en todas las llamadas asincrónicas; si se olvida de realizar esta tarea, pueden producirse problemas.
➖ **** Posiblemente más lento debido a await.
.
*Disponible solo en FormIt 2023.0 y versiones posteriores
Para llamar a una función definida por el usuario en FormIt, la función debe estar registrada. Por ejemplo:
Lado del cliente (FormIt)
Lado web (HTML)
Consulte HelloBlockAsync para obtener un ejemplo.
Ventajas:
➕ El resultado está disponible cuando es necesario.
➕ Permite combinar todo el código en un archivo JS ejecutado desde el lado web sin secuencias de comandos definidas en manifest.json.
Desventajas:
➖ **** Es necesario incluir "await" en todas las llamadas asincrónicas; si se olvida de realizar esta tarea, pueden producirse problemas.
➖ **** Posiblemente más lento debido a await.
.