Moteurs côté client et Web
Last updated
Last updated
Les plug-ins FormIt utilisent deux moteurs JavaScript distincts :
Groupe de fonctions affichant le code HTML (côté Web)
Le côté client (FormIt) effectue des appels à FormIt et à son noyau de géométrie.
Ces deux moteurs JavaScript fonctionnent selon des processus distincts.
FormIt exécute plusieurs moteurs JavaScript simultanément :
L’application FormIt possède son propre moteur JavaScript
Chaque barre d’outils de plug-in possède son propre moteur JavaScript.
Chaque groupe de fonctions de plug-in possède son propre moteur JavaScript (Chromium).
Les plug-ins peuvent spécifier l’emplacement de chargement du script JavaScript :
Spécifié à l’aide du fichiermanifest.json
Spécifié à l’aide du fichier index.html
Les scripts côté Web sont chargés à partir de la page Web.
Les scripts côté Web peuvent appeler le script JavaScript côté client (FormIt) à l’aide de plusieurs appels asynchrones.
CallMethod
prend un nom de fonction et les arguments qui seront exécutés côté FormIt. La fonction transmise sera appelée avec le résultat de l’appel de la fonction.
Avantages :
➕ Pas besoin de await
.
Inconvénients :
➖ Un rappel est nécessaire pour obtenir le résultat et s’appelle « who know when ».
➖ Les scripts sont définis à deux emplacements différents.
➖ La logique du plug-in doit être divisée en deux fichiers différents.
*Disponible uniquement dans FormIt 2022.1 et versions ultérieures
CallJS utilise la fonction JavaScript pour un appel côté FormIt et l’objet arguments.json.
Avantages :
➕ Le résultat est disponible en cas de besoin
Inconvénients :
➖ **** Vous devez ajouter await à tous les appels asynchrones. Si vous oubliez, rien ne fonctionnera comme prévu.
➖ **** Potentiellement plus lent en raison de await
Avec un appel asynchrone, le côté Web appelle le côté FormIt. Cet appel commence dans un processus, est envoyé à un autre processus, puis le résultat est transmis au processus de départ. C’est pourquoi await est nécessaire.
Seules les API FormIt intégrées peuvent être appelées par défaut.
Avantages :
➕ Le résultat est disponible en cas de besoin.
➕ Permet de combiner tout le code dans un seul fichier JS exécuté côté Web, sans script défini dans manifest.json.
Inconvénients :
➖ **** Vous devez ajouter await
à tous les appels asynchrones. Si vous oubliez, rien ne fonctionnera comme prévu.
➖ **** Potentiellement plus lent en raison de await.
*Disponible uniquement dans FormIt 2023.0 et versions ultérieures
Pour appeler une fonction définie par l’utilisateur dans FormIt, la fonction doit être enregistrée. Par exemple :
Côté client (FormIt)
Côté Web (HTML)
Reportez-vous à HelloBlockAsync pour obtenir un exemple.
Avantages :
➕ Le résultat est disponible en cas de besoin.
➕ Permet de combiner tout le code dans un seul fichier JS exécuté côté Web, sans script défini dans manifest.json.
Inconvénients :
➖ **** Vous devez ajouter await à tous les appels asynchrones. Si vous oubliez, rien ne fonctionnera comme prévu.
➖ **** Potentiellement plus lent en raison de await.