본문 바로가기
  • Welcome!
JavaScript For Creo

Creo.JS

by ToolBOX01 2025. 2. 4.
반응형

Creo 4.0 이전 버전에서는 Web.Link 응용 프로그램 작업을 위해 내장 브라우저가 사용되었고, 이 브라우저는 Creo 프로그램 자체와는 별개의 프로세스로 실행되었는데. 이로 인해 프로세스 간 통신 오버헤드가 발생하여 성능 문제가 있었습니다.

▣ Creo 프로세스 외부 브라우저 실행으로 인한 성능 문제

1. 프로세스 간 통신 오버헤드

  • 프로세스란 컴퓨터에서 실행되는 프로그램의 인스턴스를 의미합니다. 각 프로세스는 자체적인 메모리 공간과 자원을 사용합니다.
  • Creo 프로그램과 Web.Link 응용 프로그램이 별개의 프로세스로 실행되면서, 두 프로그램 간에 데이터를 주고받기 위해서는 프로세스 간 통신 (Inter-Process Communication, IPC)이라는 과정을 거쳐야 했습니다.
  • IPC는 운영체제의 도움을 받아야 하며, 이 과정에서 상당한 오버헤드 (추가적인 작업 부담)가 발생합니다. 데이터 전송, 동기화, 오류 처리 등에 많은 자원이 소모되기 때문입니다.

2. 성능 저하

  • 프로세스 간 통신 오버헤드는 Web.Link 응용 프로그램의 실행 속도를 느리게 만드는 주요 원인이었습니다.
  • 특히 Web.Link 응용 프로그램이 Creo 프로그램과 빈번하게 데이터를 주고받을수록 오버헤드는 더욱 커졌고, 사용자 경험에 부정적인 영향을 미쳤습니다.
  • 응용 프로그램의 반응 속도 저하, 잦은 멈춤 현상 등이 발생할 수 있었습니다.

3. 자원 낭비

  • 별개의 프로세스로 실행되는 브라우저는 추가적인 시스템 자원 (CPU, 메모리 등)을 소비했습니다.
  • 이는 전체 시스템의 성능 저하를 초래할 수 있으며, 다른 프로그램의 실행에도 영향을 미칠 수 있었습니다.

4. 개발 및 유지보수의 어려움

  • Web.Link 응용 프로그램을 개발하고 유지보수하는 과정에서 프로세스 간 통신을 고려해야 했기 때문에 복잡성이 증가했습니다.
  • 디버깅 또한 어려워졌으며, 문제 해결에 더 많은 시간과 노력이 필요했습니다.

 

Creo 4.0 M080 릴리스 및 이후 버전에서는 새로운 툴킷인 Creo.JS가 제공됩니다.  이 툴킷은 Creo 프로세스 내에서 실행되는 Chrome V8 JavaScript 엔진을 사용합니다. 이를 통해 프로세스 간 통신 오버헤드가 제거됩니다. 이 엔진은 ECMAScript 2018 사양을 지원합니다. Creo.JS 프레임워크는 JavaScript로 작성된 Creo 응용 프로그램을 실행합니다.


▣ Creo.JS 응용 프로그램

Creo.JS 응용 프로그램은 JavaScript로 작성되며, 단일 웹 페이지(html 파일)에 배포됩니다. 이 응용 프로그램은 분산된 형태로 두 부분으로 구성됩니다.

  • 동적 HTML 사용자 인터페이스 및 사용자 상호 작용을 제어하는 JavaScript 섹션:
    이 스크립트는 DOM 조작을 위한 HTML 브라우저 API와 Web.Link API의 조합을 포함할 수 있습니다.
    이 부분은 브라우저에서 실행됩니다.
  • Creo 툴킷 API와 상호 작용하는 JavaScript 섹션:
    이 스크립트는 Creo 프로세스에 로드되며 Creo 프로세스의 일부인 Creo.JS 엔진에 의해 실행됩니다.

Creo 세션과 상호 작용하는 응용 프로그램 부분은 브라우저에서 실행되는 Web.Link 코드와 Creo에서 실행되는 Creo.JS 코드의 조합일 수 있습니다. 이를 통해 응용 프로그램을 Web.Link에서 Creo.JS로 점진적으로 마이그레이션할 수 있습니다. 응용 프로그램의 두 부분은 서로 다른 프로세스에서 실행되므로 런타임 객체에 대한 직접적인 참조를 교환할 수 없습니다. JSON 객체를 전달하여 상호 작용합니다. 환경 간의 모든 호출은 비동기적입니다. JavaScript에서 분산 응용 프로그램 개발을 위해 AJAX 구독 스타일 또는 Node.js의 반응형 개발과 같은 프로그래밍 패턴을 사용해야 합니다.

 

AJAX란 무엇인가 ?

AJAX (Asynchronous Javascript And XML) AJAX란, JavaScript의 라이브러리중 하나이며 Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)의 약자이다. 브라우저가 가지고있는 XMLHttpRequest 객체를 이용해서 전

99geo.tistory.com

 

 

[개발 기본 지식] Node.js란?

"Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다" ?? 🤔그래서 뭔데요?

velog.io


▣ Creo.JS 설치 위치

PTC.SetUp을 사용하여 Creo를 설치할 때, 선택적 구성 요소 중 하나가 "API 툴킷"입니다.
이 툴킷에 Creo.JS 툴킷이 포함되어 있습니다. 별도의 선택 없이 자동으로 설치 됩니다. Creo.JS는 Web.Link를 설치할 때 함께 설치됩니다. Creo.JS 설치 시 다음 폴더가 생성됩니다.

C:\PTC\Creo 9.0.6.0\Common Files\apps\creojs에 creojs라는 디렉터리가 생성됩니다. 이 디렉터리에는 Creo.JS 관련 문서가 포함되어 있습니다. 여기에는 모듈, 클래스 및 메서드 정의를 포함하는 온라인 브라우저인 Creo.JS APIWizard가 있습니다. PDF 형식의 Creo.JS 사용자 안내서도 이 폴더에 설치됩니다.

 

 

PTC Help Center

Your browser has DOM storage disabled. Make sure DOM storage is enabled and try again.

support.ptc.com