카테고리 없음

이클립스 vs 인텔리제이 비교

hhenyy 2024. 2. 19. 13:24

안전성

  • Eclipse는 Plugin에 대한 호환성 인증을 별도로 하지 않기에 Plugin 설치시 의존성 및 버전문제로 충돌 문제가 종종 발생,
  • IntelliJ IDEA는 필수 Plugin들은 내장되어 있으며, 그 외 Plugin들에 대해서도 JetBrains에서 보증을 하기에 관련 문제 전무함
  • Eclipse는 Maven 관련하여 변경사항이 있을 때 다양한 오류들이 종종 발생하는데 소스 사이즈가 크면 클수록 해결하는데 시간이 제법 소요, 그 외에도 특정 상황에서 강제로 종료되거나 Freezing(멈춤) 현상이 종종 발생하는데
  • IntelliJ IDEA에서는 관련 현상 전무함
  • Eclipse도 OpenJDK를 지원하는데, NewPlatform 서비스를 11버전으로 구동시 JVM 충돌이 자주 발생함,
  • IntelliJ IDEA에서는 충돌 전무함

 

속도

  • IntelliJ IDEA는 소스 파일을 Indexing 해놓기 때문에 파일 및 내용 검색시 빠른 검색 가능
  • 지원되는 Code Assist(코드 자동완성)가 많은데, 속도가 상당히 빠름
  • 체감상 Eclipse보다 모든 면에서 빠름
  • 안정성, 속도, 편의성으로 생산성 증대

 

리팩토링

  • Code Assist(코드 자동완성)로 여러가지 다양한 방법 도출 가능
  • Code Inspection(코드 검증) 및 Refactoring 기능을 통해 Deprecated된 Method를 사전에 탐지할 수 있으며, 더 좋은 방법을 가이드해줌에 따라 코딩 실력 향상
  • 1년 3회 업데이트로 편의성도 지속적으로 향상되고 있고, 신기술에 대한 대응이 빠르기에 개발 최신 Trend를 접할 수 있음
  • 중복 코드를 검출할 수 있는 기능을 통해 소스 경량화 가능
  • 기본옵션으로 제공되는 소스 자동 저장을 통해 미연의 사태 방지 가능

 

정리하자면

이클립스보단 인텔리제이를 추천합니다.
인텔리제이의 장점을 정리하자면

1) 강력한 추천 기능(Smart Completion)
2) 훨씬 더 다양한 리팩토링과 디버깅 기능
3) 이클립스의 깃(Git)에 비해 훨씬 높은 자유도
4) 프로젝트 시작할 때 인덱싱을 하여 파일을 비롯한 자원들에 대한 빠른 검색 속도
4) HTML과 CSS, JS, XML에 대한 강력한 기능 지원
5) 자바, 스프링 부트 버전업에 맞춘 빠른 업데이트
6) 많은 단축기 기능

단순히 포트폴리오를 제작한다면 그냥 무료 버전인 Community를 설치하여 사용하여도 무방할 것 같습니다.
만약 실무에서 사용한다면 유료 버전인 Ultimate를 설치하여 사용하면 좋을 것 같습니다.

인텔리제이에는 이클립스의 워크스페이스와 같은 개념이 없습니다.
프로젝트와 모듈의 개념만 있습니다.

그래서 엔텔리제이를 실행할 때 모든 프로젝트를 한 번에 불러 올 수 없고, 오직 한 화면에서는 하나의 프로젝트만 열립니다.

 


출처

장단점

 

 

 

 

 

* 본 포스팅은 개인적인 주관이 많이 들어간 포스팅입니다.

 

* 인텔리J (IntelliJ)?

Java 진영의 개발툴(IDE) 에는 주로 3가지가 있습니다.

 

 

즉 Java 개발 툴(IDE) 중 하나인 프로그램입니다.

 

여기서 이클립스는 오래되기도 했고 불편하다면 주로 Plugins 형태로 제공이되기 때문에 많이 사용하는 것으로 알고있습니다.

인텔리J는 이클립스의 IDE의 장점과 Visual Studio (이하 VS) 의 장점을 잘 섞어논 IDE라고 생각합니다.

넷빈즈는 사용을 안해봐서 잘 모르겠습니다.

 

여담으로 이전에 C#을 공부하면서 친절한티스님을 팔로우를 하는데 작년에 이런 트윗을 하신적이 있습니다. 

저도 공감이 가는것이 이전에 대학시절 이클립스가 싫어 C 계열 개발자가 되겠다고 생각하기도 했습니다.

지금은 뭐... 이클립스도 이전에 비해 안정화가 되어 (저는 배울때 Eclipse Juno 로 시작했습니다. 그리고 2년뒤쯤 Luna 를 써보고 많이 나아져서) 크게 상관이 없다고 생각합니다.

 

 

 

* 이클립스와 비교했을때의 장점? (부제 : 제가 쓰는 이유)

첫째. 상당한 IDE의 안정성

이클립스를 사용하다보면 점점 프로그램이 무거워지고 특히나 플러그인 설치 충돌이 일어나거나 호환성에 문제가 간혹 발생하기도 합니다.

이클립스에서는 특정 에러에서는 프로젝트 클린으로 해결되는 경우가 있는데 이럴때 느껴지는 허무함은 2배 3배 상승합니다.

하지만 인텔리J를 개인 프로젝트로 사용을 했을때 위와같은 두 문제에 대해서는 일어나 본적이 없습니다.

 

둘째. Java 개발 퍼포먼스 상승

Java 개발을 보통 준비시간이 상당한 시간을 차지한다고 합니다. 하지만 인텔리 J에서는 편하게 VS처럼 단계별로 설정후 프로젝트를 거의 바로 시작해도 될만큼 초기 준비시간이 단축됩니다.

또한 이클립스에 비해 Code Assist가 안정적으로 느껴집니다. (이클립스는 처음 Ctrl + Space로 Code Assist 시 렉이 발생)

 

셋째. Plugin 지원

이클립스의 최대장점은 플러그인을 설치하여 편리하게 많은 확장이 가능합니다. 인텔리J에서도 동일하게 지원합니다. 제가 이것을 장점으로 둔 이유는 이클립스는 플러그인 조합도 신경써야하고 충돌이 일어날 가능성이 비교적 높은 편입니다. (최근에는 많이 줄었습니다.) 더구나 필요한 플러그인들만 있는 느낌에 설치를 해도 많이 느려지지 않는 것이 장점이라고 생각합니다.

 

* 이클립스와 비교했을때의 단점?

첫째. 프로젝트 기반의 워크스페이스 (다른 폴더구조)

부연설명을 하자면 한 IDE의 창에 한개의 프로젝트만 열리는 구조입니다. VS와 같은 구조입니다.

어찌보면 저는 처음 프로그래밍을 배웠을때 VS의 노예여서 그런지 크게 거부감은 없는편입니다. 하지만 웹 개발을 하면서 느낀것은 MVC 패턴을 프로젝트별로 나눌때 인텔리J에서는 정말 난감합니다. 어찌보면 Java에서는 이클립스를 많이 사용하다보니 나오는 형태인것 같기도 합니다.

 

둘째. 유료

지식산업(IT)을 먹고사는 사람이라면 불법보단 구매하시는 분들이 많이 있습니다. 가능한 한 저도 구입을 하고 불가능하다면 오픈소스를 사용합니다. 아직 취직이 안되어서 학생의 가호로 인텔리J를 사용하고 있습니다. 개인사용자로는 3년에 89달러이지만 기업용으로는 3년에 299달러 입니다. 그런데 회사에서 개인만 사용하기에는 라이센스도 잘 모르겠지만 무엇보다 3년에 10만원이라는 가치를 할까? 하면 조금은 의문입니다. 하지만 회사내 사원전체 인원이 사용한다면 가치는 있다라고 생각합니다.

 

조금은 오해의 소지가 있을 수는 있지만 제가 얘기하고싶은 것은 SI를 할때 통합적인 개발 빌드 환경을 꾸려 하게되는 것으로 알고있는데 다른 IDE로 일어나는 이슈도 있을것이라 판단하여 즉 완벽한 Eclipse와 호환은 아니기때문에 결국 최후에는 생산성이 비등하지 않나 싶습니다. 하지만 통합적으로 인텔리J를 쓴다면 확실히 효과는 있다고 생각해서 썼습니다.

 

셋째. 맛깔나는 오픈소스진영 연동 플러그인의 부재

제가 아직 인텔리J의 사용이 미숙해서 그런지 이클립스에서 제공하는 Mylyn Task 중 RedMine 이라든지 기타 아직 오픈소스로써의 발전을 하고있는 프로젝트의 경우 인텔리J 와의 플러그인 연동이 아직 많이 부족합니다. 위에서 장점으로도 썼지만 있다면 확실히 있지만 기술 사용 변화가 빠른 웹개발의 반응에는 간혹 늦어지고 있다고 생각이됩니다. 어떻게보면 유료 IDE다보니 사용자층이 Eclipse 에 비해 낮기때문이 아닌가 싶습니다.

 

* 마치며...

앞에서 3가지의 장단점을 비교후 종합하여 내린결론은 하나로 압축이 될 수 있습니다.

 

"개인 개발이라면 확실히 퍼포먼스를 내나 개인(나)만 사용하는 기업에서는 의문"

 

더불어 제 개인적인 생각은

 

"Java 개발 IDE 툴중 Visual Studio 와 견줄만한 놈입니다."

 

이상으로 포스팅을 마치도록 하겠습니다. 아마 시간이 될때 인텔리J 를 이클립스와 같이 쓰도록 하는 세팅 포스팅으로 돌아오도록 하겠습니다.