IBM®
메인 컨텐츠로 가기
    Korea [국가변경]    이용약관
 
 
   
        제품    서비스 & 솔루션    고객지원 & 다운로드    회원 서비스    
메인 컨텐츠로 가기

한국 developerWorks  >  오픈 소스  >

데스크톱, 웹, 모바일 기기 개발을 위해 이클립스 가니메데 사용하기. Part 3: 가니메데 방식으로 리치 클라이언트 플랫폼용 개발

eRCP: 모바일로 가기

developerWorks
Go to the previous page10 페이지 중 2 페이지Go to the next page

문서 옵션

샘플 코드


제안 및 의견
피드백

튜토리얼 평가

이 컨텐츠를 개선하기 위한 도움을 주십시오.


eRCP로 시작하기

이 절에서는 eRCP와 eRCP가 할 수 있는 일이 어떤 것인지 살펴볼 것이다. 그러고 나서 코딩에 들어가기 전에 eRCP 라이브러리를 다운로드하여 타깃 플랫폼에 맞게 설정할 것이다.

모바일 플랫폼용으로 개발할 때 부딪히는 문제들

모바일 기기(휴대전화, 스마트폰, 미디어 플레이어 등)의 처리 능력이 비약적으로 증가해가고 있지만(좀 더 강력한 애플리케이션을 돌리는 데에도 이런 모바일 기기를 사용하는 게 가능하긴 하지만) 실제 그런 작은 기기에서 억지스럽게 사용자의 경험을 개발하는 데에는 부딪힐 수밖에 없는 문제가 남아 있다. 데스크톱과는 달리 모바일 기기는 마우스도 없고 있더라도 키보드도 작고 디스플레이 영역도 작다. 그렇기에 이러한 제약점을 고려하여 사용자 인터페이스를 재작성하지 않는 이상 가장 사소한 애플리케이션을 빼곤 어떤 것도 데스크톱에서 모바일 플랫폼으로 이식할 수 있는 가능성은 희박하다.

이클립스의 RCP는 그동안 충분한 발전을 이루어와서 개발자들이 단일한 코드 기반을 이용하여 다양한 운영체제에 배치할 수 있는 완벽한 기능을 갖춘 데스크톱 애플리케이션을 개발하는 것을 더 쉽게 해주어왔다. 그리고 Part 2에서 볼 수 있었던 것처럼 RAP라는 RCP를 이용할 경우 개발자들은 리치 클라이언트 경험을 크게 희생하지 않고도 월드 와이드 웹에 배치할 수 있는 RCP 애플리케이션으로 수정할 수 있다. 비슷하게 이클립스 가니메데에서 이용 가능한 또 다른 RCP의 서브셋인 임베디드 클라이언트 리치 클라이언트 플랫폼(eRCP)을 이용한다면 J2ME를 구동할 수 있는 모바일 기기라면 어디든 RCP 애플리케이션을 이식할 수 있도록 해준다.




위로


eRCP 애플리케이션이란 무엇인가

eRCP란 프로젝트로서, IBM®, 노키아, 모토로라의 지원을 받고 있으며, RCP의 데스크톱 지향적인 기능을 없애려는 프로젝트라 할 수 있다. 대신 이 프로젝트에서는 SWT, JFace, Workbench, 업데이트 메커니즘에 대한 전통적인 데스크톱 프레임워크를 eSWT, eJFace, eWorkbench, eUpdate와 같은 모바일 기능으로 대체하고 있다.

eRCP는 익스텐션 포인트, OSGi 번들, 업데이트 메커니즘 같은 좀 더 고도화된 개념에 기반을 둔다. 또한 임베디드 UI 기능을 지원하기 위해 제공되는 SWT 모바일 익스텐션 패키지도 갖고 있다. eSWT는 네이티브 GUI 시스템에 직접적으로 연결된다. 이를 위해 네이티브 코드를 직접 차용하며, 따라서 플랫폼에 의존적이다. eRCP의 다른 컴포넌트는 100% 자바 코드다. 그러므로 타깃 플랫폼용 eSWT와 모바일 익스텐션을 이식하지 않고 eRCP GUI 애플리케이션을 구동할 수는 없다는 뜻이다.

그림 1에 eRCP의 아키텍처에 대한 개요를 나타냈다.


그림 1. eRCP의 아키텍처
eRCP의 아키텍처

코어 eSWT
저수준 그래픽, 이벤트, 기본 위젯 인프라스트럭처 등 구체적인 UI 디자인이나 인터랙티브 모델의 부분이 아닌 모든 나머지 기능을 제공한다. eSWT의 이 부분은 디바이스에 대해 알지 못하며 MP3 플레이어, 디지털 카메라, 자동차용 애플리케이션 등 다양한 범위의 임베디드 기기에 적용할 수 있다.
모바일 익스텐션
모바일 기기에서 일반적으로 발견되는 UI 요소를 제공하는 선택적인 패키지. 공통 애플리케이션 생성을 가능하게 하며 휴대전화와 PDA 같은 전형적인 모바일 기기 UI가 그 예다. 이 패키지는 전체가 추가되거나 빠지거나 해야 한다.
확장된 eSWT
고수준 모바일 기기와 PDA에서 공통으로 발견되는 좀 더 정교한 UI 요소를 제공하는 추가적인 패키지다. 확장된 eSWT 패키지는 모바일 익스텐션 패키지에 추가적으로 사용되는 것을 목적으로 한다.

다음으로 eRCP 라이브러리를 다운로드하여 타깃 플랫폼대로 설정하자.




위로


eRCP 다운로드

RAP처럼 eRCP는 RCP의 서브셋으로 동일한 이클립스 인스턴스로 공존할 수가 없다. 따라서 타깃 플랫폼으로 분리해 다운로드해야 한다.

웹 브라우저에서 eRCP 다운로드 페이지를 연다.


그림 2. eRCP 런타임 다운로드 페이지
eRCP 런타임 다운로드 페이지

네 개의 플랫폼을 이용할 수 있다. 각각으로 서로 다른 타깃 환경용 애플리케이션을 개발하고 테스트할 수 있다.

  • 윈도(Windows®) 데스크톱
  • 윈도 모바일 V5/6 프로페셔널
  • 윈도 모바일 V5/6 스탠더드
  • 윈CE V4.0 프로페셔널

윈도와 윈CE 플랫폼에서 애플리케이션을 배치하고 테스트하려면 실제 기기나 해당 기기의 소프트웨어 시뮬레이터가 필요하다. 하지만 윈도 데스크톱 플랫폼에서는 윈도 데스크톱 상의 배치용 임베디드 라이브러리만 사용하는 완벽한 eRCP 환경을 제공한다. 개발용으로는 완벽하고 이 튜토리얼의 시작점이 될 것이다.

윈도 데스크톱 플랫폼용을 선택하고 다운로드하자. 다운로드할 미러를 선택할 페이지로 이동할 것이다. 편한 미러 사이트를 선택하고(그림 3 참조) 윈도 데스크톱 플랫폼 런타임을 다운로드하자.


그림 3. eRCP 런타임을 다운로드할 미러를 선택
eRCP 런타임을 다운로드할 미러를 선택

다운로드가 끝나면 이클립스 인스턴스에 접근할 수 있는 로컬 디렉터리에 패키지를 풀어내자. 이클립스 가니메데를 열고 작업공간이 이 연재물의 Part 1에서 개인용 전자 수첩 프로젝트에서 저장한 곳을 가리키는지 확인하자(Part 2의 버전도 작업할 것이나 여기서 따라갈 작업은 Part 1의 끝 부분에서 했던 코드 베이스에서 시작한다고 가정한다).

이클립스의 Preference 패널을 열고 Preferences > Plug-in Development > Target Platform을 찾아 들어간다. Browse를 선택해 패키지 압축을 푼 디렉터리를 살펴본 다음 방금 다운로드한 런타임으로 타깃 플랫폼을 변경하자.


그림 4. 타깃 플랫폼을 eRCP로 스위칭
타깃 플랫폼을 eRCP로 스위칭

win32 > eRCP 디렉터리를 선택하고 OK를 클릭한다. 그러고 나서 Apply를 클릭한다. 이렇게 하면 eRCP 플러그인을 로드하여 개인용 전자 수첩 프로젝트를 재컴파일할 것이다.

예상했겠지만 RCP 기반 개인용 전자 수첩은 eRCP를 이용하여 전처럼 컴파일되지 않고 콘솔에 컴파일 오류를 낼 것이다.


그림 5. eRCP로 스위칭한 후 개인용 전자 수첩의 컴파일 오류
eRCP로 스위칭한 후 개인용 전자 수첩의 컴파일 오류

다음 절에서 eRCP의 장점을 취하기 위해 코드에 가할 필요가 있는 수정이 무엇인지 알아보자.




위로



Go to the previous page10 페이지 중 2 페이지Go to the next page
    IBM 소개 개인정보 보호정책 문의