Skip to main content

[Android] Gradle, Groovy Books

최근 AndroidAndroid Studio 라는 통합 개발툴과 함께 새로운 빌드 시스템을 공개 했다.

그동안 Android 의 유명한 Opensource Library 는 대부분 Maven 을 기반으로 배포되고 있었는데 Android 가 채택한 빌드툴은 바로 Gradle 이다.

Gradle Logo
figure 1. Gradle Logo
Gradle 은 Java 진영에서 Maven 이후 주목받고 있는 차세대 빌드툴 이다.
Ant 와 Maven 의 장점과 함께 더 발전된 기능들을 제공하고 있고,  Groovy 라는 언어를 기반으로 동작 한다고 한다.

나 역시 Maven 까지는 어깨너머로 본 기억이 있지만, Gradle 은 정말 처음인지라 Android 를 하는데 이런것 까지 해야되나 라는 생각이 들기도 한다.

하지만, Android 의 성장과정을 생각해 보면 이러한 빌드툴은 반드시 필요하긴 하다.

최근 Android Project 는 단일 Project 로 진행 되는 경우가 거의 없을 정도로 다양한 Opensource 및 Libraries 를 포함하고 있다.

단순히 Eclipse 에서 Compile 로 Device 에 App 을 올리기에는 덩치가 너무 커지고 있고, 기본이 되는 Build Tool 이 없기 때문에 Ant 나 Maven 등 기존 Java 진영에서 많이 사용하고 있는 여러 Builde Tool 들이 사용되다 보니 개발자 입장에서는 여러 Library 를 사용할때 어려운 점에 봉착 하기도 하기 때문이다.

그런데 이 Gradle 를 공부하기 위해서는 Groovy 라는 언어에 대한 이해가 먼저 선행 되어야 한단다.

figure 2. Groovy Logo
Groovy 가 Java 기반의 언어라고는 하지만 Android 하나 하기도 벅찬데 Build 를 위해 새로운 언어를 공부해야 된다는 점은 부담으로 작용된다.

더욱이 우리나라에 Groovy 번역 도서는 달랑 한권. Gradle 관련 도서는 전무한 상태이다.
그마나 Groovy 와 Gradle 를 자세히 정리한 블로그가 있고, Groovy Korea 가 있어 여러 정보를 얻을 수 있을 것 같다.

당연한 이야기지만 위 사이트들은 Android 에 한정된 이야기만을 하는 사이트 들이 아니다.
나처럼 Android 개발을 위해 Groovy 와 Gradle  에 접근한 사람들에게는 그 내용이 방대하고 어디서부터 시작해야 할지 난감할 것이다.

그래서 오늘부터 Android 개발을 위해 Groovy 와 Gradle 를 공부해 볼 생각이다.
일단은 Groovy 기본을 좀 보면서 Gradle 을 사용할 수 있는 기초를 닦은 후, Android Project 에 적용해보도록 해야겠다.

전쟁에 나가기 전에 준비를 철저이 하듯이, 새로운 언어에 적응하기 위해 책을 구입하고 말았다.

바로 Groovy in Action( 한국판: 프로그래밍 그루비) 와 Building and Testing with Gradle  이다.
figure 3. Groovy in Action
2009 년에 나온 번역서라 시대에 좀 뒤쳐지지 않을까 생각이 들기도 하지만, 엄청 유명한 도서 인데다, 그리고.. 번역서라곤 이거 한권 뿐이다.

figure 4. Building and Testing with Gradle
게다가 Gradle 는 번역서도 없다. 때문에 원서 pdf 를 통해 공부해야 할 판이다. 한글로 써 있어도 어려운 판국에.. 원서라니 .. 하지만 별다른 수가 없으니.. 어서빨리 번역서가 나왔으면 좋겠다..ㅠ

앞으로 계획도 좀 잘 세워서 하나하나 차근차근 배워 나가도록 해야겠다.
한편으로는 새로운 빌드툴을 공부한다는 생각에 의욕이 100%!

Comments

Popular posts from this blog

[리뷰] 스위프트 프로그래밍

스위프트 3 가 발표된 이후로 국내에도 스위프트 3 내용을 다루는 책들이 하나둘씩 출간되고 있습니다. 그리고 지금부터 이야기할 <스위프트 프로그래밍> 역시 그중 한 권입니다. 이 책은 기존에 있던 책들과는 달리 iPhone이나 Mac App 개발에 필요한 내용을 다루지는 않습니다. 개인적으로는 이러한 점 때문에 스위프트란 언어 자체에 좀 더 집중할 수 있었습니다. 책은 크게 다섯 개의 파트로 구성되어 있으며 각 파트별 목차는 다음과 같습니다. Part Ⅰ 스위프트 기초 1. 스위프트 2. 스위프트 처음 시작하기 3. 데이터 타입 기본 4. 데이터 타입 고급 5. 연산자 6. 흐름 제어 7. 함수 8. 옵셔널 Part Ⅱ 객체지향 프로그래밍과 스위프트 9. 구조체와 클래스 10. 프로퍼티와 메서드 11. 인스턴스 생성 및 소멸 12. 접근제어 Part Ⅲ 함수형 프로그래밍과 스위프트 13. 클로저 14. 옵셔널 체이닝과 빠른종료 15. 맵, 필터, 리듀스 16. 모나드 Part Ⅳ 확장 17. 서브스크립트 18. 상속 19. 타입캐스팅 20. 프로토콜 21. 익스텐션 22. 제네릭 23. 프로토콜 지향 프로그래밍 Part Ⅴ 스위프트 고급 24. 타입 중첩 25. 패턴 26. where 절 27. ARC 28. 오류처리 Part1, 2  까지는 스위프트 언어에 대한 기본적이고 전반적인 내용을 설명합니다. 스위프트를 처음 배우는 독자뿐만 아니라 스위프트를 조금 공부해 본 독자에게도 유용한 내용이 많았습니다. 특히, 스위프트 언어를 사용하는 데 있어 지켰으면 하는 규칙을 반복적으로 설명함으로써 자연스럽게 그러한 규칙이 손에 익히도록 한 점이 좋았습니다. 다만 중간중간 난이도가 갑자기 높아지는 부분이 있어 초심자에게는 책 앞부분에서 조금 힘들 수도 있겠다는 생각이 들었습니다. Part3  는 아마도 이 책에서 가장 ...

[리뷰] 러스트 핵심 노트

C 와 C++ 의 성능을 보이면서 동시성 문제를 좀 더 쉽게 처리할 수 있는 언어에 대한 소개가 종종 이루어 지곤 하는데 최근까지 이러한 분야에서 가장 두드러진 활약을 보이는 언어를 꼽으라면 단연 Go 와 러스트 를 꼽을 수 있을 것입니다.  [러스트 핵심 노트] 는 예제를 통해 제목 그대로 러스트의 핵심 부분을 설명하면서 러스트란 언어란 이런 언어다 라고 소개하고 있습니다. [러스트 핵심 노트] 는 언어 입문서에 가깝기 때문에 러스트 언어를 세세하게 설명하지는 않습니다. 그러나 러스트가 가지고 있는 특징들을 잘 설명하고 있어 새로운 언어가 나와서 흥미를 느끼시는 분들이 가볍게 읽을 수 있는 책이라 생각 됩니다. 다만 중간 중간 오타가 눈에 띄기 때문에 (원서도 같은 오류가 있었습니다.)  추가적으로 검색을 해 보거나 한빛 미디어 사이트에서 오탈자를 반드시 확인할것을 추천 드립니다. (http://www.hanbit.co.kr/realtime/books/book_view.html?p_code=E2088508957) 책 분량은 많은 편은 아니지만 내용은 절대 가볍지는 않습니다. 앞에서 이야기 했듯이 러스트를 빠르게 살펴본 다음 토이프로젝트를 하고자 하시는 분께는 좋은 시작점이 될 것입니다.

[Android] DialPad 자동완성 기능

Android 4.3 에 추가된 기능 중 "다이얼 패드 자동완성" 기능이 란 것이 있다. 말 그대로 Dialpad 에서 전화번호 입력시, 해당 번호를 먼저 검색해서 화면에 노출 시키는 기능이다. 그런데 4.3 으로 업데이트 했음에도 불구하도 번호 입력시 자동검색이 이루어지지 않는다. 확인결과 기본적으로 해당 기능이 ON 으로 세팅되어 있지 않기 때문.. 해당 기능을 설정하기 위해서는 dialer -> option menu(설정) -> 통화설정 화면에서 "다이얼패드 자동완성" 체크. 그런데 앞자리 수 부터 차례대로 입력해야 검색 해 주는것은 좀... end.