자바용 프로젝트 관리 도구
= 프로젝트를 진행하면서 사용할 수많은 라이브러리들을 관리해주는 도구
아파치 앤트의 대안으로 만들어졌다.
아파치 라이선스로 배포되는 오픈 소스 소프트웨어이다.
메이븐은 네트워크를 통해서 연관된 라이브러리 까지 같이 업데이트를 해주기 때문에
과거에 일일히 수동으로 다 업데이트 혹은 연결 시켜주던 것을 자동으로 해준다는 편리함이 있다.
Gradle은 Groovy를 이용한 빌드 자동화 시스템
Groovy와 유사한 도메인 언어를 채용하였으며, 현재 안드로이드 앱을 만드는데 필요한 안드로이드 스튜디오의 공식 빌드 시스템이기도 하다.
Java, C/C++, Python 등과 같은 여러 가지 언어를 지원한다. Java와 거의 비슷한 코드를 써서 빌드 처리를 관리 할 수 있다.
gradle의 빌드 스크립트는 groovy 라는 언어로 작성해야 하므로 maven의 xml 에 비하면 친숙하진 않지만 확장성이 뛰어나다.
maven은 프로젝트가 커질수록 빌드 스크립트의 내용이 길어지고 가독성이 떨어지는 반면, gradle은 훨씬 적은 양의 스크립트로 짧고 간결하게 작성할 수 있다.
maven의 경우 멀티 프로젝트에서 특정 설정을 다른 모듈에서 사용하려면 상속을 받아야 하지만 gradle은 설정 주입 방식으로 이를 해결한다.
그래서 gradle 은 멀티 프로젝트에 매우 적합하며, 빌드 속도는 다양한 시나리오 상에서 10~100배 가량이 빠르다.