본문 바로가기
개발/개발지식

Build Tool ( 빌드 도구 : Ant, Maven, Gradle ) 에 대해서

by 핸디(Handy) 2020. 5. 24.

Build 는 작성된 Source Code을 실제 기기 ( 컴퓨터, 핸드폰 ) 등에서 실행 될 수 있는 소프트웨어로 변한화기 위한 과정을 하는 것을 말하며, Build Tool 은 이러한 과정을 해주는 것이다.

즉 Build Tool 은 Source Code --> Software 로 변한하는 과정에 필요한 전처리, 컴파일 등의 작업을 수행하는 SW를 말한다.

대표적으로 살펴볼 빌드 도구는 크게 3가지 ( Ant, Maven, Gradle ) 이다.

Ant( Another Neat Tool) *아파치 재단에서 개발한 것으로, 자바의 공식적인 빌드 도구
*XML 기반의 스크립트를 사용하여, 유연하고 자유도가 높다-> 때론 관리하기 어렵다.
*규칙, 표준이 없어 무한한 커스텀이 가능하다  -> 어렵다
Maven *아파치 재단에서 개발한 것으로, 어려운 Ant 대안으로 개발되었음
*규칙, 표준이 있어 예외사항을 컨트롤 하는 방식으로, 컴파일과 빌드의 동시 수행이 가능하다 -> 빠르다?
* 의존성을 설정하여 라이브러리를 관리한다 -> 편하다
Gradle *Ant, Maven 의 보완으로 개발된 빌드 도구
*6인의 능력자 형님들이 개발해주셨다.
*안드로이드 스튜디오의 공식 빌드도구
*의존성을 활용하며, 그루비 기반의 빌드 스크립트를 사용한다.

빌드 도구에서의 의존성 ( Dependency ) 란?

라이브러리를 관리할 때 사용하는 명령어로, 빌드 스크립트 안에 사용하고자 하는 라이브러리를 등록하면, 해당 예약어에 맞춰 빌드 수행 시 인터넷상의 라이브러리 저장소에서 해당 라이브러리를 찾아 사용가능하도록 추가해주는 것.

의존성이 있기 때문에 우리는 파일을 하나씩 다운받아 프로젝트 폴더에 집어넣는 수고를 방지할 수 있게 되었고, 저장소가 있기에 최신버젼을 간편하게 확인하고 업데이트 할 수 있는 것이다.

안드로이드 프로젝트의 gradle Scripts

 

dependency

안드로이드 스튜디오의 경우 dependecies 안에 원하는 라이브러리를 넣으면 다운로드 후 코드상에서 바로 사용 가능하고, 최신버전이 나오면 이렇게 알려준다.

 

댓글