모듈을 만드는 기본 과정은 간단합니다. 새로운 프로젝트를 생성하고 화면을 구성하고 Deploy 단계에서 배포할 수 있는 파일로 생성합니다. 좀 더 구체적인 모듈을 만들기 위해서는 기능을 추가하고 여러 설정을 조정해주어야 합니다. 이번 장에서는 모듈(Composite Component)을 만드는 기본적인 단계를 가볍게 살펴봅니다.
Composite Component는 Form위에 기본 컴포넌트를 배치하는 형태로 화면을 구성하지만 그 외 오브젝트는 스크립트에서 모든 기능을 작성해야 합니다. 이번 장에서는 모듈 프로젝트를 만들고 배포하는 과정을 쉽게 이해하기 위해 Composite Component를 예로 사용했습니다.
프로젝트 / 오브젝트 만들기
하나의 프로젝트는 하나 이상의 오브젝트를 가질 수 있습니다. 예를 들어 Chart 모듈 프로젝트 안에는 Line Chart, Bar Chart 등 여러 오브젝트(컴포넌트)를 포함할 수 있습니다. 프로젝트 안에는 하나 이상의 오브젝트를 가져야 하므로 처음 프로젝트를 만들 때 오브젝트도 같이 만들어줍니다.
1
넥사크로 모듈 디벨로퍼를 실행합니다.
2
메뉴에서 [File > New > Project]를 선택하면 프로젝트 생성 마법사가 시작합니다.
3
Module 목록에서 "Composite Component" 항목을 선택합니다.
4
Project Name을 입력하고 [Next] 버튼을 클릭합니다.
5
오브젝트 ID 값을 입력하고 [Finish] 버튼을 클릭합니다.
오브젝트 ID는 모듈 배포 시 컴포넌트 이름으로 사용하기 때문에 만들고자 하는 컴포넌트의 특징을 담고 있는 것이 좋습니다. 예제에서는 2개의 Calendar 컴포넌트를 나란히 배치한 컴포넌트를 만듭니다.
오브젝트 ID를 입력하면 Project Preview 영역에 생성할 프로젝트 구조를 미리 보여줍니다.
6
프로젝트가 생성되고 생성한 오브젝트의 화면을 배치할 수 있는 디자인 편집 화면이 표시됩니다.
컴포지트 컴포넌트 화면 구성하기
사용자가 모듈을 설치하고 컴포넌트를 화면에 배치했을 때 보이는 모습을 설정합니다.
예제에서는 두 개의 Calendar 컴포넌트를 나란히 배치합니다. 그리고 Calendar 컴포넌트의 type 속성값을 "monthonly"로 지정해서 사용자가 컴포넌트를 배치했을 때 바로 날짜를 선택할 수 있도록 합니다.
1
Project Explorer에서 대상 오브젝트 아래에 있는 xcdl 파일을 선택합니다.
프로젝트를 처음 생성한 경우에는 프로젝트를 생성하고 나서 xcdl 파일이 열려진 상태로 표시됩니다.
2
툴바에서 Calendar 컴포넌트를 선택하고 화면에 배치합니다.
화면을 배치하고 조정하는 작업은 넥사크로 스튜디오에서 화면 디자인 작업과 같습니다.
3
Calendar 컴포넌트를 하나 더 배치하고 type 속성값을 "monthonly"로 설정합니다. 각 컴포넌트의 크기도 적당한 크기로 조정합니다.
4
Form 크기를 배치한 컴포넌트 크기에 맞추어 조정합니다.
오브젝트 생성 시 지정한 Default Size를 수정하는 것이기 때문에 크기 변경 시 경고창이 표시됩니다. Default Size는 사용자가 컴포넌트를 선택하고 화면에 배치 시에 기본적으로 설정되는 크기입니다.
Form 크기는 컴포지트 컴포넌트의 용도에 따라 달라질 수 있습니다. 예제에서는 2개의 Calendar 컴포넌트의 크기에 딱 맞게 설정했습니다.
5
메뉴 [Generate > Simulate]를 선택하고 생성한 컴포지트 컴포넌트가 제대로 보여지는지 확인합니다.
에뮬레이터에서는 추가된 기능을 확인하는 기능을 제공하지만, 이번 예제에서는 추가 기능은 작성하지 않았으므로 컴포지트 컴포넌트가 보여지는 모습만 확인합니다.
모듈 설치 파일 만들기
만들어진 프로젝트는 모듈 파일로 만들어서 사용자(개발자)에게 배포할 수 있습니다.
1
메뉴 [Deploy > Module Package]를 선택하고 디플로이 위자드를 실행합니다.
2
Deploy Path를 원하는 경로로 수정하고 Version 정보를 설정합니다.
3
[Next] 버튼을 클릭하면 JSON 파일을 편집할 수 있습니다.
JSON 편집 단계가 필요하지 않다면 이전 단계에서 [Nex] 버튼을 클릭하지 않고 [Deploy] 버튼을 클릭할 수 있습니다.
scriptsfilter 항목에서는 모듈 설치 후 앱 배포 시 배포 대상 운영체제에 따라 배포 여부를 설정할 수 있습니다. 예를 들어 TEST라는 스크립트를 운영체제에 따라 해당하는 파일만 배포하고자 한다면 아래와 같이 scriptsfilter 항목을 설정합니다.
"scriptsfilter":[ {name: "SIMPLE_MODULE_PROJECT/TEST_NRE.js", target:"NRE"}, {name: "SIMPLE_MODULE_PROJECT/TEST_WRE.js", target:"WRE, iOS_NRE"} ]
target 속성값으로 설정할 수 있는 항목은 아래와 같습니다.
NRE: iOS/iPadOS를 제외한 운영체제 NRE
iOS_NRE: iOS/iPadOS NRE
WRE
4
[Deploy] 버튼을 클릭하면 xmodule 확장자로 파일을 생성합니다.
파란색으로 표시된 링크를 클릭하면 해당 폴더를 열어줍니다.
모듈 설치하고 화면에 컴포넌트 배치하기
넥사크로 스튜디오에서 프로젝트를 열고 배포된 모듈 파일을 설치한 후 컴포지트 컴포넌트를 화면에 배치합니다.
1
넥사크로 스튜디오를 실행합니다.
2
새로운 프로젝트를 생성하거나 기존 프로젝트를 실행합니다.
3
메뉴 [File > Install Module]을 선택하고 인스톨 모듈 위자드를 실행합니다.
4
Install Type은 "Module Package"를 선택하고 [Next] 버튼을 클릭합니다.
5
넥사크로 모듈 디벨로퍼에서 만든 xmodule 파일을 선택하고 [Next] 버튼을 클릭합니다.
6
설치할 컴포지트 컴포넌트 이름을 확인하고 [Next] 버튼을 클릭합니다.
7
xcss, 이미지 관련 설정은 체크하지 않고 [Install] 버튼을 클릭합니다.
8
설치가 완료되면 현재 프로젝트를 다시 로딩합니다.
9
컴포지트 컴포넌트를 배치할 Form 화면을 엽니다.
10
툴바에서 아이콘을 선택하고 화면에 배치합니다.
모듈 프로젝트 공유하기
모듈 프로젝트를 생성한 폴더 전체를 압축해서 공유할 수 있습니다.