50문 50답 - 8(maven/gradle의 차이)

개발 공부 중·2022년 10월 11일
0

Spring 50문 50답

목록 보기
1/4
  • maven

    • 아파치 메이븐은 자바용 프로젝트 관리 도구이다.
    • 아파치 Ant의 대안으로 만들어졌다.
    • 아파치 라이센스로 배포되는 오픈 소스 소프트웨어이다.

    프로젝트를 진행하면서 사용하는 수많은 라이브러리들을 관리해주는 도구입니다.
    여기서 메이븐의 특징적인 점은 그 라이브러리들과 연관된 라이브러리들까지 거미줄처럼 모두 연동이 되서 관리가 된다는 점입니다.
    즉, 메이븐은 네트워크를 통해 연관된 라이브러리까지 같이 업데이트를 해주기 때문에  사용이 편리합니다.

  • gradle

    • 빌드, 프로젝트 구성/관리, 테스트, 배포 도구

    • 안드로이드 앱의 공식 빌드 시스템

    • 빌드 속도가 Maven에 비해 10~100배 가량 빠름

    • JAVA, C/C++M Python 등을 지원

    • 빌트툴인 Ant Builder와 Groovy 스크립트 기반으로 만들어져 기존 Ant의 역할과 배포 스크립트의 기능을 모두 사용 가능

      기존 메이븐의 경우 XML로 라이브러리를 정의하고 활용하도록 되어 있으나,
      Gradle의 경우 별도의 빌드 스크립트를 통하여사용할 어플리케이션 버전, 라이브러리 등의 항목을 설정할 수 있습니다.
      Groovy 스크립트 언어로 구성되어 있기에 XML과 달리 변수선언, if, else, for 등의 로직이 구현가능하며 간결하게 구성 가능합니다.

차이점

  1. 스크립트 길이와 가독성 면에서 gradle이 우세하다.
  2. 빌드와 테스트 실행 결과 gradle이 더 빠르다. (gradle은 캐시를 사용하기 때문에 테스트 반복 시 차이가 더 커진다.)
  3. 의존성이 늘어날 수록 성능과 스크립트 품질의 차이가 심해질 것이다.

참고 자료 : https://dev-coco.tistory.com/65

profile
개발 공부 중

0개의 댓글