클라이언트측 엔진과 웹측 엔진
Last updated
Last updated
FormIt 플러그인은 다음과 같은 두 개의 고유한 JavaScript 엔진을 활용합니다.
HTML을 표시하는 패널(웹측)
클라이언트측(FormIt)은 FormIt과 해당 형상 커널을 호출합니다.
이러한 두 JavaScript 엔진은 별개의 프로세스에서 작동합니다.
FormIt은 여러 JavaScript 엔진을 동시에 실행합니다.
FormIt 응용프로그램에는 자체 JavaScript 엔진이 있습니다.
각 플러그인 도구막대에는 자체 JavaScript 엔진이 있습니다.
각 플러그인 패널에는 자체 JavaScript 엔진(Chrome)이 있습니다.
플러그인은 JavaScript가 로드되는 위치를 지정할 수 있습니다.
manifest.json을 사용하여 지정됨
index.html을 사용하여 지정됨
웹 페이지에서 웹측 스크립트가 로드됩니다.
웹측 스크립트는 다중 비동기 호출을 사용하여 클라이언트측(FormIt) JavaScript를 호출할 수 있습니다.
CallMethod
는 함수 이름과 FormIt측에서 실행될 인수를 사용합니다. 전달된 함수는 함수 호출 결과와 함께 호출됩니다.
장점:
➕ await
가 필요하지 않습니다.
단점:
➖ 결과를 얻으려면 콜백이 필요하며 콜백은 "who knows when"으로 호출됩니다.
➖ 스크립트가 두 개의 다른 위치에 정의됩니다.
➖ 플러그인 로직을 두 개의 다른 파일로 분할해야 합니다.
*FormIt 2022.1 이상 버전에서만 사용 가능
CallJS는 FormIt측 및 arguments.json 객체에서 호출될 JavaScript 함수를 사용합니다.
장점:
➕ 필요할 때 결과를 사용할 수 있습니다.
단점:
➖**** await를 사용하여 모든 비동기 호출을 장식해야 하며, 이렇게 하지 않으면 문제가 발생합니다.
➖**** await
로 인해 잠재적으로 느려질 수 있습니다.
웹측에서는 비동기 호출을 통해 FormIt측을 호출합니다. 이 호출은 한 프로세스에서 시작하여 다른 프로세스로 전송되고 결과가 시작 프로세스로 다시 전달됩니다. 따라서 await가 필요합니다.
기본적으로 기본 제공 FormIt API만 호출할 수 있습니다.
장점:
➕ 필요할 때 결과를 사용할 수 있습니다.
➕ manifest.json에 스크립트를 정의하지 않은 상태로 웹측에서 모든 코드를 하나의 JS 파일에 결합할 수 있도록 허용합니다.
단점:
➖**** await
를 사용하여 모든 비동기 호출을 장식해야 하며, 이렇게 하지 않으면 문제가 발생합니다.
➖**** await.
로 인해 잠재적으로 느려질 수 있습니다.
*FormIt 2023.0 이상 버전에서만 사용 가능
FormIt측에서 사용자 정의 함수를 호출하려면 함수를 등록해야 합니다. 예:
클라이언트측(FormIt)
웹측(HTML)
예는 HelloBlockAsync를 참고하십시오.
장점:
➕ 필요할 때 결과를 사용할 수 있습니다.
➕ manifest.json에 스크립트를 정의하지 않은 상태로 웹측에서 모든 코드를 하나의 JS 파일에 결합할 수 있도록 허용합니다.
단점:
➖**** await를 사용하여 모든 비동기 호출을 장식해야 하며, 이렇게 하지 않으면 문제가 발생합니다.
➖**** await.
로 인해 잠재적으로 느려질 수 있습니다.