빌드
: 프로그램의 소스 코드를 독립적인 아티팩트(artifact)로 변환하는 과정
: 아티팩트 그 자체로도 실행이 가능하며, 대체로 런타임(소프트웨어 실행 환경)이 필요한 경우가 많음
프레임워크
: 소프트웨어 개발을 쉽게 만들어주기 위해 필요한 도구, 규약의 집합체
백엔드 웹 애플리케이션 개발용 프레임워크
- Spring (Java, Kotlin)
- Django (Python)
- Express (JavaScript)
프론트엔드 웹 애플리케이션 개발용 프레임워크
- React 및 관련 라이브러리 (JavaScript)
- Vue.js, Svelte (JavaScript)
모바일 및 데스크탑 애플리케이션 개발용 프레임워크
- Flutter (Android, iOS 등)
- .NET Framework (Windows)
- Apple 운영체제 기본 Native 프레임워크 Cocoa (macOS), Cocoa Touch (iOS)
- 안드로이드 기본 Native 프레임워크 (Android)
대표적인 빌드 도구
React 프레임워크를 사용하는 경우 create-react-app 또는 next.js 와 같은 프레임워크를 사용합니다
- node.js 개발 환경 준비
- 프로젝트 폴더로 이동
- package.json 파일이 있는지 확인합니다
- 의존성 (dependency) 설치
- npm install 명령 입력
- 빌드
- npm run build 명령 입력
- 빌드 결과물 확인
- build 폴더 확인
- React는 프론트엔드 웹 애플리케이션이므로 결과물로는 HTML, CSS, JS 파일을 포함합니다.
- 이후 이 파일들을 nginx 등에서 정적 호스팅할 수 있습니다.
※ 의존성 설치 후 빌드하지 않고, 바로 애플리케이션을 실행 > npm run start 등의 명령어를 사용
※ 애플리케이션에 단위 테스트가 제공된다면, 애플리케이션의 테스트 > npm run test 명령어를 사용
Java/Kotlin 기반의 Spring Boot 생태계(Gradle)
: Java/Kotlin 애플리케이션을 빌드하면 JVM(자바 런타임) 위에서 실행되는 war 파일이 아티팩트로 생성
: 대표적인 빌드 도구가 두가지(maven, Gradle)가 있음
- 자바 개발 환경(JDK, OpenJDK가 대표적) 준비
- gradle 설치
- 프로젝트 폴더로 이동
- 빌드
- gradlew build 명령 입력
빌드 후에 실행을 위해서 gradlew bootRun 명령을 통해 애플리케이션의 실행
gradle tasks를 이용해 gradle에서 사용할 수 있는 다양한 태스크를 확인
★ 빌드가 필요없는 경우
node.js 앱이나 Python과 같이 소스 코드 그대로 런타임을 실행할 수 있는 경우, 즉 다른 변환 작업이 필요없는 경우에는 빌드 과정이 생략
'DevOps BootCamp > 서버' 카테고리의 다른 글
WAS 개발 (0) | 2023.03.28 |
---|---|
CORS 개념 (0) | 2023.03.27 |
nginx Web Server, 호스팅 (0) | 2023.03.24 |
정적 웹사이트 vs 동적 웹사이트 (0) | 2023.03.24 |
웹 서버 (0) | 2023.03.24 |