사용자가 넥사크로플랫폼으로 개발된 앱을 사용하려면 사용 환경에 따라 적절한 실행 환경을 만들어주고 필요한 파일을 내려받아야 합니다. 이러한 과정을 배포라고 합니다. 배포된 파일은 캐시 정책에 따라 내부에서 관리되며 필요할 때 새로운 파일로 교체됩니다.
데스크탑, 모바일 환경에 이미 설치된 웹브라우저에서 넥사크로 앱을 실행하는 경우에는 웹서버에서 필요한 HTML, 자바스크립트, CSS 파일만 내려받아 바로 실행합니다. 하지만 NRE 방식에서는 별도의 배포, 설치 과정이 필요합니다. 세부적인 과정은 각 실행 환경에 따라 달라질 수 있습니다.
개요
넥사크로플랫폼 앱이 실행하기 위해 필요한 파일을 먼저 살펴보겠습니다. 실행 환경에 따라 배포되는 파일은 아래와 같습니다.
분류 | 설명 | NRE | WRE |
---|---|---|---|
런타임 엔진 | 스크립트, 메모리, 렌더링 처리 런타임 엔진 | O | X |
넥사크로 프레임워크 | 프레임워크, 컴포넌트 라이브러리 (자바스크립트) | O | O |
코드 | 제너레이트에서 변환된 코드 (자바스크립트, CSS) | O | O |
NRE의 가장 큰 특징은 런타임 엔진입니다. 웹브라우저 환경에서는 필요한 프레임워크, 컴포넌트, 코드를 바로 사용하는 데 반해 NRE를 사용하려면 각 실행 환경에 맞는 런타임 엔진을 별도로 배포해주어야 합니다.
런타임 엔진을 추가로 배포하는 작업이 사용자로서도 불편할 수 있지만, 시스템 환경에 따라 기존에 사용하던 시스템과 연계가 필요하거나 웹브라우저에서 제공하지 못하는 확장된 기능을 사용하기 위해서는 넥사크로 브라우저를 선택할 수 있습니다.
넥사크로플랫폼에서 제공하는 기본적인 기능은 버전에 상관없이 같지만 디바이스 API나 외부 기기 연동 등 확장 기능은 실행 환경에 따라 다를 수 있습니다.
배포 파일
버전별 배포되는 파일을 상세하게 살펴보면 아래와 같습니다.
파일 위치 또는 서버 위치를 설명하는 Alias는 Alias 경로를 참고해주세요.
아래 설명된 파일명과 제공되는 라이브러리는 업데이트에 따라 변경될 수 있습니다.
데스크탑
윈도우 NRE
넥사크로플랫폼 런타임 엔진 배포 후 실행 방식에 따라 앱을 호출합니다. 콘텐츠는 같지만 프레임워크 자바스크립트 파일을 서버에서 직접 받지 않고 dll 파일로 제공된 라이브러리에 포함해 배포합니다.
분류 | 파일 | 설명 | 파일 위치 |
---|---|---|---|
Runtime Engine | v8.dll | V8 Script Engine Library | %nexacro% |
XMemLib.dll | Memory Management Library | %nexacro% | |
XBasicLib.dll | Base Libaray | %nexacro% | |
nexacrolib.dll | Platform & Render Engine Library | %nexacro% | |
nexacro.exe | 넥사크로플랫폼 Executor | %nexacro% | |
Framework DLL | XFrameworkLib.dll | Framework API Library | %nexacro% |
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 | nexacro17.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 |
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% |
모바일
안드로이드 NRE, iOS NRE
iOS/안드로이드 앱은 각 운영체제에 따라 별도 패키징 과정이 필요합니다. 제너레이트에서 변환된 코드를 Archive 파일로 생성하고 각 운영체제에 맞게 배포 파일을 생성하게 됩니다.
분류 | 파일 | 파일 설명 | Packing |
---|---|---|---|
Android App Files | nexacro17.jar | Android Library Jar | Android App |
libnexacro17.so | Android Library SO | ||
star_android.json | Android Archive Information | ||
strings.xml | Android Locale String Information | ||
iOS App Files | nexacro17.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 |