이일민 tobylee@gmail.com 2010-07-12 09:57:18  

 

자바의 IDE 역사는 그리 길지 않다. EJB가 한창 인기를 얻던 2000년대 초반만 해도 고급 자바 개발자들은 IDE를 기피하는 경향이 있었다. VI, Emacs 또는 윈도우의 텍스트 에디터와 같은 전통적인 텍스트 편집기로 코드를 작성하고 셀에서 동작하는 빌드 스크립트와 코드 생성 스크립트를 함께 사용하는 것이 실력있는 개발자의 상징처럼 보이던 때도 있었다. 당시의 IDE는 일반 개발자들은 구매하기도 힘들만큼 고가였고, IDE는 실력없는 초보자들이 사용하는 툴이라는 인식 때문에 널리 보급되기 힘들었다.

IntelliJ IDEA와 이클립스
고가의 IDE가 주류이던 시절에 등장한 IntelliJ IDEA는 대단히 혁신적인 IDE이었다. 일단 가격이 매우 저렴했다. 빌드와 코드 편집기능도 매우 뛰어났다. 다양한 툴의 지원과 참신한 IDE의 기능들로 인해 IntelliJ IDEA는 폭발적인 인기를 얻게 됐고 자바 개발자들 사이에 IDE가 널리 보급되는 데 큰 역할을 했다.

그러는 중 IBM의 주도로 이클립스란 오픈소스 IDE가 본격적으로 발전하기 시작했고 3.0에 이르러서는 성능과 기능면에서 기존 IDE 못잖은 수준에 이르렀다. 비용이 전혀 들지 않는 오픈소스인데다 확장 플러그인 구조가 뛰어나 다양한 오픈소스, 상용 플러그인들이 쏟아져 나오면서 이클립스는 기존 IDE들을 모두 누르고 90% 이상의 점유율을 확보하며 사실상의 표준 IDE로 자리잡았다. 

다양한 벤더의 지원과 이클립스를 기반으로 한 다양한 제품들이 나오면서 이클립스의 입지는 갈수록 높아졌고 기존의 상용 IDE들은 대부분 자리를 잃었다. 그러는 중에도 소수의 충실한 사용자층을 유지하고 있던 IDE가 바로 IntelliJ IDEA이다. 한번 IntelliJ IDEA를 사용하던 개발자들은 쉽게 IDE를 바꾸지 않고 계속 유지하는 경향이 있다. 

IntelliJ IDEA의 재반격 ? 오픈소스 커뮤니티 에디션 공개
이클립스가 자바 커뮤니티에 미친 많은 장점에도 불구하고 이클립스란 하나의 IDE가 독점적인 지위를 계속 가지고 감에 따라 개발 툴의 다양성이나 선택의 기회를 잃게 되는 부작용이 있었다. 그러던 중에 작년 가을 IntelliJ IDEA를 개발해오던 JetBrains에서 중대한 결단을 내렸다. IntelliJ IDEA를 오픈소스화 해서 커뮤니티 에디션으로 공개하는 것이었다.

IntelliJ IDEA의 주요 기능을 담은 커뮤니티 에디션을 아파치 2 라이선스로 공개하고 무료로 사용할 수 있도록 배포하는 결정이었다. Java EE와 고급 프레임워크 지원기능 일부는 상용 버전인 얼티밋 에디션에서만 제공된다. 일부 기능이 빠지긴 했지만 IntelliJ IDEA의 오픈소스 공개는 매우 긍정적인 결과를 가져올 것으로 기대된다.

IntelliJ IDEA의 강점은 기본적인 서드-파티 툴의 지원이 매우 강력하다는 것이다. 이클립스도 다양한 툴을 포섭하기는 하지만 그 속도가 매우 느리다. 3.6버전에서 겨우 옵션 패키지로 포함된 git지원기능이나 아직 정식 이클립스 배포판에 포함되지 않은 메이븐 지원 플러그인 등이 대표적인 예이다. 

IntelliJ IDEA는 메이븐을 이용한 프로젝트를 다루기에 가장 편리하고 강력한 툴이다. Git이나 TestNG, Subversion과 같은 개발자들이 자주 사용하는 툴을 기본적으로 내장하고 있다. 이클립스는 계층형 프로젝트 구조가 없다. 따라서 계층형 프로젝트 구조를 채택한 메이븐 프로젝트를 이클립스에서 다루려면 매우 불편하고 어색하다. 반면에 IntelliJ IDEA는 아무리 복잡한 메이븐 프로젝트도 깔끔하게 한번에 다룰 수 있게 해준다. 

최신 기술의 지원속도도 IntelliJ IDEA가 훨씬 빠르다. 커뮤니티 버전에는 모두 포함되어있지는 않지만 최신 Java EE 6의 일부 기술을 직접 지원하고 있고 스프링, 씸, 하이버네이트와 같은 유명 프레임워크를 기본적으로 지원한다.

IntelliJ IDEA의 또 한가지 장점은 그루비와 스칼라 같은 JVM에서 동작하는 대안 언어에 대한 지원기능이 뛰어나다는 점이다. 그루비와 스칼라의 지원 기능은 오픈소스인 커뮤니티 버전에서도 제공되고 있다.

이클립스가 독점하는 IDE구조에서는 아무래도 혁신적인 시도가 나오기 힘들다. 이클립스가 다양한 벤더와 커뮤니티를 포섭해서 하나의 방대한 생태계를 만들긴 했지만, 플러그인이나 전용 이클립스 배포판 정도 수준이지 기본 틀은 바뀌지 않는다. 이런 때에 IntelliJ IDEA의 오픈소스 공개는 매우 반가운 일이다. 

기존에도 IDEA의 플러그인 개발이 가능했지만 오픈소스로 공개된 만큼 오픈소스 커뮤니티를 통해서 더 많은 확장 플러그인이 나올 것으로 기대된다. 자바 개발자들도 다양한 툴을 선택할 수 있는 기회를 얻었다. 건전한 경쟁을 통해서 자바 IDE와 개발자 커뮤니티가 더욱 발전하게 되기를 기대한다.

 

http://www.imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&wr_id=35484&sselect=wr_subject&stext=오픈소스&soperator=1&srch_rows=10&srch_comment=1&srch_days=0