▶ 시작하기 전에

초기에 자바가 널리 알려진 계기가 인터넷이었다면, 최근의 계기는 이클립스가 아닐까 생각한다. 메모장을 갖고서 자바 프로그래밍을 할 때가 (살짝 거짓말 보태서) 엇그제 같은데 이제는 이클립스 없이는 코딩할 엄두가 나지 않는다.

이클립스는 초기에 자바 개발 환경으로서 시작되었지만, 시간이 지나 개발 환경 그 자체에서도 의미를 찾았다. 따라서 누구나 이클립스스러운 어플리케이션을 개발할 수 있도록 이클립스 진영은 개발 환경 부분을 완전히 분리하여 RCP(Rich Client Platform)라는 이름으로 내놓았다. 여기서 이클립스스럽다는 말은 편집 환경과 다양한 뷰, 메뉴, 마법사, 인터넷을 통한 업그레이드 기능 등이 포함된 통합 어플리케이션 환경을 의미한다. (꼭 개발 환경일 필요는 없다)

이클립스는 플러그인 시스템으로 인해 무한한 확장 가능성을 지닌다. RCP 역시 다수의 플러그인으로 제공된다. 이 튜토리얼에서 소개할 GEF(Graphical Editing Framework) 역시 플러그인이며, 이름 그대로 시각적 편집 환경을 구현하기 위한 기반을 제공한다. 시각적 편집 환경은 사용자에게 직관적이고 보다 쉬운 편집/개발 환경을 제공하는데 MSRDS와 StarUML은 이러한 환경의 가장 좋은 예이다.

MS Robotics Developer Studio


StarUML


이 튜토리얼에서는 GEF를 이용하여 간단한 연구실 조직 관리 프로그램을 개발할 것이다. 당부하고 싶은 것은 절대로 복사/붙여넣기를 하지 말고 직접 작성하길 바라며, 작성한 코드는 다시 한 번 꼼꼼히 살펴보길 바한다. 그리고 프레임워크가 어떻게 동작하는지뿐만 아니라 어떻게 설계되었는지도 꼼꼼히 살펴보기 바란다. 개인적인 생각이지만 RCP는 프레임워크의 교본이라고 할 만큼 훌륭한 본보기를 보여준다.

▶ 프로젝트 생성

늘 하던대로 자바 프로젝트를 생성해서 하나 하나 작성하는 것도 한가지 방법이지만, 이클립스에서는 RCP 어플리케이션을 쉽게 개발할 수 있도록 일종의 도구들을 제공한다. 단 이것을 수행하기 위해서는 Eclipse for RCP/Plug-in Developers 버전이 필요하다.

자, 그럼 Plug-in Project를 생성하자.

새로운 프로젝트 생성 → Plug-in Project 선택


다음과 같이 마법사가 뜬다.

프로젝트 이름이 기본 자바 패키지가 되므로 주의할 것!


여기서 주의할 것은 프로젝트 이름이 기본 자바 패키지가 된다. 따라서 한글이나 공백 문자보다는 자바 패키지 이름 규칙에 준해서 입력하자. 다른 부분은 건드릴 필요가 없다.

Rich Client Application 항목은 Yes를 선택할 것!


그 다음으로 할 것은 생성하려는 플러그인의 속성값을 채우는 일인데 나중에 수정할 수 있으므로 지금은 그냥 넘어가자. 다만 하단부의 Rich Client Application 항목은 Yes를 선택하자. 이렇게 하면 우리가 개발하는 플러그인과 함께 (그렇다. 우리는 사실 플러그인을 개발하고 있는 것이다!) 이것을 운용하는 최소한의 실행 환경을 포함시킨다.

Hello RCP 탬플릿을 선택해서 불필요한 수고를 덜자


자, 프로젝트 생성의 마지막이다. 개발하고자하는 플러그인 코드를 모두 다 작성할 수 있지만 대부분의 초기 코드가 기계적으로 작성되기 때문에 그런 뻘짓을 피하고자 Hello RCP 템플릿을 선택하여 마무리하자.

프로젝트 생성 마법사를 완료하면 다음과 같은 화면이 뜬다.

프로젝트가 생성되었다!


Overview 편집창은 플러그인의 설정값들을 수정할 수 있는 편집 환경을 제공한다. 좌상단의 Package Explorer에서 plugin.xml을 더블클릭하면 언제든 Overview 편집창을 다시 볼 수 있다.

▶ 이제 실행해볼까?

Hello RCP 템플릿을 기반으로 프로젝트를 생성했기 때문에 현재 생성된 코드만으로도 실행이 가능하다. Overview 편집창에서 Launch an Eclipse application을 클릭하면 다음과 같은 허름한 윈도우를 볼 수 있다.

허름한 윈도우, 그러나 잘 찾아보면 몇가지 기능이 있다.


단지 마법사에서 클릭 몇 번 했을 뿐인데, 벌써 실행 가능한 어플리케이션이 구현되었다.

▶ 오늘의 정리

한 것도 없는데 벌써 마무리다. 오늘은 GEF 기반 어플리케이션을 개발하기 위해 Plug-in 프로젝트를 생성했다. 다음의 주의사항만 잘 숙지하면 오늘의 강의는 완성이다.

  • 프로젝트 이름을 자바 패키지 이름 규칙에 준해서 입력할 것
  • Rich Client Application 항목에 Yes를 선택할 것

Reference


  1. 카키 2009.03.28 22:41 ADDRESS | MODIFY/DELETE | REPLY

    좋은글 감사하그여 ' ㅂ'ㅠ 잘 보구 갑니다 'ㅂ' 덕분에 편해요 ㅠ

    • semix2 2009.03.30 09:36 ADDRESS | MODIFY/DELETE

      ^^; 어서 뒷 내용을 기술해야 하는데 갑자기 일이 빵빵 터지네요.
      다음 글 부터는 실질적인 어플리케이션을 타겟으로 튜토리얼을 서술할 예정입니다. 기대(?)해 주세요 ㅋㅋ;;

  2. 길이 2010.04.08 15:44 ADDRESS | MODIFY/DELETE | REPLY

    좋은 정보 잘 보고 .. 담아 갑니다 ^^

    강의가 두번에 끝나서 아쉽네요..

    • semix2 2010.04.08 16:03 ADDRESS | MODIFY/DELETE

      여전히 GEF에 관심이 많지만 최근 하고 있는 일이 당장은 GEF랑 관계가 없다보니 강좌가 멈춰버렸네요;; 찾아 주셨는데 많은 정보를 드리지 못해서 죄송합니다. (굽신굽신)

      대신 참고 링크를 따라가시면 이후 어떻게 해야 하는지 살펴보실 수 있을 거에요. ^^

CATEGORIES