Django에서 "앱(app)"은 특정 기능이나 목적을 가진 독립적인 단위
각 앱은 프로젝트 내에서 하나의 특정 역할(예: 사용자 관리, 블로그 게시글 관리 등)을 수행
Django 프로젝트는 여러 앱으로 구성될 수 있으며, 앱 간에 재사용이나 독립적인 배포도 가능
특징
모듈화: 각 앱은 Django 프로젝트의 한 부분으로 동작하지만, 상대적으로 독립적
폴더 구조: 하나의 앱은 고유한 폴더 구조를 가지며, 그 안에 모델, 뷰, 템플릿 등이 포함
INSTALLED_APPS에 등록: INSTALLED_APPS 설정에 추가되면 Django가 해당 앱을 인식하고 사용할 수 있음
Django에서 앱 구조
myproject/
├── users/ # 사용자 관리 앱
│ ├── models.py # 사용자 데이터베이스 모델
│ ├── views.py # 사용자 관련 요청 처리
│ └── urls.py # 사용자 URL 라우팅
├── blog/ # 게시판 앱
│ ├── models.py # 게시글 데이터베이스 모델
│ ├── views.py # 게시글 관련 요청 처리
│ └── urls.py # 게시판 URL 라우팅
Spring에서 패키지 구조
com.project/
├── user/ # 사용자 관리 관련 패키지
│ ├── UserController.java # 사용자 관련 요청 처리
│ ├── UserService.java # 사용자 비즈니스 로직
│ ├── UserRepository.java # 사용자 데이터 접근
├── board/ # 게시판 관련 패키지
│ ├── BoardController.java # 게시판 관련 요청 처리
│ ├── BoardService.java # 게시판 비즈니스 로직
│ ├── BoardRepository.java # 게시판 데이터 접근
