이클립스 4 플러그인 개발(acorn+ PACKT)
『이클립스 4 플러그인 개발』은 플러그인 개발의 전반적인 내용을 다룬 책이다. 이클립스 플러그인 소개부터 시작해서 패키징에 대한 내용을 다루고, 테스트와 배치 자동화까지 설명한다. 이 외에도 직접 개발하고 확장 가능한 샘플을 예제 코드로 제공한다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
이클립스 플러그인 개발을 위한 환경설정에서부터 테스트, 빌드까지 플러그인 개발 전반을 다루는 책이다. 전 세계의 시계를 보여주는 뷰 플러그인 만들기와 같이 실제 개발에 활용 가능한 예제를 따라 하는 방식으로 설명함으로써 초보자도 쉽게 개발을 시작할 수 있다. 이클립스 3.x에서 동작하는 플러그인 개발 방법을 주로 다루지만, 7장에서는 이클립스 3.x와 이클립스 4 모델 기반 개발의 차이점을 설명하고, 이클립스 4 모델의 좋은 기능도 소개한다.
★ 이 책에서 다루는 내용 ★
■ 이클립스 3.x와 4.x를 위한 플러그인 개발 방법과 JUnit을 이용한 플러그인 테스트 자동화 방법
■ 뷰에 트리와 테이블을 이용해 정보를 제공하는 방법
■ 이클립스 3.x 모델과 이클립스 4.x 모델 사이의 차이점
■ SWT와 JFace로 사용자 인터페이스를 개발하는 방법과 시기
■ 백그라운드로 작업을 실행하는 방법과 비동기로 사용자 인터페이스를 업데이트하는 방법
■ 메이븐 티코(Maven Tycho)를 이용해 플러그인과 피처, 업데이트 사이트를 빌드하고, SWTBot으로 사용자 인터페이스 테스트를 자동화하는 방법
■ 환경설정을 저장하고 조회하는 방법과 환경설정 패널에 통합하는 방법
■ 이클립스 자원 모델을 이용해서 파일을 생성하고 변경하는 방법과 사용자에게 오류를 보고하는 방법
★ 이 책의 대상 독자 ★
이 책의 주요 독자는 이클립스 플랫폼 기반의 플러그인과 제품, 애플리케이션의 개발 방법을 배우고자 하는 자바 개발자다. 이 책은 플러그인을 빌드하고 디버깅하기 위한 이클립스를 설치하고 사용하는 방법을 시작으로 사용자 인터페이스 유형을 설명하고 업데이트 사이트를 생성하며, 플러그인 빌드와 테스트를 자동화하는 방법을 설명하고 마친다.
이클립스 플러그인 개발 경험이 있으면서 메이븐 티코(Maven Tycho)를 이용해 빌드를 자동화하고자 하는 개발자에게도 유용하다. 메이븐 티코는 이클립스 플러그인 개발에서 사실상 표준처럼 사용된다.
마지막으로 이클립스 3.x 모델에는 익숙하지만 이클립스 4.x 모델에서 변경된 내용에 관심이 있는 개발자도 대상으로 한다. 이와 관련된 내용은 7장에서 주로 다루며, 새로운 모델이 제공하는 유익한 기능을 요약해서 설명한다.
★ 이 책의 구성 ★
1장, 첫 번째 플러그인 작성에서는 이클립스를 다운로드해 플러그인 개발 환경을 설정하는 방법과 샘플 플러그인을 생성해 실행하고 디버깅하는 방법을 살펴본다.
2장, SWT로 뷰 작성에서는 시스템 트레이와 자원 관리 같은 사용자 정의 SWT 컴포넌트와 SWT를 사용해 뷰를 생성하는 방법을 소개한다.
3장, JFace 뷰어 작성에서는 테이블 뷰어(TableViewer)와 트리 뷰어(TreeViewer)를 사용해서 JFace로 뷰를 생성하는 방법과 속성 뷰에 사용자와의 상호작용을 연결하는 방법을 설명한다.
4장, 사용자와 상호작용에서는 커맨드와 핸들러, 메뉴를 사용해서 사용자와 상호작용해보고 작업(Job)과 진행(Progress API)도 사용해본다.
5장, 환경설정과 설정 저장에서는 환경설정 정보를 저장하는 방법과 환경설정 페이지에 이런 정보를 표현하는 방법을 설명한다.
6장, 자원 다루기에서는 워크벤치에서 자원(Resource)을 로드하고 생성하는 방법을 알아보고, 자동화된 프로세스로 빌더와 네이처를 생성해본다.
7장, 이클립스 4 모델에서는 이클립스 3.x와 이클립스 4.x 모델 간의 주요 차이점과 기존 콘텐츠를 새로운 모델로 마이그레이션하는 방법을 설명한다.
8장, 피처, 업데이트 사이트, 애플리케이션, 제품 생성에서는 책을 따라 하며 생성한 플러그인을 묶어 피처로 만들고 업데이트 사이트에 게시하는 방법과 애플리케이션과 제품을 사용해서 독립적인 객체를 생성하는 방법을 다룬다.
9장, 플러그인 테스트 자동화에서는 UI 컴포넌트와 non-UI 컴포넌트 모두를 포함한 이클립스 플러그인을 자동으로 테스트하는 코드 작성법을 설명한다.
10장, 티코를 이용한 빌드 자동화에서는 이클립스 플러그인과 피처, 업데이트 사이트, 애플리케이션, 제품을 메이븐 티코(Maven Tycho)를 이용해서 자동으로 빌드하는 방법을 자세히 살펴본다.
★ 저자 서문 ★
이클립스 플랫폼 기반의 플러그인 개발 방법을 소개하는 책이다. 자바를 사용할 줄 안다면 책의 예제를 따라 하는 데 무리가 없다. 이 책을 다 읽고 나면 이클립스 플러그인을 생성할 수 있고 플러그인의 자동 빌드 체계를 만들 수 있게 된다.
★ 옮긴이의 말 ★
이클립스는 다양한 플랫폼에서 자바, C 등 다양한 언어로 애플리케이션을 개발, 빌드, 배치할 수 있게 지원하는 통합 개발 도구다. 웹스피어 스튜디오(WebSpheare Studio)에서 애플리케이션 개발자(Application Developer)라는 멀티플랫폼을 지원하는 IBM의 통합 개발 환경을 오픈소스로 공개하면서 이클립스는 시작됐다. 2003년, 이클립스의 첫 번째 버전이 릴리스됐고, 2004년 6월에 OSGi로 런타임 기반 구조를 변경한 이클립스 3.0이 릴리스되면서 이클립스는 가장 큰 변화를 겪었다. 이클립스 플러그인뿐만 아니라 OSGi 번들도 쉽게 사용할 수 있게 됨으로써 더욱 강력해진 이클립스를 사용하는 개발자의 수가 증가했고, 자바 개발에 있어서는 사실상 표준 도구가 됐다.
나도 간단한 편집기를 이용해 자바 기반의 웹 애플리케이션을 개발하다가 이클립스 3.2 버전부터 이클립스를 사용했다. 이클립스 플러그인 개발은 2008년 J2EE 프레임워크 기반의 애플리케이션 개발 지원 도구를 이클립스 플러그인으로 개발하면서 시작했다. 탄탄한 컴포넌트 아키텍처 기반의 이클립스 플러그인을 개발하면서 단순히 이클립스 사용자일 때는 몰랐던 진정한 CBD(Component Based Development)를 경험하고 매우 감탄했으며, 이클립스 내부 설계 사상과 적용된 디자인 패턴을 이해하면서 플러그인 개발뿐만 아니라 OO/CBD 기반 개발에 대해서도 많이 학습하는 기회가 됐다. 이 책을 읽는 독자들도 이클립스 플러그인 개발을 통해 나와 같은 경험을 하게 되리라 확신한다.
이클립스 3.x는 2011년 인디고(Indigo)를 마지막으로 릴리스하고, 2012년 6월 이클립스 4 모델 기반의 주노(Juno)(4.2)를 릴리스했다. 이클립스 4의 초기에는 무겁고 느리다는 평을 많이 받았지만, 이런 문제를 상당 부분 개선해서 케플러(Kepler)(4.3)를 릴리스했다. 이클립스 4는 이클립스 3을 기반으로 해 호환성을 지원하며, 이클립스 UI를 EMF 모델을 기반으로 정의함으로써 런타임 시에 모델 변경이 가능하다. 뿐만 아니라 CSS 파일을 통해 스타일을 설정함으로써 친숙한 화면 구성이 가능하고, DI(Dependency Injection)를 지원해 테스트나 빌드 자동화의 수준을 높였다. 이 책을 통해 이클립스 4 모델 기반의 플러그인 개발을 시작하고 이런 장점을 직접 경험해보길 바란다.
이 책은 이클립스 플러그인 개발을 위한 환경설정에서부터 테스트, 빌드까지 플러그인 개발 전반을 다룬다. 전 세계의 시계를 보여주는 뷰 플러그인 만들기와 같이 실제 개발에 활용 가능한 예제를 따라 하는 방식으로 설명함으로써 초보자도 쉽게 개발할 수 있다. 가장 많은 부분을 할애한 7장은 이클립스 3.x와 이클립스 4 모델 기반의 개발이 어떻게 다른지를 설명하고, 앞서 언급한 이클립스 4 모델의 좋은 기능을 소개한다.
예제의 시나리오에 집중하다 보니 SWT/JFace와 이클립스 플랫폼 내부의 자세한 동작 원리에 대한 설명이 다소 부족하게 느껴질지도 모른다. 이와 관련된 자세한 내용은 Eclipse.org 기술 문서나 『SWT/JFace 인 액션』, 『이클립스 SWT』, 『이클립스 RCP』 등을 참고하길 바란다.
목차
목차
시작하기
첫 번째 플러그인 작성
플러그인 실행
플러그인 디버깅
단계 필터로 디버깅
다른 유형의 중단점 사용
조건부 중단점 사용
예외 중단점 사용
정리
2장 SWT로 뷰 작성
뷰와 위젯 생성
자원 관리
사용자와 상호작용
기타 SWT 위젯 사용
정리
3장 JFace 뷰어 작성
왜 JFace인가?
트리 뷰어 생성
정렬과 필터링
상호작용과 속성
테이블 데이터
정리
4장 사용자와 상호작용
액션과 커맨드, 핸들러 작성
작업과 진행 상황
오류 보고
정리
5장 환경설정과 설정 저장
환결설정 저장
IMemento와 DialogSettings 사용
정리
6장 자원 다루기
작업 공간과 자원 사용기
네이처 사용
마커 사용
정리
7장 이클립스 4 모델
E4 모델로 작업
서비스와 컨텍스트 사용
커맨드와 핸들러, 메뉴 아이템 사용
주입 가능한 사용자 정의 클래스 생성
정리
8장 피처, 업데이트 사이트, 애플리케이션 제품 생성
피처로 플러그인 그룹 생성
애플리케이션과 제품 빌드
정리
9장 플러그인 테스트 자동화
테스트 자동화를 위한 JUnit 사용
사용자 인터페이스 테스트를 위해 SWTBot 사용
SWTBot으로 작업
뷰 테스트
UI와 상호작용
정리
10장 티코를 이용한 빌드 자동화
티코로 플러그인 빌드하기 위한 메이븐 이용
티코로 피처와 업데이트 사이트 구성
테스트와 릴리스
업데이트 사이트에 서명 적용
정리
저자
저자
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

