クライアント側エンジンと Web 側エンジン
Last updated
Last updated
FormIt プラグインは、2 つの異なる JavaScript エンジンを使用します。
HTML を表示するパネル(Web 側)
クライアント側のパネル(FormIt)。FormIt とそのジオメトリ カーネルを呼び出します
これら 2 つの JavaScript エンジンは、異なるプロセスで動作します。
FormIt は複数の JavaScript エンジンを同時に実行します。
FormIt アプリケーションには独自の JavaScript エンジンがあります
各プラグイン ツールバーには独自の JavaScript エンジンがあります
各プラグイン パネルには独自の JavaScript エンジンがあります(Chromium)
プラグインでは、JavaScript がロードされる場所を指定できます。
Web 側スクリプトは、Web ページからロードされます。
Web 側スクリプトは、複数の非同期の呼び出しを使用してクライアント側(FormIt)の JavaScript を呼び出すことができます。
CallMethod
は、FormIt 側で実行される関数名とその引数を取得します。このメソッドを渡された関数は、関数呼び出しの結果とともに呼び出されます。
長所:
➕ await
が不要です。
短所:
➖ 結果を取得するにはコールバックが必要ですが、そのタイミングを決めることができません。
➖ スクリプトは 2 つの異なる場所で定義されます。
➖ プラグイン ロジックを 2 つの異なるファイルに分割する必要があります。
*FormIt 2022.1 以降でのみ使用可能です
CallJS は、FormIt 側で呼び出される JavaScript 関数、および arguments.json オブジェクトを取得します。
長所:
➕ 必要なときに結果を利用できます
短所:
➖ **** 非同期の呼び出しをすべて await で修飾する必要があります。これを忘れると正しく機能しません。
➖ **** await
が原因で動作が遅くなる可能性があります。
非同期の呼び出しで、Web 側が FormIt 側を呼び出します。この呼び出しは、あるプロセスで開始して別のプロセスに送られ、その結果が開始プロセスに戻されます。そのため、await が必要です。
既定では、組み込みの FormIt API のみを呼び出すことができます。
長所:
➕ 必要なときに結果を利用できます。
➕ manifest.json にスクリプトが定義されていなくても、すべてのコードを結合して、Web 側から実行される 1 つの JS ファイルにすることができます。
短所:
➖ **** 非同期の呼び出しをすべて await
で修飾する必要があります。これを忘れると正しく機能しません。
➖ **** await.
が原因で動作が遅くなる可能性があります。
*FormIt 2023.0 以降でのみ使用可能です
FormIt 側でユーザ定義関数を呼び出すには、関数を登録する必要があります。次に例を示します。
クライアント側(FormIt)
Web 側(HTML)
長所:
➕ 必要なときに結果を利用できます。
➕ manifest.json にスクリプトが定義されていなくても、すべてのコードを結合して、Web 側から実行される 1 つの JS ファイルにすることができます。
短所:
➖ **** 非同期の呼び出しをすべて await で修飾する必要があります。これを忘れると正しく機能しません。
➖ **** await.
が原因で動作が遅くなる可能性があります。
を使用して、指定します。
を使用して、指定します。
例として、 を参照してください。