이클립스를 간단하게 말하면 자바 개발도구입니다.

자바(Java)는 객체지향 프로그래밍 언어이기때문에 자바가 발전하면 할수록 더 많은 라이브러리를 참조하게 됩니다. 또한 참조할 자바 라이브러리들에서 제공하는 API도 매우 다양하기 때문에 개발자가 일일이 API를 암기하여 코딩하는것이 블가능하기때문에 이러한 것을 해결해주는 것이 바로 이클립스 입니다.


개발자라면 당연 이클립스를 다룰줄 알아야합니다만 이클립스가 워낙 하는일이 많다보니 개발자뿐만 아니라 퍼블리셔, 디자인.... 또는 컴퓨터를 다루는 유저나 블로그 스킨을 다루는 유저 등등 모두 알아두면 좋은 도구 입니다.


이클립스가 하는 일과 방법 그리고 플러그인 등이 너무 방대하다보니 책으로 써도 한권이 넘어갈 정도 입니다.

여기서는 일반적인 경우와 이클립스를 다루는 가이드를 잡아서 하나 하나 소개해 볼까 합니다.


이클립스 홈페이지: http://eclipse.org/

위의 주소가 이클립스의 홈페이지이며 윈도우, 맥, 리눅스 할거 없이 모두 사용이 가능하며 무료로 사용할 수 있으니 부담없이 컴퓨터에 설치해서 사용해보시기 바랍니다.


이클립스 도구가 있으면 빌드, 개발등등 다양한 일을 하며, 다른 에디터나 프로그램(예: 압타나, git)을 설치하지 않고도 그 기능을 이용할수 있습니다.


이클립스 패키지 소개.

이클립스도 버젼이 점점 발전해가면서 버젼과 코드명을 참고적으로 알면 도움이 됩니다.

이름에서 알수 있듯 일식이나 월식과 같은 행성에 가려 빛을 잃는다는 천문학에서 따온 이름입니다.

그래서 버젼에 붙이는 코드명도 행성의 이름을 이용하고 있습니다.


버젼 

코드명 

3.7 

Indigo(인디고) 

3.6 

Hellos(헬로우스) 

3.5 

Galileo(갈릴레오) 



이클립스는 자바를 기반으로 한 개발도구이기때문에 자바를 반드시 설치해야만 이용할 수 있습니다.

이클립스에서 배포하는 패키지의 종류를 보면 초보자에게는 다소 어려울수 잇는 자바와 관련한 용어들이 많이 나와 다소 어려움이 있습니다. 

이클립스 패키지의 용어의 의미를 잠시나마 이해해보고 넘어가겠습니다.


Eclipse IDE for Java EE Developers.





이 패키지가 가장 대중적으로 사용되는 패키지입니다.

기업형 응용 프로그램이나, 웹 응용 프로그램을 개발하기에 적합한 패키지이며, Java IDE, Java EE, JPA, JSF, Mylyn 등의 라이브러리를 포함하고 있습니다.


Java IDE.


IDE란 Integrated Development Environment 의 약자로 통합개발환경을 말합니다. 따라서 Java IDE는 자바통합개발환경을 의미합니다.



Java EE.


EE는 Enterprise Edition 의 약자이며 Java EE 는 표준 패키지인 Java SE(Standard Edition)에 웹 애플리케이션 서버 관련 기능을 추가한 패키지입니다. 

웹 애플리케이션 서버는 웹서버에 설치하여 작동하는 서버 측 프로그램을 의미하며, 영문으로는 WAS(Web Application Server)라고 합니다.

Java EE는 예전에는 J2EE라는 이름으로 불린적도 있다고 합니다.



EJB.


EJB 는 Enterprise JavaBeans(엔터프라이즈 자바빈즈)의 약자이며, 기업형 서버 측 컴퍼넌트 모델을 개발하기 위한 기술들을 제공하고 있습니다.

그래서 자바 웹 분야에서는 기업형 웹 개발을 할때 JSP로 화면을 구성하고, 업무 로직은 EJB 로 작성하는 개발 환경을 갖추게 되었습니다.

EJB는 일반적으로 세션 빈(Session Bean)과 엔티티 빈(Entity Bean)으로 나뉘는데 세션 빈은 위발성 서버 메모리에 관련된 모듈이고, 엔티티 빈은 테이더베이스와 연동하는 등의 기타 업무 로직들을 담고 있는 모듈을 의미합니다.



JPA.


JPA는 자바 퍼시스턴스 API(Java Persistence API)의 약자이며, 관계형 데이터베이스 연동에 대한 기능들을 제공합니다.

JPA 는 EJB의 엔티티 빈(Entity Bean) 기술을 구체화시킨 기술입니다.



JSF.


JSF는 자바 서버 페이스(JavaServer Faces)의 약자이며, Java EE 기반에서 웹용 사용자 인터페이스(Web User Interface)를 쉽게 개발할 수 있도록 지원하는 컴포너트형 웹 개발용 프레임웍입니다.

MVC 모델로 JSP를 사용하는 웹 개발 방법론에 대한 또 다른 형식의 컴포넌트 방식입니다.



Mylyn.


Mylyn은 전기적 신경 전달에 관한 생물학적인 용어인 마이엘링(Myeln)에서 유래된 이름이라고 합니다.

이클립스는 마일린(Mylyn)이라는 이름으로 통합 태스크 관리(Intergrated Task Management)를 지원하는 개발도구를 제공하고 있습니다.

이클립스에서의 태스트는 여러가지 의미를 가지지만 , 쉽게 말하면 작업 스케줄에 따라 자동으로 실행하는 것으로 이의 효율적인 제어를 위한 모둘이 마일린입니다.



Eclipse Classic





이 패키지는 이클립스의 기본 패키지입니다. 

이클립스 플랫폼, 기본 자바 개발도구, 플로그인 개발 환경등이 포함되어 있습니다.



Eclipse IDE for Java Developers





이 패키지는 일반적인 자바 개발잘ㄹ 위한 이클리스의 통합개발 환경 패키지 입니다. 

이 패키지에는 Java IDE, CVS client, XML Editor, Mylyn, Maven intergration, WindowBuilder 등이 포함되어 있습니다.


Apache Maven.


Apache Maven은 아파치 워크그룹에서 주도한 자바를 위한 빌드용 개발도구이며, 원론적으로는 소프트웨어 프로젝트를 관리하고 파악하기 위한 개발도구라고 할 수도 있습니다.

Apache Maven은 POM(Project Object Model)이라는 개념을 기반으로 하고 있고, 프로젝트를 빌드하거나 각 모듈을 문서로 리포팅하는 기능을 말합니다.

매이븐(Maven)이란 이름은 히브리어의 mevin에서 유래한 용어로 one who understands 의 의미이며, 소프트웨어에서는 새로 창조한 프로젝트를 이해할 수 있게 한다는 것으로 해석되고 잇습니다.



Maven intergartion


이클립스에서 말하는 Maven intergration은 m2eclipse 또는 m2e 라는 약자로 표현하기도 하는데, Eclipse IDE에서 Apache Maven을 지원하기 위한 모듈입니다.

이클립스는 Maven 의 pom.xml을 쉽게 작성하고 컴파일할 수 있도록 지원하고 있습니다.



WindowBuilder


이클립스에서 말하는 윈도우빌더(WindowBuilder)는 GUI 개발 환경을 의미합니다.

텍스트 편집기를 일일이 코딩하는라 많은 시간을 허비해야 하는 어려움을 없애기 위해 GUI 개발 환경을 제공하여 한눈에 제반 설정사항들을 파악하고 작성할 수 있도록 도와줍니다.그래서 이클립스의 윈도우빌더를 디자인 편집기 라고도 합니다.

이 윈도우빌더는 웹 화면을 디자인하거나, 안드로이드에서 화면 디자인할때 , 또는 XML을 작성할 때도 큰 도움이 됩니다.



Eclipse IDE for C/C++ Developers(includes incubationg components)


Mylyn으로 C/C++ 개발을 하기위해 통합개발 환경으로 제공되는 이클립스 패키지입니다.

이 패키지에 포함되어 있는 라이브러리에는 org.eclipse.cdt 패키지와 같은 Incubation 컴포넌트들이 포함되어 있습니다.


org.eclipse.cdt 패키지의 CDT는 C/C++ Development Toolkit 의 약자입니다.

따라서 이 패키지는 C/C++ 개발을 할 수 있는 툴킷을 제공합니다.

이 패키지로 C/C++ 개발을 하려면 컴파일러가 추가로 필요한데, Cygwin GCC와 MinGW GCC가 대표적입니다.

이 컴파일러(빌더)를 설치하고 컴파일러의 위치를 설정하여 개발하는 방식입니다.



Eclipse Modeling Tools




이 패키지는 프로그래밍 노리나 로직을 도식화하는 모델링 관련 도구 위주로 구성되어 있습니다.

Ecore Tools, RCP, EMF, XSD,OCL,UML 등의 모델링을 지원합니다.



Eclipse for RCP and RAP Developers




이 패키지는 RCP와 RAP 응용 프로그램 개발하기에 적합한 패키지 입니다.


RCP.

RCP는 Rich Client Platform 의 약자입니다.

소프트웨어 프로그래밍에서 Rich라는 용어는 쉽게 고급 프로그래밍을 할 수 있다는 의미로 사용됩니다.

그래서 RCP는 새로운 응용 프로그램을 RCP Application이라고 부릅니다.


이클립스는 RCP라는 개념으로 이클립스 프로그램 자신의 기능을 확장하는 플러그인을 만들기도하고, 이클립스 코어를 기반으로 새로운 목적의 응용 프로그램을 만들수도 있습니다. 이러한 응용 프로그램을 모두 RCP 응용 프로그램이라고 합니다.



Eclipse IDE for Java and Report Developers




이 패키지는 Java EE 개발도구와 BIRT 리포팅 도구를 포함하고 있어 Java EE을 이용해서 리포팅을 위한 웹 응용 프로그램을 개발하기에 적합하도록 구성되어 있습니다.



BIRT.


BIRT 는 Business Intelligence and Reporting Tools 의 약자입니다.

기업용 리포팅 응용 프로그램을 만드는 솔루션을 의미합니다.



Eclipse for Testers




개발한 프로그램을 실험하기에 적합하도록 구성한, 테스터를 위한 이클립스 패키지입니다.


Eclipse for Scout Developers




Scout 개발에 적합하도록 구성한 이클립스 패키지입니다.


Eclipse Scout 는 Business Application Framework을 슬로건으로 하며 사무용 프로그램을 쉽게 개발할 수 있도록 지원하는 프레임웍입니다.

org.eclipse.scout 패키지를 기준으로 프레임웍을 제공하하며, GUI 환경의 이클립스에서 Scout API들을 사용하면 쉽게 사무환경에 대한 서버/클라이언트 프로그램을 만들수 있습니다.




Eclipse IDE for Parallel Application Developers




이 패키지는 병렬 응용 프로그램 개발을 위한 이클립스 통합개발 환경을 제공하는 패키지 입니다.

이 패키지는 C/C++ IDE, Fortran, UPC, MPI, Parallel Debugger 등에 대한 개발도구를 포함하고 있습니다.


병렬 응용프로그램(Parallel Application)

아무리 하드웨어적인 사양이 좋아진다 하더라도 컴퓨터 프로그래밍에서 병렬적인 연산처리는 중요합니다.

직렬방식으로 논리를 처리하는 것보다 가능한 한 병렬방식으로 연산 작업들을 분산해서 처리하면 몇배로 빠른 결과를 도출할 수 있기 때문입니다.

이러한 병렬처리를 하는 컴퓨터 시스템을 병렬 컴퓨팅(Parallel Computing)이라고 합니다.

병렬 컴퓨팅이 요구되는 어떤 작업을 병렬적으로 처리하는 응용 프로그램을 병렬 응용 프로그램이라고 합니다.


여기까지 이클립스의 패키지에 대해서 대략적으로 알아봤습니다.

솔직히 해당되는 개발작업이 아닌 패키지에 대해서는 몰라도 되지만 참고적으로 어떤것이 있고, 어디에 사용하는지 안다면 좀더 도움이 될거라 생각이됩니다.


참고 : 쉽고 자세한 Eclipse 사용법