본문 바로가기
public void static main()/Etc

[Gradle] Gradle은 무엇일까나

by 햄리뮤 2021. 5. 5.
반응형

대표사진쓰려고 가져옴 [출처] https://www.jrebel.com/blog/what-is-gradle

Gradle은 무엇이고 왜쓰고 어떻게 쓰고 뭐가 좋은것인지 궁금해서 한번 찾아보아따!

근데 찾다보니까 한 블로에서 내가 궁금해했던 대부분의 것들을 정리해주셔서...

[출처] madplay.github.io/post/what-is-gradle

 

Gradle이란 무엇일까?

그루비(Grrovy)를 기반으로 한 빌드 자동화, 개발 지원에 중점을 둔 빌드 도구인 그래들(Gradle)에 대해서 알아보자

madplay.github.io

걍 거의 다 가져온 수준이여서 앞뒤로 출처를 밝힙니다!!!!!

Gradle이 궁금하신분은 "오늘도 MadPlay"님의 블로그 들어가셔서 보시는걸 강추 드립니다! 정리천재!

 

 

Gradle은 무엇인가?

- Ant와 Maven과 같은 이전 세대 빌드 도구의 단점을 보완하고 장점을 취합한 굉장해 엄청나의 오픈소스로 공개된 빌드 도구!!

 

Ant가 뭔지 몰라서 밑에 바로 설명 해주셨길래 가져옴!

 

Ant

  • XML 기반으로 빌드 스크립트를 작성한다.
  • 자유롭게 빌드 단위를 지정할 수 있다.
  • 간단하고 사용하기 쉽다.
  • 유연하지만 프로젝트가 방대해지는 경우 스크립트 관리나 빌드 과정이 복잡해진다.
  • 생명주기(Lifecycle)을 갖지 않아 각각의 결과물에 대한 의존관계 등을 정의해야 한다.

라고 정리해주심! 

 

Maven

  • XML 기반으로 작성한다.
  • 생명주기(Lifecycle)와 프로젝트 객체 모델(POM, Project Object Model)이란 개념이 도입됐다.
  • Ant의 장황한 빌드 스크립트를 개선했다.
  • pom.xml에 필요한 라이브러리를 선언하면 자동으로 해당 프로젝트로 불러와 편리하다.
  • 상대적으로 학습 장벽이 높다.
  • 라이브러리가 서로 의존하는 경우 복잡해질 수 있다.

와우 그렇구나

아근데 너무 정리를 잘해주셔서 그냥 읽으면서  내용 다 가져오는 거자나....!!! 

 

Gradle의 특징

빌드 스크립트를 XML 언어가 아닌 JVM에서 동작하는 스크립트 언어 'Groovy' 기반의 DSL(Domain Specific Language)를 사용함!

 

Groovy는 자바 문법과 유사하며 자바 개발자가 쉽게 익힐 수 있는 장점이 있으며 Gradle Wrapper를 이용하면 Gradle이 설치되지 않은 시스템에서도 프로젝트를 빌드할 수 있음!

심지어 Maven의 pom.xml을 Gradle용으로 변환할수 있다고??? 대박이자나?

Maven의 중앙 저장소도 지원하기때문에 라이브러리를 모두 그대로 가져다 사용할 수 있다.

 

와 최고의 선배님 변환 지원 라이브러리 호우! 자바를 찢어놓으셨다.

 

build.gradle

build.gradle 파일은 스크립트라고 하고 밀히 말하면 빌드 구성 스크립트(Build Configuration Script)라고 한단다와다다!

의존성이나 플로그인 설정등과 같은 빌드에 필요한 설정을 하게 된다.

 

어후 일단 이거만 알자 Gradle뭐 엄청 많아보여....

오늘도 이렇게 알찬 내용을 공유해주신 파워지식인 블로거님분들 굉장해 엄청나게 감사드립니다!

 

 

[출처] madplay.github.io/post/what-is-gradle

 

Gradle이란 무엇일까?

그루비(Grrovy)를 기반으로 한 빌드 자동화, 개발 지원에 중점을 둔 빌드 도구인 그래들(Gradle)에 대해서 알아보자

madplay.github.io

 

 

 

** 그냥 하루하루 개인 공부한 것을 끄적 거리는 공간입니다.

이곳 저곳에서 구글링한 것과 강의들은

내용이 정리가 되었습니다.

그림들은 그림밑에 출저표시를 해놓았습니다.

문제가 될시 말씀해주시면 해당 부분은 삭제 하도록하겠습니다. **

반응형

'public void static main() > Etc' 카테고리의 다른 글

[OS] 메모리 영역  (0) 2022.02.01
[Swagger] 스웩! 췤!  (0) 2022.01.29
[Redis] Redis란?  (0) 2021.11.18
[npm] npm이란  (0) 2021.05.05
[Network] HttpURLConnection 와 URL class  (0) 2021.01.08

댓글