Skip to main content

[Android] GDG Gradle CodeLab 을 다녀와서...

연휴 첫날.. GDG Android 에서 Gradle CodeLab 을 한다는 이야기를 듣고.. 어제 급하게 신청했는데 다행이 참가 메일이 와서 참석하게 되었습니다.

Google I/O 13 이후로 Gradle 의 인기가 날로 높아져 가고 있습니다. 사실 그동안 Android 에서 외부 라이브러리를 사용하기 위해 Maven 을 대부분 사용하고 있었고, 기본적으로는 Ant 를 지원하고 있습니다.
하지만 둘다 사용하기는 쉽지않습니다. 더욱이 Android 개발도 버거운데 Build 를 위해 Ant 나 Maven 을 별도로 공부해야 한다는 부담감도 존재합니다.
그래서 처음 Gradle 을 새로운 빌드시스템으로 선택한다는 이야기를 들었을 때에도 그닥 반갑지는 않았습니다. 유명한 라이브러리들은 대부분  Maven 을 지원하고 있고, 또 새로운 빌드 시스템을 공부해야 한다는 생각이 들었던거죠.

하지만 오늘 CodeLab 을 다녀오면서 Gradle 은 배울만한 충분한 가치가 있다는 생각이 들었습니다.

1.발표 프리젠테이션

2. Github CodeLab Repo

Gradle 은 Groovy 를 기본 언어로 채택하고 있습니다. 따라서 Groovy 를 잘 알고 있다면 그만큼 효율성을 높일 수 있습니다.
하지만.. 오늘 CodeLab 만으로도 Android 개발에 필요한 기능들을 충분히 알아볼 수 있었습니다.

특히. Flavor 기능은 정말 유용했습니다.

대부분 현업에서 debug, release 용으로 빌드시, 빌드넘버나 기타 변경사항을 수정하고 하는 과정에서 실수하기 쉬운데, 이러한 것들을 미리 정의해 놓을 수 있다는 점은 정말 큰 장점 이였습니다.

또한, Manifest 에서 정의했던 versionName, versionCode 등을 build.gradle 에서 관리한다는 점도 새로웠습니다. Build Customization 을 통해 빌드를 위해 Manifest 를 수정하는 수고를 덜 수 있었습니다.

실습도 Gradle 기본 기능보다는 Android Build 시 실무에 바로 사용할 수 있는 기능 위주로 구성되어 정말 유익했습니다.

앞으로 Gradle 과 Android Studio 를 실무에 좀 더 접목시킬 수 있겠다는 생각 이 들었습니다.
다만 아직 까지도 Gradle Android Plugin 이 Gradle 최신 버전에서 버그가 있는것 같아 무조건 최신버전을 사용하긴 어려울 것으로 보입니다.

Comments

Popular posts from this blog

[Tip] Android Studio, Intellij 에서 Source Code Pro font 적용

예전에 코딩할 때 좋은 폰트 에 Source Code Pro 가 1등으로 선정된 것을 본 적이 있다. 그전까진 나눔고딕코딩 을 자주 썼는데, Source Code Pro 를 쓰면서 가독성이 좀더 향상된 것을 느낄 수 있어 요즘 주력 폰트로 사용 하고 있다. 그런데 Mac에서는(윈도우는 어떨지 모르겠지만...) Eclipse 나 Xcode 에서는  문제없는 이 폰트가 유독 Intellij 혹은 Android Studio 에서는 폰트 설정 시, 이탤릭체가 깨지는 문제가 발생하고 있다. 폰트 설치 후, Intellij 에 적용하면 아래와 같이 이텔릭 채 부분에서 깨지기 시작한다. 이같은 문제는 이미 Source Code Pro Github issue 에 등록되어 있는데, issue 에서 가이드 하는 수정방법은 다음과 같다. 먼저 Source Code Pro Font 를 다운받고, 설치하자. Source Code Pro Font 다운로드   그 후 아래 폴더로 이동하자. /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/fonts 위 경로에 Source Code Pro 의 TTF 에 포함되어 있던 폰트들을 모두 복사하여 붙여넣는다. 그리고 Intellij (혹은 Android Studio) 를 재부팅 후, 다시한번 폰트를 설정하러 들어가면 아래와같이 폰트들이 나타나는것을 확인 할 수 있다. 개인적으로 Medium 을 선호하기 때문에 Medium 을 선택. 그러면 아래처럼 정상적으로 출력됨을 확인할 수 있다.

[Android] Butter Knife Library(1)

Android UI 개발 시, 반드시 선언해 주어야 하는 구문 중 하나가 바로 findViewById 이다. 이는 View 를 선언할 때 반드시 필요한 구문이지만, 반복적으로 사용해야 하고, 메소드가 길어지는점, 특히, Adapter 에서 Holder pattern 과 같이 사용하게 되면 같은말을 두번해야 하는 번거로움 마저 느껴진다. 최근에는 이같은 반복적인 작업과 UI 선언 부의 노력을 줄이고, 코드에 좀 더 집중하기 편한 Library 들이 선보이고 있다. 그중에서도 눈의 띄는 Library 는 단연 AndroidAnnotations 과 지금부터 이야기 할 Butter Knife 이다. AndroidAnnotations logo AndroidAnnotations 은 지난 GDG mini conference 에서도 소개된 적이 있다. (사실 그때 처음 일았지만..) 당시에 Clean Code 라는 주제로 코드 분량을 줄이고, 실제 동작하는 로직에 좀 더 집중할 수 있도록 도와 주었다. 사실 , AndroidAnnotations 이 더 많은 기능을 제공하고 있지만, EActivity 사용시 _ 를 추가해야 한다는 점, 과거 intellij 에 적용시 몇몇 버그들이 발생 으로 인해 (현재는 해결됬을지도.) 프로젝트에 적용하기 쉽지 않았다. 그러던 중, 최근 가장 hot 한 Opensource 를 제공하고 있는 Square 팀의 JakeWharton 이 Butter Knife 를 Release 하였다. Butter Knife logo 현재 가장 최신 버전은 2.0.1 이고 계속해서 기능개선이 이루어 지고 있다. Butter Knife 는 아래와 같은 장점을 지니고 있다. 1. LightWeight Size 모바일 device 에서는 jar 하나 추가하는데도 많은 고민을 해야 한다. 안그래도 많은 기능들을 추가해야 되고, library 를 사용해야 하는데 이렇게 코드를 줄이기 위해서 많은 용량을 할애하기도 애매...

[GDG Seoul] OSS/Github 입문 CodeLab 후기

작년 이맘때 쯤, GDG Android Korea 에서 CodeLab 을 진행 했었는데, 올해는 GDG Seoul 에서 진행한 "OSS/Gitub 입문 CodeLab" 이란 타이틀로 CodeLab 을 진행하여 참가하게 되었다. git 이나 Github 를 처음 사용하는건 아니였지만, 거의 SVN 처럼 사용 해 온지라, "이참에 재대로 한번 배워보자!" 하는 맘이 컸고, 다른 분들은 어떻게 Github 를 사용하시는지도 궁금했다. CodeLab 은 크게 - OSS 에 대한 설명 및 Newbi 를 위한 Tutorial - Github 및 git 에 대한 Tutorial - CodeLab 순으로 진행 되었다. (딱히 순서에 이름이 없는것 같아서 임의로 붙였다.) 1. OSS 에 대한 설명 및 Newbi 를 위한 Tutorial (뉴비X 님) ( 슬라이드 링크 ) OSS (Open Source Software) 에 대한 간략한 소개와 Linux Kernel 를 예로 Contribute 하는 방법에 대한 이야기를 들을 수 있었다. Android 의 경우만 해도 여러 open source library 의 도움으로 좀더 편하고 쉽게 App 개발을 진행 할 수 가 있는데, 사용하면서 개선한 사항에 대해서 내가 코드에 기여할 수 있겠다. 라는 생각이 많이 들었다. 특히 Newbi 를 위한 주의해야 할 사항이 인상깊었는데, 간단하게 요약 하자면, - coding Style - You are just a newbi here - start from jab  ( 작은 것 부터 시작하자.. 조그마한 작업부터, 혹은 리뷰…) - commit log style - summarized title on First Line - just \n on Second Line - Detailed log after 3rd Line 이정도가 아닐까 싶다. 특히, 의욕이 너무 지나쳐서 너무 많은 것을 커밋...