Motori lato client e lato Web
Last updated
Last updated
I plug-in di FormIt utilizzano due motori JavaScript distinti:
Il pannello che visualizza il codice HTML (lato Web)
Il lato client (FormIt) che effettua chiamate a FormIt e al relativo kernel di geometria.
Questi due motori JavaScript funzionano in processi distinti.
FormIt esegue più motori JavaScript contemporaneamente:
L'applicazione FormIt dispone di un motore JavaScript.
Ogni barra degli strumenti del plug-in ha il suo motore JavaScript.
Ogni pannello del plug-in ha il suo motore JavaScript (Chromium).
I plug-in possono specificare la posizione in cui viene caricato JavaScript:
Specificato utilizzando manifest.json
Specificato utilizzando index.html
Gli script lato Web vengono caricati dalla pagina Web.
Gli script lato Web possono richiamare JavaScript lato client (FormIt) utilizzando più chiamate asincrone.
CallMethod
utilizza un nome di funzione e gli argomenti che verranno eseguiti sul lato FormIt. La funzione trasferita verrà chiamata con il risultato della chiamata di funzione.
Vantaggi:
➕ Non è necessaria la parola chiave await
.
Svantaggi:
➖ È necessario un callback per ottenere il risultato e viene chiamato "chi sa quando".
➖ Gli script vengono definiti in due posizioni diverse.
➖ Richiede di suddividere la logica del plug-in in due file diversi.
*Disponibile solo in FormIt 2022.1 e versioni successive
CallJS utilizza la funzione JavaScript da richiamare sul lato FormIt e l'oggetto arguments.json.
Vantaggi:
➕ Il risultato è disponibile quando necessario.
Svantaggi:
➖ **** È necessario modificare tutte le chiamate asincrone con await; in caso contrario, ciò potrebbe provocare problemi.
➖ **** Si potrebbe verificare un rallentamento delle prestazioni a causa di await
.
Con una chiamata asincrona, il lato Web chiama il lato FormIt. Questa chiamata inizia in un processo, viene inviata ad un altro processo, quindi il risultato viene ritrasferito al processo iniziale. Per questo motivo è necessaria la parola chiave await.
Per default è possibile richiamare solo le API di FormIt incorporate.
Vantaggi:
➕ Il risultato è disponibile quando necessario.
➕ Consente di combinare tutto il codice in un unico file JS eseguito dal lato Web, senza script definiti in manifest.json.
Svantaggi:
➖ **** È necessario modificare tutte le chiamate asincrone con await
; in caso contrario, ciò potrebbe provocare problemi.
➖ **** Si potrebbe verificare un rallentamento delle prestazioni a causa di await.
.
*Disponibile solo in FormIt 2023.0 e versioni successive
Per chiamare una funzione definita dall'utente sul lato FormIt, è necessario registrare la funzione. Ad esempio:
Lato client (FormIt)
Lato Web (HTML)
Vedere HelloBlockAsync per un esempio.
Vantaggi:
➕ Il risultato è disponibile quando necessario.
➕ Consente di combinare tutto il codice in un unico file JS eseguito dal lato Web, senza script definiti in manifest.json.
Svantaggi:
➖ **** È necessario modificare tutte le chiamate asincrone con await; in caso contrario, ciò potrebbe provocare problemi.
➖ **** Si potrebbe verificare un rallentamento delle prestazioni a causa di await.
.