Maven과 Gradle의 차이

박세건·2023년 5월 21일
0

평소에는 spring initializr에서 고정적으로 Gradle을 사용하다가 문득 둘다 빌드 관리 도구인것은 알지만 Maven과의 차이가 정확히 무엇인지 궁금해서 작성하게 되었다

먼저 Maven이란,

프로젝트를 진행하게되면 많은 라이브러리들을 사용해서 개발을 하게된다.
이 때, 사용하는 라이브러리의 개수가 많아서 관리하기 힘들어지는 상황이 발생한다.
이러한 문제를 해결해주는 도구가 Maven 이다.

Maven은 나에게 필요한 라이브러리 뿐만 아니라 라이브러리가 작동하는데 필요한 또 다른 라이브러리들까지 네트워크를 통해 자동으로 다운 받아준다.
또한, Maven은 프로젝트의 전체적인 라이프사이클을 관리해주는 도구이다. 이전에는 Ant가 많이 사용되었고 지금은 Maven을 더 많은 개발자들이 사용하고 앞으로는 Gradle이라는 도구가 많이 사용될것같다.

하지만 큰 단점이있다.

정적인 데이터를 저장하는데 적합한 XML로 동적인 행위는 빌드를 나타내기에는 큰 제약을 가한다는 것이다.
또한 구성을 상속 구조를 사용해서 쓸데없이 설정이 길어지고 중복이 발생하며 가독성도 매우 떨어진다.

Gradle이란,

빌드 배포 도구이다. 일반적으로 안드로이드 앱을 만들때 필요한 공식 빌드시스템이며 JAVA,C/C++, Python을 지원한다.
빌드툴인 그루비 스크립트를 기반으로 구축되어 Ant의 역할과 배포 스크립트의 기능을 모두 사용가능하다.

Maven의 경우는 XML로 라이브러리를 정의하고 활용하지만, Gradle의 경우 별도의 빌드스크립트를 통하여 사용할 어플리케이션 버전, 라이브러리등의 항목을 설정할 수 있다.
스크립트 언어 구성되어 있기때문에 XML과 달리 다양한 로직이 구현가능 하다는 것이 장점이다.

결과적으로,

Maven에는 Gadle과 비교문서가 없지만, Gradle에는 비교문서가 있다.
그만큼 Gradle이 자신있는 모습이다.
Gradle이 시기적으로 늦게 나온만큼 사용성, 성능 등 비교적 뛰어난 스펙을 가지고 있다.
Gradle은 메이븐보다 최대 100배 빠르다. 라는 말도 있다.

장기적으로 봤을때 개발자를 더 이롭게 만들어주는 도구는 Gradle이라고 소개되어있다!
Gradle을 공부하자!!

출처
출처

profile
멋있는 사람 - 일단 하자

0개의 댓글