안드로이드 스튜디오
Android Studio.
개발자라면 이름에서도 눈치챌 수 있듯이 안드로이드 운영체제에서 구동되는 소프트웨어를 만들기 위한 통합개발환경. 하여간 비주얼 스튜디오 이후로 통합 개발 환경은 뻑하면 스튜디오다. 구글에서 무료로 제공하고 있고, 자바 통합 개발 환경으로 굉장히 높은 평가를 받고 있는 제트브레인 사의 인텔리J를 베이스로 하고 있다. 인텔리J는 돈 주고 사야 하는 개발 환경으로, 그럼에도 불구하고 유료 사용자가 많을 정도로 호평을 받고 있다.특히 리팩토링 기능이 뛰어난 이 IDE가 무료로 제공되는 셈이니 안드로이드 개발자로서는 희소식. 범용 자바 프로그래밍 자체가 가능은 하지만 빌드와 디버그와 같은 기능들이 철저하게 안드로이드 개발용으로 맞춰져 있기 때문에 범용 자바 개발 환경으로 쓰기는 사실상 불가능하다. 제트브레인이 미쳤냐 그럼. 이전까지 구글은 이클립스 기반의 ADT를 통합 개발 환경으로 제공해 왔지만 안드로이드 스튜디오를 내놓은 이후 ADT는 더 이상 지원하지 않는다.
빌드 및 의존성 관리를 위해서는 그래들을 사용하고 있다.
초기에는 온갖 심각한 버그 때문에 사용에 어려움이 많았지만 버전 업이 되면서 차차 안정화 되어 가고 있다. ADT도 더 이상 업그레이드 안 되고, 구글이 안드로이드 스튜디오를 열심히 밀고 있으므로 안드로이드 개발자들은 대부분 울며 겨자먹기로 이쪽으로 넘어가고 있는 추세다.
인텔리J의 안드로이드 특화 버전답게 코드 편집, 특히 리팩토링 기능이 뛰어나다. 이클립스의 성능도 좋지만 이쪽이 한수 위인 듯. 이 방면으로는 최강의 통합 개발 환경 중 하나로 손꼽히는 비주얼 스튜디오보다도 낫다. 사실 제트브레인은 비주얼 스튜디오의 느려터진 걸로 유명한 코드 작성 지원 및 리팩토링 도구인 리샤퍼(Resharper)를 만든 곳이다.
그런데 윈도우 8 이상 환경에서 디버깅을 위해서 안드로이드 에뮬레이터를 사용할 생각이라면[1] 비주얼 스튜디오용으로 제공되는 MS의 안드로이드 에뮬레이터를 쓰는 게 속도 면에서 더 좋다. 이쪽은 윈도우에서 지원하는 가상화 기술인 하이퍼-V를 사용하고 있으므로 구글에서 제공하는 에뮬레이터보다도 속도가 빠르다. 단 메모리를 많이 먹으므로 메모리가 넉넉한, 최소 8GB 이상인 곳에서 굴리는 게 좋다.[2] 에뮬레이터만 따로 설치한 다음 실행시켜 놓으면 USB에 연결된 실제 기기처럼 인식된다. 통합성이라는 면에서는 약간 떨어지지만 워낙에 속도가 깡패라...
안드로이드 스튜디오 3.0부터는 자바와 함께 코틀린도 공식 지원한다. 코틀린은 자바 가상머신 기반으로 100% 호환되는 언어인데, 게다가 코틀린을 만든 회사가 바로 제트브레인이다 보니 안드로이드 스튜디오에서도 수월하게 지원할 수 있다. 제트브레인 측에서는 이를 통해 코틀린의 사용 기반이 대폭 넓어질 것으로 기대하고 있다. 구글 쪽에서 봐도 자바가 계속해서 오라클과 골치아픈 소송전을 일으키는 원인이 되다 보니 심지어는 애플의 스위프트로 갈아탄다는 얘기가 나오기도 했는데, 코틀린 지원을 통해서 일단 JVM 체제에서 프로그래밍 언어 전환을 이룬 다음 코틀린의 구동 환경을 LLVM과 같은 체제로 바꾸는 식으로 오라클과 문제에서 벗어나는 것도 가능한 시나리오로 제시되고 있다. 알게 모르게 코틀린을 권장하는 분위기다. 다만 3.1 버전 기준으로 아직까지는 세세한 부분에서는 자바에 비해서 지원이 안 되는 기능들이 있다. 리팩토링이 살짝 잘 안 되는 문제라든가, 소스 코드에 붙인 주석으로 문서를 만들어내는 기능도 아직은 JavaDoc만 바로 지원하고 KotlinDoc은 자체 인터페이스로는 지원이 안 된다.