Top

이클립스 4 플러그인 개발

  • 원서명Eclipse 4 Plug-in Development by Example: Beginner's Guide (ISBN 9781782160328)
  • 지은이알렉스 블루윗
  • 옮긴이신은정
  • ISBN : 9788960774971
  • 35,000원
  • 2013년 11월 29일 펴냄
  • 페이퍼백 | 444쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 이클립스 프로페셔널

책 소개

이클립스 플러그인 개발을 위한 환경설정에서부터 테스트, 빌드까지 플러그인 개발 전반을 다루는 책이다. 전 세계의 시계를 보여주는 뷰 플러그인 만들기와 같이 실제 개발에 활용 가능한 예제를 따라 하는 방식으로 설명함으로써 초보자도 쉽게 개발을 시작할 수 있다. 이클립스 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)를 이용해서 자동으로 빌드하는 방법을 자세히 살펴본다.

저자/역자 소개

저자 서문

이클립스 플랫폼 기반의 플러그인 개발 방법을 소개하는 책이다. 자바를 사용할 줄 안다면 책의 예제를 따라 하는 데 무리가 없다. 이 책을 다 읽고 나면 이클립스 플러그인을 생성할 수 있고 플러그인의 자동 빌드 체계를 만들 수 있게 된다.

저자 소개

알렉스 블루윗 (Alex Blewitt)

1996년, 자바 버전 1.0이 릴리스된 이후부터 지금까지 자바 애플리케이션 개발자로 활동 중이며, IBM 웹스피어 스튜디오(WebSphere Studio) 제품군의 일부로 이클립스 플랫폼이 처음 릴리스된 이후부터 이클립스 플랫폼을 사용하고 있다. 그는 디자인 패턴의 자동 검증에 대한 자신의 박사 논문에서 ‘비주얼 에이지 포 자바(Visual Age for Java)’ 플러그인 몇 가지를 웹스피어 스튜디오/이클립스로 마이그레이션하기도 했다. 맥 OS X용 이클립스 2.1을 릴리스할 때는 테스터로서 오픈소스 커뮤니티에 참여했으며, 이후 이클립스존(EclipseZone) 편집자로 활동했다. 2007년, 이클립스 앰버서더(Eclipse Ambassador)의 결승 진출자이기도 하다.

최근 알렉스는 제너릭 자바(generic Java), 특히 이클립스와 OSGi를 다룬 기고문을 InfoQ에 실었으며, 2011 OSGi 커뮤니티 행사에서 OSGi의 과거와 현재, 미래를 주제로 기조연설을 했다. InfoQ 홈페이지에는 이클립스 플랫폼의 릴리스 소식과 이클립스 프로젝트에 대한 보도뿐만 아니라 이클립스 프로젝트 리더의 비디오 인터뷰도 있다. 이런 공로를 인정받아 알렉스는 2012년, 이클립스 최고 기여자 시상식(Eclipse Top Contributor 2012 award)에서 상을 수상했다.

알렉스는 현재 런던의 투자 은행에서 근무 중이며, 밴들렘 리미티드(Bandlem Limited)를 통해 애플 앱스토어에 많은 앱을 등록하기도 했다. 기술 분야에서 일하기 전에는 날씨가 좋으면 가까운 크랜필드 공항에서 비행을 즐겼다.

알렉스는 정기적으로 블로그 http://alblue.bandlem.com에 글을 기고하고 있으며, @alblue라는 아이디로 트위터와 앱넷(App.Net)에도 글을 게재하고 있다.

옮긴이의 말

이클립스는 다양한 플랫폼에서 자바, 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』 등을 참고하길 바란다.

옮긴이 소개

신은정

아주대학교 정보 및 컴퓨터 공학부를 졸업하고, 2001년 LG CNS에 입사해 다양한 산업의 SI 프로젝트를 수행했으며, 웹서비스와 BPM, SOA 등에 대한 연구 개발 프로젝트를 수행했다. 또한 개발 생산성 향상을 위한 이클립스 기반 개발 도구와 스프링 기반 엔터프라이즈 프레임워크를 개발했으며, 클라우드에도 관심이 많아 한국정보화진흥원의 클라우드 관련 연구 과제와 OAuth 지침서 작성에도 참여했다. 이런 경험이 기반이 돼 93회 정보관리기술사에 합격했고, 현재는 KT에서 중소기업의 참신하고 기술력 있는 소프트웨어를 발굴하고 평가하는 업무와 IT 거버넌스 관련 업무를 수행 중이다.

목차

목차
  • 1장 첫 번째 플러그인 작성
  • 시작하기
  • 첫 번째 플러그인 작성
  • 플러그인 실행
  • 플러그인 디버깅
  • 단계 필터로 디버깅
  • 다른 유형의 중단점 사용
  • 조건부 중단점 사용
  • 예외 중단점 사용
  • 정리

  • 2장 SWT로 뷰 작성
  • 뷰와 위젯 생성
  • 자원 관리
  • 사용자와 상호작용
  • 기타 SWT 위젯 사용
  • 정리

  • 3장 JFace 뷰어 작성
  • 왜 JFace인가?
  • 트리 뷰어 생성
  • 정렬과 필터링
  • 상호작용과 속성
  • 테이블 데이터
  • 정리

  • 4장 사용자와 상호작용
  • 액션과 커맨드, 핸들러 작성
  • 작업과 진행 상황
  • 오류 보고
  • 정리

  • 5장 환경설정과 설정 저장
  • 환결설정 저장
  • IMemento와 DialogSettings 사용
  • 정리

  • 6장 자원 다루기
  • 작업 공간과 자원 사용기
  • 네이처 사용
  • 마커 사용
  • 정리

  • 7장 이클립스 4 모델
  • E4 모델로 작업
  • 서비스와 컨텍스트 사용
  • 커맨드와 핸들러, 메뉴 아이템 사용
  • 주입 가능한 사용자 정의 클래스 생성
  • 정리

  • 8장 피처, 업데이트 사이트, 애플리케이션 제품 생성
  • 피처로 플러그인 그룹 생성
  • 애플리케이션과 제품 빌드
  • 정리

  • 9장 플러그인 테스트 자동화
  • 테스트 자동화를 위한 JUnit 사용
  • 사용자 인터페이스 테스트를 위해 SWTBot 사용
  • SWTBot으로 작업
  • 뷰 테스트
  • UI와 상호작용
  • 정리

  • 10장 티코를 이용한 빌드 자동화
  • 티코로 플러그인 빌드하기 위한 메이븐 이용
  • 티코로 피처와 업데이트 사이트 구성
  • 테스트와 릴리스
  • 업데이트 사이트에 서명 적용

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안