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 ) 란?
라이브러리를 관리할 때 사용하는 명령어로, 빌드 스크립트 안에 사용하고자 하는 라이브러리를 등록하면, 해당 예약어에 맞춰 빌드 수행 시 인터넷상의 라이브러리 저장소에서 해당 라이브러리를 찾아 사용가능하도록 추가해주는 것.
의존성이 있기 때문에 우리는 파일을 하나씩 다운받아 프로젝트 폴더에 집어넣는 수고를 방지할 수 있게 되었고, 저장소가 있기에 최신버젼을 간편하게 확인하고 업데이트 할 수 있는 것이다.
안드로이드 스튜디오의 경우 dependecies 안에 원하는 라이브러리를 넣으면 다운로드 후 코드상에서 바로 사용 가능하고, 최신버전이 나오면 이렇게 알려준다.
'개발 > 개발지식' 카테고리의 다른 글
[크롬] 유튜브 무한 로딩 및 느려짐 해결방법 (8) | 2020.10.15 |
---|---|
[자바스크립트] 모던 자바스크립트 개발을 위한 ES6 강좌 후기 (0) | 2020.10.14 |
[개발지식] CI/CD 에 대해서 (0) | 2020.08.20 |
컴포넌트, 인터페이스, 라이브러리에 대하여 (0) | 2020.05.24 |
[크롬] 구글 크롬 파일 첨부 시 닫힘 현상 해결 방법 (0) | 2019.06.06 |
댓글