Integrated Development Environment
코딩, 디버그, 컴파일, 배포 등 모든 작업을 하나의 프로그램에서 처리할 수 있도록 제공하는 소프트웨어적인 개발 환경
코딩(Coding)
: 프로그래밍 언어로 프로그램 작성
컴파일(Compile)
: 개발자가 작성한 고급 언어로 된 프로그램을 컴퓨터가 이해할 수 있도록 목적 프로그램(기계어)으로 번역하여 실행 가능한 형태로 변환
디버깅(Debugging)
: 오류나 잘못된 동작(Bug)를 찾아 수정하는 기능
배포(Deployment)
: 사용자에게 전달
빌드: 소스 코드 파일들을 실행할 수 있는 제품소프트웨어로 변환하는 과정 또는 결과물
ANT(Another Neat Tool)
: 아파치 소프트웨어 재단에서 개발
: 자바 프로젝트의 공식적인 빌드 도구로 사용 중
: XML 기반의 빌드 스크립트 사용
: 자유도와 유연성이 높아 복잡한 빌드 환경 대처 가능
: 정해진 규칙이나 표준이 없어 개발자가 모든것을 정의함
: 스크립트의 재사용 어려움
Maven
: 아파치 소프트웨어 재단에서 개발
: Ant의 대안으로 개발됨
: 규칙이나 표준이 존재하여 예외사항만 기록하면 됨
: 컴파일과 빌드를 동시에 수행 가능
: 의존성(Dependency)을 설정하여 라이브러리 관리
Gradle
: Ant와 Maven을 보완하여 개발됨
: 한스 도커 외 6인의 개발자가 공동 개발
: 안드로이드 스튜디오의 공식 빌드 도구
: Maven과 동일하게 의존성을 활용함
: 그루비(Groovy) 기반의 빌드 스크립트 사용
: 빌드 과정을 정교하게 제어 가능