앱 디렉터리
앱 디렉터리를 깨끗하고 최신 상태로 유지하는 것은 매우 중요하다. 앱 디렉터리 내의 각 폴더와 파일은 특정한 역할을 하며, 이를 효율적으로 다룰 수 있다면 더 나은 개발 경험을 얻을 수 있다.
Clean Directory
- Clean Directory는 앱 디렉터리의 '깨끗한' 버전을 의미한다.
- 깨끗한 버전이란 앱을 처음 생성하거나 초기 상태에서 디렉터리를 보면 볼 수 있는 기본 상태이다.
- 이 상태는 앱이 처음으로 생성되어 열렸을 때의 상태를 나타내며, 이후 개발 과정에서 파일 및 폴더가 추가되거나 변경될 수 있다.
주요 폴더와 파일 설명
1. 자바스크립트소스 (javascriptsource)
- 이 폴더는 앱 모듈의 구조와 유사하게 구성되며 nanoflows에 대한 실제 JavaScript 작업이 정의된 모듈만 있다.
- 모듈별 JavaScript 작업을 명확히 파악하고, 다른 앱에서 해당 소스를 재사용하기 용이하다.
2. 자바소스(javasource)
- microflows에 해당하는 Java 소스 파일을 포함한다.
- 새 앱에는 최소 9개의 모듈이 있으며, 앱을 실행한 후에 디렉터리에 반영된다.
3. action
- 해당 특정 모듈에서 생성된 모든 Java 액션의 대상 폴더이다.
- VerifyPassword.java라는 파일이 유일하며, 이 파일은 System 모듈의 단일 Java action이다.
4. Datasets
- Datasets 폴더는 해당 모듈에서 생성된 모든 데이터 세트의 대상 폴더이다.
- MyFirstModule에서 생성하면 된다.
5. Proxies
- 프록시 폴더는 모든 엔티티(Entity), 영구적(persistent), 비영구적(non-persistent), 모든 열거형(enumeration)을 나타낸다.
- 내부 microflows 폴더에는 해당 모듈의 모든 microflow 이름을 저장하는 Microflows.java 파일이 포함되어 Java 개발을 수용한다.
6. Resources
- 애플리케이션의 작동에 영향을 미치는 HTML 및 구성 파일이 저장된다.
- 이 폴더를 사용하는 Mendix 모듈의 예로는 SAML 모듈 및 Deeplink 모듈이 있다.
- 앱 모델과 함께 패키징되며, 해당 폴더의 파일은 Java 리소스로 액세스할 수 있다.
7. Theme
- Theme 폴더에서 애플리케이션의 스타일링의 소스를 형성하는 파일과 폴더를 찾을 수 있다.
- 이 폴더의 변경 사항에는 HTML/CSS/SASS 지식이 필요하며, 이 지식을 바탕으로 기존 디자인 속성을 확장하거나 변경하거나 새 속성을 만들 수 있다.
8. userlib
- userlib 폴더에서 사용자 정의 Java 함수를 지원할 수 있는 Java 라이브러리를 찾을 수 있다.
- 해당 폴더의 내용은 Community Commons Function Library 또는 Email module with templates 와 같은 모듈을 다운로드하면 변경된다.
- 모듈 제거 시 자동으로 삭제되지 않기 때문에 이 폴더에서 라이브러리를 수동으로 삭제해야 한다.
9. widgets 폴더
- widgets 폴더에는 확장자가 .mpk 인 파일만 포함되어 있다.
- 이러한 파일은 Studio Pro에서 사용 가능한 위젯 반영한다.
- Add-on widgets 그룹에 나열된 위젯의 수는 앱 디렉토리의 파일 수와 다를 수 있다.
- .mpk 파일이 여러 위젯을 반영할 수 있기 때문이다.
- 예를 들어, 여러 다른 차트를 포함하는 Chart.mpk가 있다.
- Mendix API와 JavaScript에 대한 지식이 필요하며, 해당 지식을 통해 위젯을 만들 수 있다.
Files in this folder - 루트 폴더의 주요 파일
- .mpr 파일
- Studio Pro에서 앱을 열기 위한 필수 파일이다.
- .mpr.bak
- 앱의 백업 파일로, 문제 발생 시 복원에 사용된다.
- .mpr.lock
- 앱이 현재 Studio Pro에서 열려 있음을 나타내는 파일이다.
- Windows 설정에 따라 이 파일은 숨겨져 있을 수 있다.
Optional Files and Folders (선택적인 파일과 폴더)
Studio Pro에서 앱 배포, 데이터 스냅샷 생성, Marketplace 모듈 가져오기 등의 특정 작업을 수행하면 디렉터리가 변할 수 있다.
- 배포 폴더(Deployment folder)
- 앱을 로컬로 실행하는 데 필요한 배포 파일이 들어 있다.
- 로컬 데이터베이스를 용이하게 하는 데 필요한 여러 폴더와 파일, 애플리케이션 사용 중에 저장된 파일, Mendix가 애플리케이션을 실행하기 위해 해석한 소스가 들어 있다.
- 릴리스 폴더(Releases folder)
- Studio Pro로 배포 패키지를 만들 때 Mendix는 기본적으로 이를 releases 폴더에 저장한다.
- 패키지 폴더(Packages folder)
- 앱 패키지를 만들 때 Mendix는 자동으로 이러한 패키지를 저장할 위치를 제공한다.
- 패키지 폴더는 생성된 패키지를 저장한다.
- data-snapshot.zip
- Studio Pro를 통해 데이터 스냅샷을 만들면 생성된다.
- 여기에는 팀원이 재사용할 수 있는 로컬 데이터베이스가 들어있다.
- Eclipse 관련 파일
- .classpath, .project, <root folder>.launch 파일은 Eclipse 가져오기에 필요한 파일이다.
깨끗한 디렉터리 유지 팁
1. 모듈 제거 시
- userlib 폴더에서 Java 라이브러리를 반드시 수동으로 제거해야한다.
2. 리소스 파일 관리
- resources 폴더의 내용은 Deployment folder의 model/resources 폴더로 복사되며, deployment folder에 추가할 수 없는 모든 파일은 이 resources 폴더에 추가할 수 있다.
3. 버전 관리
- 다음 모듈에서 설명할 버전 관리를 사용하는 경우 커밋하기 전에 앱을 업데이트하여 새로운 기능이 있는지 확인하고 충돌을 해결해야 한다.
Reference
https://academy.mendix.com/link/paths
'IT > Mendix' 카테고리의 다른 글
[Mendix] XPath를 사용하여 데이터 제한 - Intermediate 자격증 공부 - DevelopMoon (0) | 2024.11.11 |
---|---|
[Mendix] 버전 관리 사용 - Intermediate 자격증 공부 - DevelopMoon (2) | 2024.11.10 |
[Mendix] Agile 소프트웨어 개발 방법론 2 - Intermediate 자격증 공부 - DevelopMoon (6) | 2024.11.08 |
[Mendix] Agile 소프트웨어 개발 방법론 1 - Intermediate 자격증 공부 - DevelopMoon (20) | 2024.11.07 |
[Mendix] Mendix 자격증 공부 - DevelopMoon (0) | 2024.11.06 |