2015년 7월 27일 월요일

[Information] Ant VS Maven VS Gradle


Ant  VS  Maven  VS  Gradle



Ant
  • 자바로 구현됨, 자바 프로젝트 빌드에 적합
  • XML 파일(build.xml)을 사용하여 빌드 프로세스와 의존성 정의
  • 개발자가 임의로 Target 을 만들고 원하는 의존관계를 설정할 수 있음
  • 절차적, 무엇을 하고 언제 해야 할지를 정확히 알려줘야 함
  • 생명주기를 가지지 않음.
  • 프로젝트 소스폴더가 증가함에 따라 빌드파일의 구조를 파악하기 힘듦
  • 라이브러리들의 버전관리, 라이브러리가 섞임으로서 프로젝트에 문제가 될 수 있음



Maven
  • 빌드, 문서화, 리포팅, 라이브러리 관리, 배포 등의 지식을 축적하고 관리하는 아파치의 오픈 소스 빌드 툴
  • Ant 의 문제점이 배경이 됨
  • 구조를 강제화시킴
  • 유연한 Dependency 관리 및 체크
  • 테스팅, 실서버, 런타임, 컴파일 타임 등의 빌드 설정 가능
  • pom(Project Object Model).xml 파일을 만들고 디렉터리에 소스 파일을 넣으면 알아서 처리함
  • 지정된 규칙에 따라 코드를 위치시키면 컴파일, 패키징, 문서화 등의  나머지 작업들을 자동으로 수행



Gradle
  • 진화된 빌드툴로 빌드, 테스트, 배포, 개발 등을 자동화 할 수 있음
  • Ant 의 유연성 + Maven의 의존성 관리를 컨셉으로 한 Groovy 기반의 프로젝트 자동화 도구 
  • 다중 프로젝트 빌드 지원
  • Maven 과 Ivy를 지원함
  • XML 대신 Groovy  DSL을 통해 프로젝트 정의
  • migration의 편이성
  • 랭귀지 기반이라서 손쉽게 삽입, 수정 가능함 
  • 인기가 많고 직관성이 있음




참조

댓글 없음:

댓글 쓰기