JAVA 개발 도구 중에 IntelliJ IDEA, NetBeans 등이 있지만, 그중 빠질 수 없는 Eclipse에 대해서 알아보겠습니다.
Eclipse란?
2001년부터 개발이 시작된 유구한 역사를 자랑하는 프로그램. 원래는 IBM의 IBM VisualAge용 소프트웨어 개발 툴로서 만들어졌으나, 제작 도중 방향이 바뀌어서 관련 소스 등을 모조리 공개하는 자유 소프트웨어가 되었고, 이를 '이클립스'란 이름하에 2001년 세상에 선보인 것이 이클립스의 시작이다. 2019년 9월 현재 최신 버전은 4.12로 2019-06 버전으로도 불린다.
Mars 버전까지는 매년 2회(2월 9월)에 업데이트를 진행하였고 Photon까지는 매년 6월 대규모 업데이트가 진행되고 9월, 2월, 3월에 추가 업데이트가 진행되었다. 2018-09 버전부터는 대규모 업데이트와 추가 3회 업데이트 제도를 폐기하고 13주마다 새로운 업데이트를 출시하고 있다.
출처 : 나무위키(http://bitly.kr/4tOvHU6o)
현재 시점으로는 'Eclipse IDE 2019-12(4.13)' 버전까지 나와있습니다.(M1, M2, M3, RC1, R)
Eclipse 장점
Windows, macOS, 리눅스 중 어디서든 자유롭게 이용 및 수정, 재배포가 가능하다. 여담으로 macOS용은 환경변수 설정 없이 자바 세팅이 가능한데, 이는 레지스트리에 의존하지 않는 유닉스 계열 OS들의 특징이다. 심지어 자바 런타임도 설치하면 그 즉시 컴파일러까지 동봉되기 때문에 그냥 자바를 설치하고 터미널(OS X의 콘솔)에 javac를 입력하면 바로 작동한다.
운영체제의 제한 없이 어디서든 사용이 가능하다 보니 다양한 플랫폼의 소프트웨어 개발에 쓰일 수 있다. 다만 정말 아무 프로그램이나 다 만들어내는 것은 아니다. (결정적으로 애플의 소프트웨어는 만들 수 없다.) 삼성전자의 웨이브 폰에 쓰였던 OS 바다와 타이젠의 애플리케이션 개발 툴 역시 이클립스 기반이다.
또한 오랜 기간 여러 언어를 거쳐서 개발할 수 있게 만들어져서 어떤 언어를 선택해도 중박은 간다는 장점이 있다. 즉 입문할 때 이클립스를 썼다면 다른 언어를 사용할 시 이클립스를 계속 써도 될 정도라는 것이다. 특히 PHP나 Python의 경우 이클립스를 계속해서 쓰는 경우도 있다.
그리고 이클립스만의 독보적인 장점이라면 여러 프로젝트를 동시에 열 수 있는 몇 안 되는 IDE 중 하나라는 것이다. 가령 소규모 프로젝트로 안드로이드(Java)와 라즈베리 파이(Python), 서버(Node.js)를 동시에 개발하고 관리해야 할 일이 필요하다면 일반적인 경우 Android Studio, PyCharm, WebStorm과 같은 IDE를 동시에 켜 가며 작업해야 하는데 이클립스는 하나만 켜 두면 된다. 비주얼 스튜디오나 Xcode도 여러 언어를 지원하지만 이들은 프로젝트를 여러 개를 동시에 띄워 둘 수 없고 창을 여러 개 띄워서 스왑 하는 형식으로 사용해야 한다.
출처 : 나무위키(http://bitly.kr/4tOvHU6o)
자유 소프트웨어, 다양한 OS 지원, 다양한 언어 지원, 여러 프로젝트 동시 열람 가능이 장점으로 꼽혔습니다.
Eclipse 단점
이클립스는 여러 가지를 할 수 있다는 점에서 매우 매력적인 IDE임에는 틀림없다. 여러 프로젝트를 동시에 관리할 수 있게 해주는 IDE는 유명한 네임드 중에서는 이클립스 말고는 없고 또한 여러 언어를 동시에 작업해야 한다면 이클립스만큼 좋은 게 없다.
그러나 이클립스가 다른 IDE보다 사용자에게 매력적으로 다가오기 위해선, 먼저 사용자가 이클립스에 대해서 매우 잘 알아야 한다. 이클립스는 순정 그 상태일 때는 어떤 언어의 어떤 기능으로 승부를 봐도 다른 IDE를 이길 수 없다. 가령 Java에서 이클립스의 위상은 상당하지만 커스터마이징을 거치지 않은 이클립스 그 상태로의 기능은 넷빈즈나 IntelliJ IDEA에 한참 못 미친다. 주 언어인 Java가 이 모양이니 다른 언어는 말할 것도 없다. 즉 진입장벽이 생각보다 있다는 것이다. 이클립스의 온전한 기능을 다 끌어 쓰기 위해서는 기본적으로 설정되어 있지 않은 각종 옵션 세팅과 사용되지 않은 키맵, 그리고 유용한 여러 가지 오픈 소스 플러그인을 모두 다 깔아야지 이클립스 본연의 막강함이 나오는 것이다. 그래서 생각과는 달리 초보자들에게는 전혀 좋은 툴이 아니다.
또한 전반적으로 다른 IDE에 비해서 최적화가 제대로 안돼서 심각하게 느린 편이다. 비주얼 스튜디오나 Xcode처럼 각 운영체제에 특화된 IDE와 비교해서 느린 건 어쩔 수 없다 쳐도 마찬가지로 크로스 플랫폼을 지원하는 JetBrains의 IDE 시리즈들이나 기타 유명 IDE보다도 많이 느린 편이다. 이는 이클립스의 목적이 순수 한 가지 언어에 특화된 IDE를 만드는 게 목적이 아니며 넓은 폭의 IDE를 만드는게 목적이기에 어쩔 수 없는 면이 있긴 하지만 그래도 느린 반응성에 잔 버그들과 싸우다 보면 한숨만 나오는 건 사실이다. 게다가 일반적인 사용자들은 저 수많은 기능들을 모두 써 가면서 사용할 일이 별로 없고, 각 언어에 특화된 기능만을 사용하고 싶어 하는 것인데 이클립스는 그런 부분에서 시대에 많이 뒤처져 있다.
오픈 소스 소프트웨어에서 흔히 일어나는 일이지만, 중요도가 낮다고 여겨지는 것들은 수정이 늦거나 아예 고쳐지지 않기도 한다. 대표적으로 label 들여 쓰기에 대한 옵션이 없다는 것은 10년 가까이 지적되고 있는데도 여전히 수정되지 않고 있다. 자동완성 기능도 영 불편한 점이 많은데, Auto activation trigger의 기본값은 마침표(.) 하나밖에 없다. 비주얼 스튜디오처럼 자동완성 리스트가 텍스트 타이핑 도중에도 나타나게 하려면 알파벳 a~z, A~Z를 추가하면 되지만, 단순히 공백을 만들기 위해 스페이스바를 눌러도 자동완성으로 인식이 되어 실수로 의도치 않은 텍스트가 입력돼버리곤 한다. 해외에서도 이 스페이스바 자동완성 인식이 불편하다며 문제를 제기했으나 오랫동안 방치된 상태.
그리고 주전공이라 할 수 있는 Java 개발 환경이 매우 강력하긴 하지만 그 외 언어의 플러그인들은 방치 플레이를 당하는 경향도 있다. 가령 C언어 개발용 플러그인 CDT의 경우, 리눅스에서 기본적으로 쓰이는 C 개발 환경[7]보다 약간 나은 수준이라는 평이다.(...)
한때는 안드로이드 앱을 제작할 때 사용하는 독보적인 툴의 위치에 있었으나 구글에서 안드로이드 스튜디오를 본격 배포한 이후로는 지원 면에서 여러모로 밀리고 있다. 현재는 안드로이드 ADT 플러그인의 지원은 완전 종료. 하지만 이클립스에서 지원하는 Andmore라는 플러그인으로 여전히 안드로이드 앱 개발은 가능하다.
이 외에도 최근 버전인 Photon버전에서 이전 버전인 Oxygen보다 Error Reporting이 많이 뜨는 등 불안정한 모습을 보인다. 개선 판을 계속 내놓고 있으므로 지켜봐야 할 일인 듯하다.
출처 : 나무위키(http://bitly.kr/4tOvHU6o)
장점이 가려질 정도로 단점도 상당히 많다고 하는데요.
높은 진입장벽, 최적화 문제로 인한 느린 속도, 오류 개선 미흡, JAVA 외 언어 플러그인 미흡 등이 단점으로 꼽히고 있습니다.
장·단점이 많은 소프트웨어이지만 앞으로 해당 툴(Eclipse)을 가지고 개발환경설정을 진행하고, JAVA 개발에 대해 포스팅을 진행해보겠습니다.
여기까지 읽어주셔서 감사합니다!
'일상' 카테고리의 다른 글
Eclipse(2019-12) 설치 방법 (0) | 2020.01.13 |
---|---|
자궁경부암 예방 접종 후기(가다실 9가) (0) | 2020.01.13 |
전자정부프레임워크(3.8.0) 설치 방법 (0) | 2020.01.10 |
JAVA(1.8.0) 설치 방법 (1) | 2020.01.06 |
JAVA [개요] (0) | 2020.01.05 |