> 그래들(Gradle)이란?

-. 빌드를 위한 도구

-. 구글이 그래들을 채택하면서 사용자 증가

 

  • 기존 빌드 시스템과 다른점

  1. 빌드 스크립트가 프로그래밍 언어의 모습을 하고있다.
    -. 자바와 같이 JVM 위에서 동작하는 groovy라는 언어로 작성하게 됨.

  2. 빌드 스크립트가 일률적이지 않다.
    -. DSL(Domain Specific Language:도메인 언어)라는 모습으로 server side의 그레이들 스크립트와 안드로이드를 위한 스크립트의 모습이 전혀 다름.

  3. 다수의 빌드 지원 파일로 구성
    -. settings.gradle / 프로젝트 수준의 build.gradle / 모듈 수준의 build.gradle / gradle.properties / local.properties
    -. 기존의 빌드 시스템인 ant는 build.xml 단일 파일로 구성

 

> 구글이 그레이들을 채택한 이유?

-. 모듈화 개발

-, one source multi APK 실현

-. 라이브러리 의존성 관리

 

 

> 단점

-. 느림

-. 많은 메모리 필요

-. 그레이들로 빌드를 하게 되면 build/폴더가 생기는데 빌드 중간의 생성물을 다량으로 File I/O를 시도 함.

 

 

> cf.Maven의 문제점

-. 프로젝트 구성/빌드 툴로써 프로젝트 구성은 정적인 설정 정보이고 빌드는 동적인 행위인데, 

정적인 데이터를 저장하는데 적합한 XML로 그 내용을 기술하게 함으로써 동적인 행위인 빌드에 큰 제약을 가함.

-. 멀티 프로젝트 구성을 상속 구조로 한 설계상의 문제. (그에 반해 Gradle은 구성 주입 방식(Configuration Injection:설정 주입 방식)을 사용) 

Maven을 사용하면 쓸데없이 설정이 길어지고 중복이 발생하며 가독성 매우 떨어짐.

 

 

> cf. 프레임 워크란?

-. 프레임워크는 라이브러리와 달리 애플리케이션의 틀과 구조를 결정할 뿐 아니라, 그 위에 개발된 개발자의 코드를 제어한다. 프레임워크는 구체적이며 확장 가능한 기반 코드를 가지고 있으며, 설계자가 의도하는 여러 디자인 패턴의 집합으로 구성되어 있다.

+ Recent posts