Maven과 Gradle
Maven
- 아파치 메이븐은 자바용 프로젝트 관리 도구
- 아파치 Ant의 대안으로 만들어짐
- 아파치 라이센스로 배포되는 오픈 소스 소프트웨어
- 네트워크를 통해 연관된 라이브러리까지 같이 업데이트를 해주기 때문에 사용이 편리
Gradle
- 빌드, 프로젝트 구성/관리, 테스트, 배포 도구
- 안드로이드 앱의 공식 빌드 시스템
- 빌드 속도가 Maven에 비해 10~100배 가량 빠름
- JAVA, C/C++M Python 등을 지원
- 빌트툴인 Ant Builder와 Groovy 스크립트 기반으로 만들어져 기존 Ant의 역할과 배포 스크립트의 기능을 모두 사용 가능
- 별도의 빌드 스크립트를 통하여 사용할 어플리케이션 버전, 라이브러리 등의 항목을 설정가능
비교
- 스크립트 길이와 가독성 면에서 gradle이 우세
- 빌드와 테스트 실행 결과 gradle이 더 빠름
(gradle은 캐시를 사용하기 때문에 테스트 반복 시 차이가 더 커짐)
- 의존성이 늘어날 수록 성능과 스크립트 품질의 차이가 심해짐