(개정판) 이클립스 RCP [자바 GUI 애플리케이션 개발을 위한 컴포넌트 아키텍처 플랫폼]
- 원서명Eclipse Rich Client Platform (2nd Edition) (ISBN 9780321603784)
- 지은이제프 맥아퍼, 장미셸 르뮤, 크리스 아니슈칙
- 옮긴이신은정
- ISBN : 9788960772700
- 36,000원
- 2012년 01월 31일 펴냄 (절판)
- 페이퍼백 | 620쪽 | 188*250mm
- 시리즈 : 이클립스 프로페셔널
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
이클립스를 기반으로 데스크탑이나 PDA, 키오스크 등에서 동작하는 리치 클라이언트 애플리케이션을 개발을 위한 참고서다. 이클립스와 관련된 개념과 메커니즘, 이클립스의 기반이 되는 OSGi 기본 개념, 플랫폼이 제공하는 다양한 기능을 소개한다. 하이퍼볼라라는 메신저의 개발 튜토리얼을 통해 이러한 요소들을 자신의 애플리케이션에 어떻게 활용할 수 있는지 설명한다. 초판 이후 이클립스 3.5 버전을 출시하면서 변경된 소프트웨어 설치와 업데이트 관련 메커니즘과 그 외 새로운 부분도 설명한다. 더불어 탄탄하고 유연한 OSGi 기반의 이클립스 컴포넌트 아키텍처를 경험하는 좋은 기회이며, 다양한 운영체제 환경에서 실행 가능한 리치 클라이언트 애플리케이션을 쉽고 빠르게 개발할 수 있다.
샘플코드 다운로드
http://www.acornpub.co.kr/download/rcp2
하이퍼볼라라는 인스턴스 메신저 애플리케이션을 개발하는 과정을 설명하기 위한 샘플코드. 이클립스 갈릴레오(Eclipse Galileo)를 기준으로 작성됐으며, 메시지 송수신을 쉽게 도와주는 XMPP(Extensible Messaging and Presence Protocol)를 사용해서 작성됐다. 각 장을 학습하면서 예제코드를 살펴보면, 이클립스 기반 RCP 개발 기술뿐만 아니라 개발 프로세스도 익숙해질 것이다.
[ 소개 ]
이클립스 리치 클라이언트 개발의 완벽 지침서
『(개정판) 이클립스 RCP』에서는 RCP 프로젝트를 이끌고 있는 3명의 리더가 이클립스 3.5(갈릴레오)를 통해 풍부하고, 이클립스 고유의 GUI를 빠르게 개발하는 방법을 설명한다.
이 책에서는 데스크탑 애플리케이션 개발 플랫폼으로서 이클립스의 강력함을 최대한 나타내고, 이클립스 3.5에서 새로 향상된 부분을 소개한다. 또 윈도우, 리눅스, 맥 그리고 핸드헬드 장치와 키오스크 등 다양한 플랫폼에서의 전체 기능을 포함한 RCP를 개발하는 절차를 자세히 설명한다.
저자의 풍부한 경험을 바탕으로, 프로토타입을 빌드, 개선, 리팩토링하면서 UI를 개선하고, 도움말과 소프트웨어 관리 형상을 추가하며, 최종 소프트웨어를 빌드, 브랜드 부여, 테스트, 배포하는 일련의 과정을 설명한다. 저자들은 동적으로 확장 가능한 조립식 시스템을 개발하는 방법과 서드파티 코드 라이브러리의 사용, 다양한 환경에서의 애플리케이션 패키징 등 여러 가지에 대한 최선의 사례를 소개한다.
[ 이 책에서 다루는 내용 ]
이 책은 모든 수준의 자바 개발자를 대상으로 한다.
■ p2, 커맨드, 데이터바인딩 등 새롭고 중요한 RCP 형태 소개
■ 이퀴낙스, SWT, JFace, OSGi 등 RCP와 관련된 핵심 기술
■ 효과적인 브랜딩과 RCP 애플리케이션의 룩앤필 조정
■ SWTBot으로 하는 RCP 애플리케이션 UI 테스트
■ RCP와 일반 플러그인 개발의 유사점과 차이점 논의
이 책에서는 개발자가 직접 해볼 수 있고 실용적이며 종합적인 풍부한 실제 코드 예제를 충분히 제공하고, 성공적인 애플리케이션 개발에 필수적인 핵심 기술을 자세히 다룬다.
[ 이 책의 대상 독자 ]
이 책은 몇 가지 유형의 자바 개발자 그룹을 대상으로 한다. 자바 프로그램 개발 경험이 있다고 가정하므로, 따로 자바의 개념과 문법은 설명하지 않는다.
이클립스 RCP가 처음인 개발자를 위해 플랫폼의 기원과 이클립스 IDE 사용법, 처음으로 RCP 애플리케이션을 개발하는 방법 등을 다룬다. 이클립스 사용 경험이 있으면 도움이 되지만, 처음이라도 문제는 없다.
이클립스 플러그인 개발 경험이 있는 개발자 대상으로는, 플러그인 개발과 RCP 개발의 차이점도 다룬다. 예를 들면 RCP 애플리케이션에서 추가해야 하는 특별한 프로그램 요소뿐만 아니라 브랜딩과 릴리스 공학 프로세스의 일부로서 플러그인 빌드, 배포, 설치 등 RCP 애플리케이션만의 고유한 특징을 설명한다.
이클립스 RCP 개발 경험자에게는 이클립스 3.5에서 추가된 새로운 RCP 피처와 기능, 그리고 이전보다 쉬워진 RCP 애플리케이션 설계, 코딩, 패키징을 지원하는 새로운 도구를 소개한다.
[ 이 책의 구성 ]
이 책은 크게 두 부분으로 나뉜다. 하나는 1부와 2부에서 다루는 RCP에 대한 부분으로, RCP 애플리케이션 작성법을 설명하기 위해 튜토리얼 형태로 기술했다. 튜토리얼에서는 메신저 기능을 추가하고 도움말과 업데이트, 그 밖의 고급 기능을 완전히 갖춘 브랜드가 적용된 채팅 클라이언트로 하이퍼볼라를 점차 개발해나간다. 예제와 문제를 해결해가는 과정에서 독자 옆에 함께 있는 느낌을 주기 위해 자유로운 형태로 튜토리얼을 작성했다. 또한 애플리케이션을 개발하고 튜토리얼을 작성하는 동안 경험한 문제점과 작은 생각도 공유했다.
책의 다른 한 부분에서는 애플리케이션을 현실화하는 방법을 살펴본다. 프로토타입과 제품을 배포하기 위한 전혀 새로운 것을 작성하는 일이 그 하나다. 하지만 프로토타입에서 그치지 않고, 3부와 4부에서는 작업을 완료하는 데 필요한 상세 내용까지 다룬다. 다시 말해, 먼저 프로토타입을 정련하고 리팩토링하며, 사용자 인터페이스를 변경하고 제품을 빌드하고 고객에게 전달하는 방법을 자세히 설명한다. 이 부분은 일부 참조용으로 작성했지만 드문드문 단계적 예제와 코드 예제를 제공하며, 커뮤니티에 보고되고 전문 제품 개발에서 발견된 주요 문제점 대부분을 다루는 것을 목표로 했다.
마지막 5부는 순수하게 참조용으로 작성했다. 이클립스의 기본 실행 프레임워크인 OSGi의 기본 개념을 설명하고 이 책의 앞부분에서 다루지 않았지만 이클립스 플랫폼에서 사용 가능한 다양한 기능을 소개한다.
샘플코드 다운로드
http://www.acornpub.co.kr/download/rcp2
하이퍼볼라라는 인스턴스 메신저 애플리케이션을 개발하는 과정을 설명하기 위한 샘플코드. 이클립스 갈릴레오(Eclipse Galileo)를 기준으로 작성됐으며, 메시지 송수신을 쉽게 도와주는 XMPP(Extensible Messaging and Presence Protocol)를 사용해서 작성됐다. 각 장을 학습하면서 예제코드를 살펴보면, 이클립스 기반 RCP 개발 기술뿐만 아니라 개발 프로세스도 익숙해질 것이다.
[ 소개 ]
이클립스 리치 클라이언트 개발의 완벽 지침서
『(개정판) 이클립스 RCP』에서는 RCP 프로젝트를 이끌고 있는 3명의 리더가 이클립스 3.5(갈릴레오)를 통해 풍부하고, 이클립스 고유의 GUI를 빠르게 개발하는 방법을 설명한다.
이 책에서는 데스크탑 애플리케이션 개발 플랫폼으로서 이클립스의 강력함을 최대한 나타내고, 이클립스 3.5에서 새로 향상된 부분을 소개한다. 또 윈도우, 리눅스, 맥 그리고 핸드헬드 장치와 키오스크 등 다양한 플랫폼에서의 전체 기능을 포함한 RCP를 개발하는 절차를 자세히 설명한다.
저자의 풍부한 경험을 바탕으로, 프로토타입을 빌드, 개선, 리팩토링하면서 UI를 개선하고, 도움말과 소프트웨어 관리 형상을 추가하며, 최종 소프트웨어를 빌드, 브랜드 부여, 테스트, 배포하는 일련의 과정을 설명한다. 저자들은 동적으로 확장 가능한 조립식 시스템을 개발하는 방법과 서드파티 코드 라이브러리의 사용, 다양한 환경에서의 애플리케이션 패키징 등 여러 가지에 대한 최선의 사례를 소개한다.
[ 이 책에서 다루는 내용 ]
이 책은 모든 수준의 자바 개발자를 대상으로 한다.
■ p2, 커맨드, 데이터바인딩 등 새롭고 중요한 RCP 형태 소개
■ 이퀴낙스, SWT, JFace, OSGi 등 RCP와 관련된 핵심 기술
■ 효과적인 브랜딩과 RCP 애플리케이션의 룩앤필 조정
■ SWTBot으로 하는 RCP 애플리케이션 UI 테스트
■ RCP와 일반 플러그인 개발의 유사점과 차이점 논의
이 책에서는 개발자가 직접 해볼 수 있고 실용적이며 종합적인 풍부한 실제 코드 예제를 충분히 제공하고, 성공적인 애플리케이션 개발에 필수적인 핵심 기술을 자세히 다룬다.
[ 이 책의 대상 독자 ]
이 책은 몇 가지 유형의 자바 개발자 그룹을 대상으로 한다. 자바 프로그램 개발 경험이 있다고 가정하므로, 따로 자바의 개념과 문법은 설명하지 않는다.
이클립스 RCP가 처음인 개발자를 위해 플랫폼의 기원과 이클립스 IDE 사용법, 처음으로 RCP 애플리케이션을 개발하는 방법 등을 다룬다. 이클립스 사용 경험이 있으면 도움이 되지만, 처음이라도 문제는 없다.
이클립스 플러그인 개발 경험이 있는 개발자 대상으로는, 플러그인 개발과 RCP 개발의 차이점도 다룬다. 예를 들면 RCP 애플리케이션에서 추가해야 하는 특별한 프로그램 요소뿐만 아니라 브랜딩과 릴리스 공학 프로세스의 일부로서 플러그인 빌드, 배포, 설치 등 RCP 애플리케이션만의 고유한 특징을 설명한다.
이클립스 RCP 개발 경험자에게는 이클립스 3.5에서 추가된 새로운 RCP 피처와 기능, 그리고 이전보다 쉬워진 RCP 애플리케이션 설계, 코딩, 패키징을 지원하는 새로운 도구를 소개한다.
[ 이 책의 구성 ]
이 책은 크게 두 부분으로 나뉜다. 하나는 1부와 2부에서 다루는 RCP에 대한 부분으로, RCP 애플리케이션 작성법을 설명하기 위해 튜토리얼 형태로 기술했다. 튜토리얼에서는 메신저 기능을 추가하고 도움말과 업데이트, 그 밖의 고급 기능을 완전히 갖춘 브랜드가 적용된 채팅 클라이언트로 하이퍼볼라를 점차 개발해나간다. 예제와 문제를 해결해가는 과정에서 독자 옆에 함께 있는 느낌을 주기 위해 자유로운 형태로 튜토리얼을 작성했다. 또한 애플리케이션을 개발하고 튜토리얼을 작성하는 동안 경험한 문제점과 작은 생각도 공유했다.
책의 다른 한 부분에서는 애플리케이션을 현실화하는 방법을 살펴본다. 프로토타입과 제품을 배포하기 위한 전혀 새로운 것을 작성하는 일이 그 하나다. 하지만 프로토타입에서 그치지 않고, 3부와 4부에서는 작업을 완료하는 데 필요한 상세 내용까지 다룬다. 다시 말해, 먼저 프로토타입을 정련하고 리팩토링하며, 사용자 인터페이스를 변경하고 제품을 빌드하고 고객에게 전달하는 방법을 자세히 설명한다. 이 부분은 일부 참조용으로 작성했지만 드문드문 단계적 예제와 코드 예제를 제공하며, 커뮤니티에 보고되고 전문 제품 개발에서 발견된 주요 문제점 대부분을 다루는 것을 목표로 했다.
마지막 5부는 순수하게 참조용으로 작성했다. 이클립스의 기본 실행 프레임워크인 OSGi의 기본 개념을 설명하고 이 책의 앞부분에서 다루지 않았지만 이클립스 플랫폼에서 사용 가능한 다양한 기능을 소개한다.
목차
목차
- 1부 소개
- 1장 리치 클라이언트 플랫폼으로서의 이클립스
- 1.1 이클립스
- 1.2 이클립스 리치 클라이언트 플랫폼
- 1.3 이클립스 RCP의 역사
- 1.4 RCP의 용도
- 1.4.1 IBM 로터스와 이클립스 RCP
- 1.4.2 나사와 이클립스 RCP
- 1.5 정리
- 1.6 참고자료
- 2장 이클립스 RCP 개념
- 2.1 플러그인 커뮤니티
- 2.2 플러그인 들여다보기
- 2.3 통합 시스템 구성
- 2.4 OSGi 프레임워크
- 2.5 이퀴낙스
- 2.5.1 애플리케이션
- 2.5.2 제품
- 2.5.3 확장 레지스트리
- 2.6 SWT
- 2.7 JFace
- 2.8 UI 워크벤치
- 2.8.1 컨트리뷰션에 의한 확장
- 2.8.2 퍼스펙티브, 뷰, 편집기
- 2.9 정리
- 2.10 참고자료
- 2부 RCP로 만드는 메신저
- 3장 튜토리얼 소개
- 3.1 하이퍼볼라란?
- 3.2 하이퍼볼라 개발 계획
- 3.3 개발환경 설치
- 3.4 예제 코드
- 3.4.1 다른 장으로 넘어가기
- 3.4.2 예제 코드 비교하기
- 3.5 타깃 플랫폼 설정
- 3.5.1 미리 정의된 타깃
- 3.5.2 타깃 플랫폼 정의하기
- 3.6 예제를 활용한 학습 요령
- 3.7 정리
- 3.8 참고자료
- 4장 하이퍼볼라 애플리케이션
- 4.1 ‘Hello, World’ 하이퍼볼라
- 4.2 코드 둘러보기
- 4.2.1 애플리케이션
- 4.2.2 WorkbenchAdvisor
- 4.2.3 퍼스펙티브
- 4.2.4 WorkbenchWindowAdvisor
- 4.2.5 ActionBarAdvisor
- 4.2.6 정리
- 4.3 실행과 디버깅
- 4.3.1 디버깅
- 4.3.2 실행 구성
- 4.4 정리
- 4.5 참고자료
- 5장 하이퍼볼라 프로토타입 시작하기
- 5.1 셸 기능 강화
- 5.1.1 윈도우 위치와 크기 저장
- 5.2 연락처 뷰 추가
- 5.2.1 퍼스펙티브에 연락처 뷰 추가하기
- 5.3 채팅 모델
- 5.4 연락처 뷰 채우기
- 5.4.1 ContactsView
- 5.4.2 컨텐트 프로바이더 개요
- 5.4.2.1 IWorkbenchAdapter 추가하기
- 5.4.3 레이블 프로바이더
- 5.5 이미지 추가하기
- 5.6 정리
- 5.7 참고자료
- 5.1 셸 기능 강화
- 6장 액션 추가하기
- 6.1 메뉴와 툴바 추가하기
- 6.1.1 최상위 메뉴 만들기
- 6.1.2 메뉴 관리자
- 6.1.3 Add Contact 액션
- 6.1.4 Add Contact 액션 추가하기
- 6.1.5 사용자 정의 툴바
- 6.2 상태 표시줄 추가하기
- 6.2.1 상태 표시줄(공유 리소스)
- 6.3 시스템 트레이 연동
- 6.3.1 Display 얻기
- 6.3.2 트레이 항목 생성하기
- 6.4 정리
- 6.5 참고자료
- 6.1 메뉴와 툴바 추가하기
- 7장 채팅 편집기 추가하기
- 7.1 뷰와 편집기
- 7.2 채팅 편집기 정의하기
- 7.2.1 편집기 입력
- 7.2.2 Chat 액션
- 7.3 한번 실행해보자
- 7.4 정리
- 7.5 참고자료
- 8장 하이퍼볼라 브랜드 적용
- 8.1 하이퍼볼라 제품 정의하기
- 8.2 윈도우 이미지
- 8.3 런처 구성하기
- 8.4 스플래시 화면
- 8.5 제품 정보
- 8.5.1 제품에 대한 정보
- 8.5.2 설치 세부사항
- 8.6 정리
- 8.7 참고자료
- 9장 하이퍼볼라 패키지 만들기
- 9.1 하이퍼볼라 내보내기
- 9.2 다른 플랫폼으로 내보내기
- 9.3 정리
- 9.4 참고자료
- 10장 메시지 주고받기
- 10.1 서드파티 라이브러리 통합하기
- 10.1.1 스맥 번들화
- 10.1.2 번들 테스트
- 10.2 모델 리팩토링
- 10.2.1 스맥 소개
- 10.2.2 설계 목표
- 10.2.3 프로토타입 클래스 삭제하기
- 10.2.4 채팅 추가하기
- 10.3 UI 개선
- 10.3.1 컨텐트 프로바이더
- 10.3.2 레이블 프로바이더
- 10.4 엘리자와 채팅하기
- 10.5 정리
- 10.6 참고자료
- 10.1 서드파티 라이브러리 통합하기
- 11장 로그인 기능 만들기
- 11.1 로그인 대화창 추가하기
- 11.1.1 대화창 브랜드 적용하기
- 11.2 로그인 설정 저장
- 11.2.1 UI 구현
- 11.2.2 환경설정 사용하기
- 11.2.3 환경설정 안전하게 저장하기
- 11.3 자동 로그인 환경설정 추가하기
- 11.3.1 환경설정 페이지 만들기
- 11.3.2 액션 추가하기
- 11.3.3 환경설정에 접근하기
- 11.3.4 기본 환경설정 값
- 11.3.5 로그인 대화창의 환경설정
- 11.4 정리
- 11.5 참고자료
- 11.1 로그인 대화창 추가하기
- 12장 단축키 구현
- 12.1 커맨드 정의하기
- 12.2 한번 실행해보자
- 12.3 워크벤치 액션에 키 바인딩 추가하기
- 12.4 키 구성
- 12.5 키 환경설정 페이지
- 12.6 정리
- 12.7 참고자료
- 13장 도움말 추가하기
- 13.1 타깃 플랫폼에 추가하기
- 13.1.1 플러그인 가져오기
- 13.1.2 플러그인 추가하기
- 13.2 도움말 플러그인 구성
- 13.3 도움말 액션 추가하기
- 13.4 도움말 내용 추가하기
- 13.5 도움말 컨텐트 구조
- 13.6 F1 도움말
- 13.7 도움말을 갖는 플러그인 내보내기
- 13.8 정리
- 13.9 참고자료
- 13.1 타깃 플랫폼에 추가하기
- 14장 소프트웨어 관리
- 14.1 p2 가져오기
- 14.2 피처
- 14.2.1 피처 역할
- 14.2.2 피처 정의
- 14.3 피처 정의하기
- 14.4 피처 브랜드 적용하기
- 14.5 하이퍼볼라 업데이트
- 14.6 p2 UI 변경
- 14.7 카테고리 정의
- 14.8 자동 업데이트
- 14.9 정리
- 14.10 참고자료
- 3부 워크벤치
- 15장 워크벤치 어드바이저
- 15.1 워크벤치 어드바이저
- 15.1.1 워크벤치 생명주기
- 15.2 WorkbenchAdvisor
- 15.2.1 생명주기 API
- 15.2.2 예외와 유휴 API
- 15.2.3 구성 API
- 15.3 WorkbenchWindowAdvisor
- 15.3.1 IWorkbenchWindowConfigurer
- 15.4 ActionBarAdvisor
- 15.4.1 IActionBarConfigurer
- 15.5 워크벤치 개요
- 15.5.1 워크벤치 확장점 참조
- 15.5.2 액션
- 15.5.3 규모 확장성
- 15.5.4 컨트리뷰션
- 15.5.5 퍼스펙티브
- 15.5.6 시동
- 15.6 정리
- 15.7 참고자료
- 15.1 워크벤치 어드바이저
- 16장 퍼스펙티브, 뷰, 편집기
- 16.1 퍼스펙티브
- 16.1.1 퍼스펙티브 추가
- 16.1.2 Debug 퍼스펙티브와 콘솔 뷰 추가
- 16.1.3 IPageLayout 참조
- 16.1.4 퍼스펙티브 바
- 16.1.5 퍼스펙티브 메뉴
- 16.1.6 프로그램으로 퍼스펙티브 제어하기
- 16.2 뷰와 편집기
- 16.2.1 동일한 뷰의 다중 인스턴스
- 16.2.2 스티키 뷰
- 16.2.3 기여한 뷰 보기
- 16.2.4 뷰 레지스트리
- 16.2.5 파트를 함께 연결하기
- 16.3 다중 워크벤치 윈도우
- 16.3.1 윈도우 탐색 메뉴
- 16.4 편집기를 드래그앤드롭으로 열기
- 16.5 정리
- 16.6 참고자료
- 16.1 퍼스펙티브
- 17장 액션
- 17.1 개요
- 17.2 하이퍼볼라의 선언적 액션
- 17.2.1 선언적 액션
- 17.2.2 컨트리뷰션 허용하기
- 17.2.3 액션 선언하기
- 17.2.4 컨텍스트 메뉴
- 17.3 표준 워크벤치 액션
- 17.4 리타기터블 액션
- 17.5 선언적 액션 통합하기
- 17.6 툴바 액션 활용 팁
- 17.6.1 이미지와 텍스트 보여주기
- 17.6.2 툴바에 컨트롤 추가
- 17.7 상태 표시줄에 컨트리뷰션 추가
- 17.8 진행 상황 알리기
- 17.8.1 비선점 진행
- 17.8.2 진행 뷰
- 17.8.3 진행 관련 설정
- 17.8.4 ProgressProvider 작성
- 17.9 정리
- 18장 커맨드
- 18.1 액션의 문제점
- 18.2 커맨드
- 18.3 컨트리뷰션
- 18.3.1 메뉴 컨트리뷰션
- 18.3.2 표준 워크벤치 컨트리뷰션
- 18.3.3 컨트리뷰션 가시성
- 18.4 핸들러
- 18.5 정리
- 18.6 참고자료
- 19장 색다른 워크벤치 윈도우 만들기
- 19.1 무엇을 고칠 수 있을까?
- 19.2 워크벤치 윈도우 조정
- 19.2.1 UI 요소를 숨기거나 보여주기
- 19.2.2 FormLayout
- 19.2.3 툴바 숨기기
- 19.2.4 토글 액션 추가하기
- 19.2.5 빠른 검색 패널
- 19.2.6 한번 실행해보자
- 19.3 윈도우 모양 바꾸기
- 19.3.1 모양새 만들기
- 19.3.2 윈도우 생성하기
- 19.3.3 윈도우 컨텐트 정의
- 19.4 정리