사용자가 넥사크로로 개발된 앱을 사용하려면 사용 환경에 따라 적절한 실행 환경을 만들어주고 필요한 파일을 내려받아야 합니다. 이러한 과정을 배포라고 합니다. 배포된 파일은 캐시 정책에 따라 내부에서 관리되며 필요할 때 새로운 파일로 교체됩니다.
데스크탑, 모바일 환경에 이미 설치된 웹브라우저에서 넥사크로 앱을 실행하는 경우에는 웹서버에서 필요한 HTML, 자바스크립트, CSS 파일만 내려받아 바로 실행합니다. 하지만 NRE 방식에서는 별도의 배포, 설치 과정이 필요합니다. 세부적인 과정은 각 실행 환경에 따라 달라질 수 있습니다.
개요
넥사크로 앱이 실행하기 위해 필요한 파일을 먼저 살펴보겠습니다. 실행 환경에 따라 배포되는 파일은 아래와 같습니다.
분류 | 설명 | NRE | WRE |
---|---|---|---|
런타임 엔진 | 스크립트, 메모리, 렌더링 처리 런타임 엔진 | O | X |
넥사크로 프레임워크 | 프레임워크, 컴포넌트 라이브러리 (자바스크립트) | O | O |
코드 | 제너레이트에서 변환된 코드 (자바스크립트, CSS) | O | O |
라이선스 | 라이선스 파일 | O | O |
NRE의 가장 큰 특징은 런타임 엔진입니다. 웹브라우저 환경에서는 필요한 프레임워크, 컴포넌트, 코드를 바로 사용하는 데 반해 NRE를 사용하려면 각 실행 환경에 맞는 런타임 엔진을 별도로 배포해주어야 합니다.
런타임 엔진을 추가로 배포하는 작업이 사용자로서도 불편할 수 있지만, 시스템 환경에 따라 기존에 사용하던 시스템과 연계가 필요하거나 웹브라우저에서 제공하지 못하는 확장된 기능을 사용하기 위해서는 넥사크로 브라우저를 선택할 수 있습니다.
넥사크로에서 제공하는 기본적인 기능은 버전에 상관없이 같지만 디바이스 API나 외부 기기 연동 등 확장 기능은 실행 환경에 따라 다를 수 있습니다.
배포 파일
버전별 배포되는 파일을 상세하게 살펴보면 아래와 같습니다.
파일 위치 또는 서버 위치를 설명하는 Alias는 Alias 경로를 참고해주세요.
아래 설명된 파일명과 제공되는 라이브러리는 업데이트에 따라 변경될 수 있습니다.
배포 옵션에 따라 생성되는 파일 목록이 달라질 수 있습니다.
데스크탑 NRE
윈도우 NRE
넥사크로 런타임 엔진 배포 후 실행 방식에 따라 앱을 호출합니다. 콘텐츠는 같지만 프레임워크 자바스크립트 파일을 서버에서 직접 받지 않고 dll 파일로 제공된 라이브러리에 포함해 배포합니다.
분류 | 파일 | 설명 | 파일 위치 |
---|---|---|---|
Runtime Engine | v8.dll | V8 Script Engine Library | |
XMemLib.dll | Memory Management Library | ||
XBasicLib.dll | Base Libaray | ||
nexacrolib.dll | Platform & Render Engine Library | ||
nexacro.exe | 넥사크로 Executor | ||
Framework DLL | XFrameworkLib.dll | Framework API Library | |
Extend DLL Files | protocol adaptor dll | Network Protocol Adaptor | %UPDATE% |
External DLL | External DLLs | %UPDATE% | |
Runtime Config Files | nexacro.xml | Runtime 실행 환경 파일 & UserProfile | %USERAPP% |
Log Files | nexacro_xxxxx.log | 로그 파일 | %USERAPP%\Log |
Launcher Download Files | splash.png | Splash Image File | %USERAPP% |
loadingimage.png | WaitCursor Image File | %USERAPP% | |
nexacro.ico | Application Icon File | %USERAPP% | |
globalvars.dat | Global Variable List 파일 | %USERAPP% |
배포되는 파일 목록은 엔진 버전이나 운영체제에 따라 달라질 수 있습니다.
위의 표에서는 주요 파일 목록만 나열했습니다.
macOS NRE
macOS 런타임은 각 운영체제에 따라 별도 패키징 과정이 필요합니다. 제너레이트에서 변환된 코드를 Archive 파일로 생성하고 각 운영체제에 맞게 배포 파일을 생성하게 됩니다.
분류 | 파일 | 파일 설명 | Packing |
---|---|---|---|
macOS App Files | nexacroN.macOS.framework | macOS Library Framework | macOS App |
start_macos.json | macOS Archive Information | ||
localizable.strings | macOS Locale String Information | ||
Execute HTML | index.html | Run Archive | |
Framework JS | Engine Archive | ||
Component JS | Engine Archive | ||
Resource Files | loadingimage.png | Engine Archive | |
Theme File | theme_*.css | Theme Archive | |
Application Files | Application Archive |
모바일 NRE
안드로이드 NRE, iOS NRE
iOS/안드로이드 앱은 각 운영체제에 따라 별도 패키징 과정이 필요합니다. 제너레이트에서 변환된 코드를 Archive 파일로 생성하고 각 운영체제에 맞게 배포 파일을 생성하게 됩니다.
분류 | 파일 | 파일 설명 | Packing |
---|---|---|---|
Android App Files | nexacro.aar | Android Archive | Android App |
star_android.json | Android Archive Information | ||
strings.xml | Android Locale String Information | ||
iOS App Files | nexacro.framework | iOS Library Framework | iOS App |
start_ios.json | iOS Archive Information | ||
localizable.strings | iOS Locale String Information | ||
Execute HTML | index.html | Run Archive | |
Framework JS | Engine Archive | ||
Component JS | Engine Archive | ||
Resource Files | loadingimage.png | Engine Archive | |
Theme File | theme_*.css | Theme Archive | |
Application Files | Application Archive |
WRE
필요한 모든 파일을 웹브라우저에서 직접 로딩하는 방식으로 실행됩니다. 사용하는 웹브라우저에 따라 성능 차이가 있을 수 있습니다.
분류 | 파일 | 설명 | 서버 위치 |
---|---|---|---|
Execute HTML | index.html | %WEBDEPLOY PROJECT% | |
Framework JS | BasicObjs.js | %WEBDEPLOY FRAMEWORK% | |
SystemBase.js | System Utility | %WEBDEPLOY FRAMEWORK% | |
Platform.js | Platform Objects | %WEBDEPLOY FRAMEWORK% | |
CssObjs.js | Style Object | %WEBDEPLOY FRAMEWORK% | |
ErrorDefine.js | Error Information | %WEBDEPLOY FRAMEWORK% | |
Component JS | CompBase.js | Component Base Module | %WEBDEPLOY COMPONENT% |
ComComp.js | Common Component Module | %WEBDEPLOY COMPONENT% | |
Grid.js | Grid Component Module | %WEBDEPLOY COMPONENT% | |
DeviceAPI.js | DeviceAPI Module | %WEBDEPLOY COMPONENT% | |
Resource Files | waitimage.gif | WaitCursor Image File | %WEBDEPLOY RESOURCE% |
Theme File | theme_*.css | Deploy 된 테마 소스 | %WEBDEPLOY THEME% |
Application Files | Deploy 된 Application 구성 파일 | %WEBDEPLOY PROJECT% |
라이선스
넥사크로 앱을 사용자에게 배포하고 사용하기 위해서는 라이선스 정보가 필요합니다. 적절한 라이선스 정보가 없는 경우에는 앱 상단에 경고 메시지를 표시합니다.
상태 | 설명 | 동작 |
---|---|---|
라이선스 없음 | Application 오브젝트의 licenseurl 속성값을 지정하지 않았거나 해당 경로에 라이선스 파일이 없음 | 오류 메시지 출력 |
제품 정보 불일치 | 라이선스에 명시된 제품 정보가 다름 | 오류 메시지 출력 |
사용자 정보 불일치 | 라이선스에 명시된 IP 주소가 호스트 IP 주소와 다름 | 오류 메시지 출력 |
기능 정보 불일치 | 라이선스에 허가되지 않은 기능 사용 | 오류 메시지 출력 |
실행 환경 불일치 | 라이선스에 허가되지 않은 실행 환경 사용 | 오류 메시지 출력 |
기간 불일치 | 라이선스에 명시된 개시일 전에 사용하거나 만료일 이후에 사용 | 오류 메시지 출력 |
파일 변조 | 라이선스 정보를 임의 변경 | 오류 메시지 출력 |
통신 오류 | licenseurl 접근 시 통신 오류 | 오류 메시지 출력 |
아래와 같은 경우는 라이선스를 체크하지 않습니다.
넥사크로 스튜디오에서 QuickView 실행 시
시작 파일 경로가 로컬 파일(file://)로 실행 시
localhost(127.0.0.1)로 실행 시