본문 바로가기

Home > 열린마당 > 공개SW 소식

공개SW 소식

리뷰 : 이클립스를 가려버리는 안드로이드 스튜디오

OSS 게시글 작성 시각 2013-05-28 16:47:38 게시글 조회수 4235

2013년 05월 27일 (월)

ⓒ ITWorld, Peter Wayner | InfoWorld



안드로이드 개발자의 일은 항상 단순명료했다. 이클립스를 다운로드해서 안드로이드 디벨로퍼 툴을 설치하면 끝이었다. 이들 도구는 알아서 여러 가지 일을 처리했으며, 대체로 이클립스 개발자들의 기대에 부응했다. 그러나 구글이 안드로이드 개발자들에게 한 단계 발전된 환경을 약속하는 새로운 통합 개발 환경인 안드로이드 스튜디오(Android Studio)를 들고 나오면서 상황은 바뀌었다.


“안드로이드 스튜디오”라는 브랜드를 달고 구글 서버에서 직접 배포하지만, 대부분의 자바 개발자들은 이 툴 키트가 열렬한 추종자들을 거느린 젯브레인(JetBrains) IDE인 인텔리J IDEA(IntelliJ IDEA)에서 파생된 버전임을 알아볼 수 있을 것이다.


필자는 순수 오픈소스 툴을 실행하는 것에 대한 장점을 구구절절 늘어놓지만, 인텔리J에 대해서라면 태도를 바꿀 개발자들을 여럿 알고 있다. 그 중 한 명은 많은 시간을 절약해 줄 뛰어난 도구에 699달러를 투자하길 아까워하는 필자의 ‘비전문가적 태도’를 비웃기까지 했다.


구글은 이클립스가 모두를 만족시키는 도구는 아니라는 점을 알고 있다. 구글은 안드로이드 개발에 맞춰 구성된 무료 버전의 인텔리J를 배포함으로써 일단의 열성적인 인텔리J 사용자들을 품에 안는 동시에 안드로이드 개발자들에게 쉽게 설치하고 사용할 수 있는 개발 환경을 제공한다. 또한 이 버전에는 다양한 부가 기능도 포함되어 있다. 하지만 가장 중요한 부분은 미래에 구현될 기능들이다.


더 똑똑한 안드로이드 IDE
안드로이드 스튜디오는 인텔리J의 커뮤니티 버전을 기반으로 하며, 여기에 시각적 측면과 분석적인 측면을 강화했다. 인텔리J 애호가들 상당수가 안드로이드 스튜디오의 정교한 편집기와 깔끔한 모양을 긍정적으로 평가하고 있다. 실제로 스튜디오는 빠르게 실행되고 응답성이 뛰어난 인터페이스를 제공한다. 다만 그 장점은 편집기에 국한된다.


필자의 6코어 데스크톱에서 안드로이드 시뮬레이터를 통해 안드로이드 앱을 실행해 봤더니 놀랍게도 2년 전에 출시된, 안드로이드 2.2가 탑재된 조그마한 스마트폰에서 실행할 때보다 훨씬 더 속도가 느렸다. 안드로이드 스튜디오는 시뮬레이터하고만 통합되므로 이 부분에 대해 불평하는 것은 엄밀히 말해 공정하다고 할 수는 없다. 어쨌든 안드로이드 가상 기기(Android Virtual Device)가 시작되기를 기다리는 동안 디버그 사이클은 일시 중지된다.


또한 이 IDE는 코드를 출시하기 전에 분석 및 보완하는 데 도움이 되는 심층적인 일련의 분석 도구를 제공한다. 예를 들어 안드로이드 API는 어떤 루틴이 널(null) 포인터를 반환할 수 있는지에 대한 구체적인 메타 정보를 제공한다. 개발자가 예외 점검을 깜박 잊더라도 안드로이드 스튜디오가 이 기능을 사용해서 잠재적인 버그를 눈에 잘 띄게 해준다.


깔끔해 보이는 코드를 넣어봤더니 스튜디오는 해당 코드를 한층 더 간결하고 빠르게 만들 수 있는 방법을 100가지 이상 금방 찾아냈다. 인텔리J 팀은 개발자가 편집기에 입력하는 코드를 분석하는 코드를 오랜 시간에 걸쳐 만들었고, 그 덕분에 개발자는 코드를 리팩터링해서 더 빠르게 만들 수가 있다.



안드로이드 스튜디오는 코드를 편집하고 분석하기 위한 풍부한 도구 집합을 제공하지만, 실행 시점이 되면 안드로이드 가상 기기에 제어 권한을 넘긴다.


안드로이드 스튜디오의 주요 기능 중 하나는 안드로이드 레이아웃을 디자인하기 위한 드래그 앤 드롭 도구들이다. 위젯을 끌어다 놓으면 스튜디오가 알아서 XML을 다듬어준다.


또한 다양한 크기의 6가지 기기를 즉시 디자인할 수 있는 유용한 기능도 있다. 레이아웃을 조정해가면서 넥서스 폰이나 태블릿에서 결과물이 어떻게 표시되는지 확인할 수 있다. 이 기능은 여러 가지 크기의 화면에 맞도록 앱을 디자인해야 하는 안드로이드 개발자에게 혁신적 기능이다.


안드로이드 스택은 위젯을 적절한 위치에 배치하는 데 있어 유용한 도우미 역할을 수행한다. 디버깅 사이클에서 가장 중요한 부분은 테스트다. 여러 가지 화면 구성에서 신속하게 디자인을 볼 수 있는 기능은 상당한 장점이다.


이클립스를 사용하다가 이 도구에 적응하려면 약간의 재학습이 필요하다. 일부 버튼의 위치도 다르고, 안드로이드 스튜디오는 최신 빌드 도구인 그레이들(Gradle)과 긴밀하게 통합된다. 아직 앤트(Ant)나 메이븐(Maven)을 고수하고 있다면, 모든 부분에서 조금씩 다른 혁신적인 소프트웨어 빌드 솔루션에 적응해야 한다. 파일 배열부터 언어에 이르기까지 모든 부분이 약간 변경됐다.


클라우드를 향한 미래
아직 준비가 완벽한 것은 아니다. 예를 들어 웹 페이지에는 그레이들을 통해 여러 빌드 변형을 더 쉽게 만들 수 있게 된다고 나와 있지만 어디까지나 미래의 일이다. 필자는 앱들이 갈수록 복잡해지고 있는 만큼 더 유연한 그레이들 빌드 시스템이 나온다면 좋겠다는 생각이다.


필자는 스튜디오를 테스트하면서 서로 거의 비슷한 코드 기반으로 시작해서 3가지 앱을 구축했다. 필자는 3가지 프로젝트를 사용했는데, 이는 이렇게 하는 편이 더 단순하기 때문이었다. 요즘 추세는 하나의 우산 아래에 점점 더 많은 프로젝트 부분들을 끌어 모으는 것이므로 이와 같은 작업이 앞으로는 더 보편화될 것이다.


그레이들은 때로는 “미니 언어”라고 불리는, 필요한 작업을 처리하는 데 꼭 필요한 만큼의 맞춤형 구조를 갖춘 영역별 언어를 향한 추세의 바로크적 실체화라고 할 수 있다. 여기서 그레이들은 그루비 DSL(Goovy DSL)이다. 이는 즉, 사고의 틀을 그루비 방식으로 고정했다가, 다시 바꿔 그레이들 방식으로 생각해야 함을 의미한다.


또 안드로이드 스튜디오를 깊이 들어가면 자바를 사용한다. 결국 서로 약간씩 다르지만 구조적으로 비슷한 3가지 언어의 관점에서 생각하고 코드를 작성해야 하는 것이다. 필자는 DSL의 기반 개념을 항상 긍정적으로 생각했지만 안드로이드 스튜디오에 이르면서 그 복잡성으로 인해 질리기 시작했다.


온전한 빌드 언어인 튜링(Turing)이 필요할 정도로 앱 구축이 복잡해진 상황에서 우리는 가장 뛰어난 최신 도구를 사용해야 할 것이고, 현재 그 도구는 아마 그레이들일 것이다. 그저 일관성을 유지하고자 그 모든 세미콜론을 기꺼이 타이핑할 사람은 아마 지치고 늙은 자바 일꾼뿐일 것이다. 좋은 소식은 허드슨(Hudson), 젠킨스(Jenkins)와 같은 클라우드 기반 도구들이 그레이들을 수용하고 있다는 점이다. 따라서 앞으로 그레이들을 사용하는 프로젝트가 증가할 것으로 기대할 수 있다.



안드로이드 스튜디오에서는 여러 가지 구글 디바이스에서 동시에 레이아웃을 볼 수 있다.


안드로이드 스튜디오에서 가장 흥미로운 부분은 앞으로 적용될 기능들이다. 웹 사이트에는 현재의 스튜디오를 “초기 액세스 프리뷰”로 지칭하는데, 이는 이제 별 효용이 없는 “베타”라는 단어를 대신하는 것으로 보인다.


필자는 몇 가지 기본적인 앱을 구축하면서 심각하다고 할 만한 문제를 전혀 겪지 않았지만 문서의 일부가 이클립스용 문서와 뒤섞인 경우를 몇 차례 발견했다. 조금 전까지 안드로이드 스튜디오에 대한 내용이 나오다가 어느새 이클립스에 대해 설명하는 식이다.


앞으로 적용될 기능들에 대한 소식은 웹 페이지 곳곳에서 볼 수 있다. 그레이들이 성장하면서 더 강력해지고 클라우드와 더 유기적으로 통합될 것임을 강조하는 내용들이다. 구글은 이미 안드로이드 퍼블리싱 환경에 더 많은 기능을 추가하는 방안에 대해 이야기하고 있다.


예를 들어 구글의 클라우드를 사용해서 신속하게 앱을 번역해서 즉시 해외 시장에 배포할 수 있게 된다. 안드로이드 스튜디오는 데스크톱에서 독보적인 존재가 되지는 않겠지만, 구글 클라우드를 통해 풍부한 지원을 받게 될 것이다.


이것은 안드로이드 스튜디오가 단순한 IDE를 벗어나 베타 테스터들이 코드에 쉽게 접근할 수 있고 모두가 조금 더 자유롭게 창작이 가능한 클라우드 기반 개발 생태계를 향한 포털로 변모될 것이라는 구글의 생각을 보여 주는 여러 가지 발표 중 하나일 뿐이다. 지금은 여전히 주로 데스크톱에 서식하는, 풍요롭고 정교한 IDE일 뿐이지만 앞으로 빠른 변화를 보여줄 것이다.




※ 본 내용은 한국IDG(주)(http://www.itworld.co.kr)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒITWORLD. 무단전재 및 재배포 금지


[원문출처 : http://www.itworld.co.kr/news/82027]

맨 위로
맨 위로