이번에 진행할 DSMP 프로젝트에서 IDE로 Intelli J를 사용하여 spring boot 개발을 진행 하기로 결정했다. 나는 이전에 STS4 IDE를 통해 한번 spring boot 개발을 진행한 적이 있는데 프로젝트 시작전에 왜 이클립스나 STS4와 같은 IDE를 사용하지 않고 Intelli J를 사용했는지 장단점을 간단히 비교하여 그 이유를 찾아보았다.
역사가 오래되어 잘 작성된 문서, 수 많은 플러그인들이 존재하며 가장 대중적으로 사용되고 있는 IDE이다. 가장 큰 강점은 아마 무료라는 것. 웹, 모바일, 데스크탑, 엔터프라이즈, 엠베디드 시스템 어플리케이션 개발등에 사용되며 Eclipse 는 자바(JAVA)로 개발되어 있어 윈도우즈, 리눅스, 맥OS 등 대부분의 OS를 지원한다(JVM의 특성).
- 무료다!
- 여러 프로젝트를 동시에 관리할 수 있다.
- 다른 IDE 툴들에 비해 느림, 하지만 하드웨어의 비약적인 발달로 인해 엄청많이 차이가 나지는 않음.
- 자바로 만들어져서 자바가상머신(JVM) 위에서 실행되므로 다른 IDE에 비교해서 속도가 느리다.
- 지속적인 패치에도 불구하고 자잘한 버그들이 있음
- C/C++, PHP, Rust, Groovy, Scala, Python 등 다양한 언어를 지향한다고 되어 있지만 JAVA를 제외한 언어는 개발하기 불편
- 개발의 질을 한층 높여줄수 있는 플러그인을 간편하게 설치할 수 있음
- 직관적이고 예쁜 UI
- 우수한 스마트 코드 작성 기능들 덕분에 개발자의 생산성을 대폭 높여준다.
- 자동완성(auto completion), 소스코드분석, 지능형리펙토링, 디버거, 테스트러너 기능이 이클립스와 비교하여 우수하다.
- 형상관리를 git으로 하고있다면 이클립스에 비해 intelliJ가 편하다.
- 프로젝트 시작할 때 인덱싱을 하여 파일을 비롯한 자원들에 대한 빠른 검색 속도
- 단축키, 툴적응에 약간의 시간이 필요하다
- eclipse로 주로 이루어지는 프로젝트 개발환경과 구조와 맞지 않는 경우 존재
- 유료
기능이 제한된 무료 버전(커뮤니티 버전)이 있지만, 유료인 Ultimate 버전을 사용해야 인텔리제이의 장점을 살릴 수 있다
이클립스는 여러 프로젝트를 한 윈도우에서 모두 볼 수 있고,
인텔리제이는 한 프로젝트만 한 윈도우에서 볼 수 있다.
인텔리제이는 여러 프로젝트를 열려면 여러 윈도우로 열어야 한다.
(인텔리제이는 프로젝트 기반의 워크스페이스로 한 IDE의 창에 한개의 프로젝트만 열리는 구조이기 때문)
웹 개발을 MVC 패턴을 프로젝트별로 나누는 경우는 이클립스가 더 효율적일 것이다. 그러나 여러 프로젝트를 열어놓다 보면 점점 프로그램이 무거워지고 플러그인 설치 충돌이 일어나거나 호환성에 문제가 발생하기도 한다. 이클립스에서도 워크스페이스에 꼭 필요한 최소의 프로젝트만 넣는것을 추천한다고 한다.
더 자세한 정보를 원한다면 출처 자료를 통해 확인 가능하다.