Top

자바로 만드는 애니메이션 & 그래픽스 [사용자를 사로잡는 화려한 데스크탑 애플리케이션 만들기]

  • 원서명Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications (ISBN 9780132413930)
  • 지은이쳇 하스, 로메인 가이
  • 옮긴이양석호
  • ISBN : 9788960771000
  • 38,000원
  • 2009년 10월 12일 펴냄 (절판)
  • 페이퍼백 | 596쪽 | 188*250mm

판매처

  • 현재 이 도서는 구매할 수 없습니다.

책 소개

사용자를 매료시키는 GUI와 역동적인 이펙트로 가득한 애플리케이션. 스윙과 자바2D로 화려하고 멋진 데스크탑 애플리케이션을 만들기 위해 자바 개발자가 꼭 알아야 할 애니메이션 이펙트와 그래픽스 프로그래밍


[ 소개 ]

화려하고 멋진 리치 클라이언트란 뛰어난 그래픽을 지녀 정말 멋져 보이는 리치 애플리케이션을 뜻한다. 리치 클라이언트는 사용자를 강하게 끌어들이고 흥분해 손을 뗄 수 없게 만든다. 이 책에서는 더 효율적이고 멋진 애플리케이션을 잘 만들어 사용자 경험을 극대화하는 방법을 제시한다.

리치 클라이언트의 핵심은 그래픽스와 애니메이션 이펙트다. 이들 이펙트를 사용하면 매력적인 GUI와, 애플리케이션을 살아 숨쉬게 하는 역동적인 이펙트, 애플리케이션의 논리적 흐름과 사용자를 연결시키는 애니메이션 장면전환 등을 통해 사용자의 경험을 향상시킬 수 있다. 또한 애플리케이션을 풍부하게 만드는 이펙트를 효율적으로 구현하는 방법도 다룬다.

핵심 개념을 다루는 예제코드가 수록돼 있으며 공식 웹사이트(http://filthyclients.org)에서 화려한 리치 클라이언트 기술에 대한 방대한 데모와 유틸리티 라이브러리, 추가 정보를 찾아볼 수 있다.

형식에 얽매이지 않으면서도 재미있고 매우 유용한 책이며 자바 데스크탑 애플리케이션 개발자에게는 최고의 지침서다.


[ 이 책에서 다루는 내용 ]

그래픽과 GUI 기초: 스윙과 자바 2D를 연계해 GUI 애플리케이션을 화면에 출력하는 방법과 내부 구조를 파헤쳐 본다. 이들 라이브러리의 유연성을 극대화하고 효율적으로 사용하는 방법을 배운다.
성능: 책 전체에 걸쳐 설명하는 토론과 팁을 이용해 고성능 GUI 애플리케이션을 개발한다.
이미지: 더 나은 자바 애플리케이션을 만들 수 있는 이미지 생성과 사용법을 알아본다.
고급 그래픽: 화려한 리치 클라이언트에 날개를 달아주는 스윙과 자바 2D 요소에 대해 배운다.
애니메이션: 애니메이션의 일반적 개념과 함께 자바 플랫폼에서 사용하는 기능의 사용법을 배운다. 자바 애니메이션을 쉽게 구현할 수 있는 새로운 유틸리티 라이브러리를 소개한다.
이펙트: 정적 이펙트와 애니메이션 이텍트를 만들고 커스터마이즈하는 방법을 배워본다.


[ 이 책의 대상 독자 ]

자바 언어와 스윙에 대한 경험이 있다면 유용할 것이다. 이 책은 자바와 스윙 입문서가 아니며 자바와 스윙을 어느 정도 알고 있는 독자를 대상으로 한다. 그러나 화려한 리치 클라이언트 제작을 이해하기 위해 중요한 스윙의 렌더링 기초 중 일부는 고급 스윙 프로그래머라 할지라도 어려워할 수 있기에, 스윙과 자바 2D를 함께 사용해 사용자정의 이펙트를 만드는 방법을 설명하는 데 초반 몇 장을 할애했다. 여기서 만든 이펙트는 책 전체에서 사용한다.


[ 이 책의 구성 ]

1부. 그래픽과 GUI 기초
1부에서는 책 전반에 걸쳐 사용하는 자바 그래픽과 UI 프로그래밍의 기본 개념을 배운다. 그래픽과 UI 개발에 대해 상세히 설명하는 것은 아니지만 API, 기술 등의 기초에 대해 누구나 이해할 수 있도록 자세히 설명하고 이후 내용들을 활용해 화려한 리치 클라이언트를 개발하는 데 도움이 되는 내용을 다룬다.
AWT, 자바 2D, 스윙을 잘 알고 있다면 이 부분은 진부해 보일 수도 있겠지만, 그래도 기본 개념은 꼭 필요하다. 또한 책 여기저기에는 모든 데스크탑 자바 프로그래머에게 유용한 흥미로운 토막 상식을 많이 담았다.

2부. 고급 그래픽 렌더링
2부에서는 자바 2D와 스윙으로 리치 인터페이스를 만드는 데 유용한 고급 주제들을 살펴본다. 2부 전반부에는 컴포지트, 그래디언트, 이미지 프로세싱 등 그래픽 관련 기술을 다루고 후반부에는 글라스 페인, 레이어 페인, 리페인트 매니저 등 스윙 관련 기술을 다룬다.

3부. 애니메이션
화려한 리치 클라이언트는 정적인 것이 아니다. 살아있는 것이다. 그러므로 움직여야 한다. 심장박동 소리로 사용자에게 존재를 알려야 한다. 보기 좋게 만드는 것이 반이고 살아 움직이는 듯 보이게 하는 것이 나머지 반이다.
3부는 애플리케이션에 생명을 불어넣는 애니메이션 기초를 다룬다. 그래픽 애니메이션과 GUI 애니메이션, 애니메이션 개발을 도와주는 자바 SE 라이브러리, 자바 애니메이션 개발을 매우 쉽게 만들어주는 타이밍 프레임워크 라이브러리 등을 다룬다.

4부. 이펙트
4부는 1, 2, 3부 내용을 기반으로 구성됐다. 이펙트는 화려한 리치 클라이언트의 핵심이며 보통 리치 클라이언트와 화려한 리치 클라이언트를 구분짓는다. 이펙트는 두 가지 카테고리로 나눴다. 첫 번째 카테고리는 애플리케이션을 더 멋져 보이게 만드는 정적 이펙트다. 두 번째 카테고리는 GUI를 움직이게 만드는 동적 이펙트, 또는 애니메이션 이펙트다. 책의 웹사이트에서 제공하는 유틸리티 라이브러리를 이용해 애니메이션 이펙트를 구현하는 애니메이션 장면전환 라이브러리도 다룬다. 맨 처음 디자인 다이어그램에서부터 다양한 이펙트 구현까지 화려한 리치 클라이언트 예제를 개발하는 과정을 소개하며 4부를 마친다.


[ 추천의 글 ]

이 책은 화려하고 멋진 애플리케이션을 만드는 방법을 다룬다. 표준이라고는 하지만 텍스트박스와 버튼이 난무하는 정체불명의 룩앤필이 아닌, 진정으로 아름다운 애플리케이션 말이다.

꽤 오래 전, GUI 세상은 표준화된 룩앤필 명세가 지배하고 있었다. 애플리케이션의 GUI 코딩을 모두 집약하고 애플리케이션을 쉽게 문서화하며(슬라이더 용도는 누구든 알고 있으므로 설명할 필요가 없다) 열등한 그래픽 성능을 극복하기 위한 노력의 일환이었다.

하지만 지난 수십 년 간 컴퓨터 산업과 소비자가 상충하면서 사용자 인터페이스UI의 미적 감각을 강조하는 경향이 커졌다. 브랜드 인지도에서부터 정교한 시스템의 이해도 증가, 고객을 사로잡는 근사함, 그저 ‘우와’하는 감탄사가 나오게 만드는 것에 이르기까지 모든 것에 미의식(美意識, aesthetics)이 관여하고 있다.

무어의 법칙대로 경이적으로 발전하는 컴퓨터 성능, 특히 필수적인 그래픽 렌더링 하드웨어로서의 성능 발전이 미에 대한 새로운 발상과 어우러져 엔터테인먼트 프로그래밍의 영역을 크게 넓히고 있다.

‘어떻게 아름다운 인터페이스를 만들까?’, ‘어떻게 픽셀pixel이 어우러져 아름다워 보이게 할 것인가?’, ‘개발 속도를 높이는 방법이 뭘까?’ 이러한 질문들에 대해 명쾌하게 대답하기란 쉽지 않다. 이 책은 이러한 주제뿐 아니라 더 많은 질문에 답을 주고 있다. 이 같은 프로그래밍 작업은 내게 큰 즐거움을 준다. 여러분도 함께 즐기기 바란다.

-제임스 고슬링

저자/역자 소개

[ 저자 서문 ]

멋진 리치 클라이언트 세계에 온 여러분을 환영한다. 이 책은 그래픽 이펙트와 애니메이션 이펙트를 활용해 더 훌륭하고 효율적이고 멋진 데스크탑 애플리케이션을 개발하는 방법을 다룬다. 2006년 자바원(JavaOne) 컨퍼런스에서 성공적으로 세션을 마친 후에 우리는 이 주제로 책을 쓰기 시작했다. 발표한 세션 내용은 애니메이션을 활용하고 고급 2D 이펙트를 구현해 더욱 풍부한 애플리케이션을 만드는 방법에 대한 것이었고 3D 이펙트도 약간 다뤘다. 왜 그런 애플리케이션을 개발해야 하는지, 어떤 기술을 사용하는지, 이펙트를 적절히 활용해 멋진 리치 클라이언트를 개발하는 방법에 대해 며칠이고 발표하고 싶었지만 그럴 수는 없었다.

이것이 바로 이 책을 쓰게 된 동기다. 앞으로 자바의 기초, 스윙, 자바 2D, 그래픽스, GUI, 애니메이션, 성능, 고급 이펙트 등 화려하고 멋진 애플리케이션을 만드는 데 필요한 내용을 함께 배울 것이다.

즐거운 여행에 동참하길 바란다.


[ 저자 소개 ]

쳇 하스 (Chet Haase)
어도비시스템즈의 플렉스 SDK 개발에 참여하고 있다. 이 책을 쓸 당시에는 썬마이크로시스템즈 자바 SE 그룹의 클라이언트 아키텍트였다. 스윙과 자바 2D를 비롯한 모든 데스크탑 자바 기술을 다루며 플랫폼 발전에 기여했다. 소프트웨어 분야 중 그래픽에 열의를 갖고 있으며 (대학 졸업 후 네트워크 분석에 잠깐 몸담았지만 너무나 지루해 그만둔 것 외에) 애플리케이션 수준에서 드라이버 수준에 이르기까지 2D, 3D 등 모든 종류의 그래픽 기술을 개발하며 대부분 경력을 쌓 았다. 쳇은 칼튼 칼리지에서 수학 학사 과정을 수료하고 오리건 대학교에서 컴퓨터 정보학 석사 과정을 수료했다.

로메인 가이 (Romain Guy)
구글 안드로이드 UI 툴킷 개발에 참여하고 있다. 마지막 학기 동안 이 책을 쓰느라 2007년 가을에야 컴퓨터 공학 석사 학위를 받을 수 있었다. 주요 관심사는 그래픽스와 GUI 개발이며 수년간의 자바와 스윙 개발 경력이 있다. 로메인은 현재에 안주하지 않고 프로그래밍 잡지의 프리랜스 저널리스트, 오라일리 번역자, 프랑스 소재 대학의 자바 강사, 비디오게임 개발자, 프리랜스 개발자, 썬 마이크로시스템즈 스윙 팀의 소프트웨어 엔지니어, 구글의 소프트웨어 엔지니어 등 수많은 일을 하고 있다. 그의 새로운 관심사는 디지털 사진이다.


[ 옮긴이의 말 ]

요즘 애플리케이션은 사용자에게 단순히 기능뿐만 아니라 즐거움을 주려고 노력한다. 특히 사용자의 전환이 빠르고 경쟁이 치열한 웹 애플리케이션은 AJAX, 플래시로 이어지며 화려한 UI와 사용자 경험(UX, User eXperience)을 더욱 강조한 RIA(Rich Internet Application)가 어느새 당연한 것으로 받아들여지고 있다.

그만큼 개발환경도 좋아져서 개발 툴에서 몇 번의 조작만으로도 멋진 애니메이션을 만들 수 있다. 심지어 애플리케이션 개발과 애니메이션 구성이 별개 작업으로 이뤄지기도 한다. 하지만 리치 클라이언트에서 애니메이션의 의미는 단순히 눈을 즐겁게 하는 것뿐만 아니라 애플리케이션 전체가 하나의 흐름으로 사용자에게 전달되기 위한 것이다. 이를 정확히 반영하기 위해서는 개발자가 그래픽이나 애니메이션의 기초 원리를 파악하고 애플리케이션 전반에 걸쳐 녹여내야 한다. 단순한 애니메이션의 나열로는 사용자의 호기심은 자극할 수 있을지언정 사용자의 마음을 흔들 수는 없다.

이 책에서는 리치 클라이언트의 선구자인 저자들이 리치 클라이언트 개발의 기본 원리를 기초부터 설명하고, 풍부한 개발 경험과 함께 직접 개발한 그래픽스/애니메이션 라이브러리를 제시하고 설명한다. 자바 2D와 스윙 라이브러리를 기준으로, 그래픽스나 애니메이션의 기초 원리를 개발자 대상으로 충실히 설명한다. 또한 리치 클라이언트로서 가져야 할 기본 원칙이나 이펙트, 수학적인 기초, 성능 최적화 기법 등은 플랫폼에 무관하게 활용할 요소가 많다.

아직은 딱딱해 보이는 이클립스 RCP에 좀 더 활력을 불어 넣을 방안을 모색하기 위해 이 책의 번역을 맡았다. 원래 스윙을 좋아하기도 했지만, ‘쿨Cool’한 애플리케이션을 향한 저자들의 열정과 노하우가 정말 매력적이었기 때문이다. 이 책이 번역되는 동안, 저자 중 한 명인 쳇은 JavaFX를 개발하다 결국 어도비로 자리를 옮겨서 RIA 플랫폼 개발에 더욱 매진하고 있다. 로메인은 구글에서 안드로이드 UI 개발에 참여하고 있다. 스윙에 많은 기여를 했던 두 사람이 이제는 그 경험을 살려 각자 다른 플랫폼에 기여를 하고 있는 셈이다. 그래픽스나 애니메이션에 대한 기초 지식에 부족함을 느낀 채 툴에 의존해 리치 클라이언트를 개발하고 있는 독자라면, 이 책에서 두 저자가 남겨둔 발자국을 따라가면서 더욱 멋진 리치 클라이언트를 향한 기반을 탄탄히 할 수 있을 것이다.


[ 옮긴이 소개 ]

양석호
KAIST 전산과를 졸업하고 웹, 모바일, 임베디드, 자바 GUI 애플리케이션 등 다양한 프로젝트를 수행했으며 현재는 네이버 재팬에서 일본 검색서비스 개발에 참여하고 있다. 에이콘 이클립스 프로페셔널 시리즈 에디터를 맡아 『이클립스 RCP』, 『실전 이클립스 플러그인 개발』을 번역하는 등 양질의 이클립스 관련서를 독자들에게 소개하는 데 큰 보람을 느낀다. 또한 2005년부터 네이버 이클립스 플러그인 까페(http://cafe.naver.com/eclipseplugin)를 운영하며 점점 늘어가는 이클립스 플러그인 개발자들과 함께 이클립스 기술 전파에 노력하고 있다.

목차

목차
  • 1부 | 그래픽스와 GUI 기초
  • 1장 | 데스크탑 자바 그래픽스 API: 스윙, AWT, 자바 2D
    • 추상 윈도우 툴킷(AWT)
    • 자바 2D
    • 스윙
  • 2장 | 스윙 렌더링 기초
    • 이벤트
    • 스윙 페인트
      • 비동기식 리페인트 요청
      • 동기식 페인트 요청
    • 스윙 렌더링
      • paintComponent()
      • paint()
      • setOpaque()
    • 이중 버퍼링
    • 스레드 다루기
      • 스레드 모델
      • 타이머와 이벤트 해석 스레드
      • SwingWorker를 사용한 간편한 스레드 활용
      • 스레드 관련 내용 요약
  • 3장 | 그래픽스 기초
    • 자바 2D
    • 렌더링
      • 그래픽스 객체 얻기
      • 그래픽스 상태
      • 이미지 확대축소 관련 힌트
      • 도형 안티앨리어스 힌트
      • 텍스트 안티앨리어스 힌트
      • 그래픽 기본요소
  • 4장 | 이미지
    • 이미지 타입
    • BufferedImage
    • 이미지 확대축소
      • 품질과 성능
      • getFasterScaledInstance(): 더 빠르고 좋은 품질의 확대축소 이미지를 제공하는 유틸리티
  • 5장 | 성능
    • 클립 사용
    • 호환 이미지
      • 유의 사항
      • 관리되는 이미지란?
      • 이미지 호환
    • 관리되는 이미지
      • DataBuffer 객체 접근
      • 이미지 내의 잦은 렌더링
    • 중간생성 이미지
      • 기본 개념
      • 동작 원리
      • 유의사항
      • 요약
    • 기본 렌더링 최적화
    • 성능 측정
    • 명령행 플래그
      • 렌더링
      • 성능 디버깅
  • 2부 | 고급 그래픽 렌더링
  • 6장 | 컴포지트
    • 알파 컴포지트
    • 알파 컴포지트의 12 규칙
      • Clear
      • Dst
      • DstAtop
      • DstIn
      • DstOut
      • DstOver
      • Src
      • SrcAtop
      • SrcIn
      • SrcOut
      • SrcOver
      • Xor
    • AlphaComposite 생성과 설정
    • AlphaComposite의 일반적인 사용법
      • Clear
      • SrcOver
      • SrcIn
    • AlphaComposite 사용시 주의사항
    • 자신만의 컴포지트 작성
      • Add 컴포지트
      • CompositeContext 구현
      • 픽셀 합성
    • 요약
  • 7장 | 그래디언트
    • 이중 선형 그래디언트
    • 정규 그래디언트를 활용한 특수 효과
    • 다단 선형 그래디언트
    • 방사형 그래디언트
    • 그래디언트 최적화
      • 그래디언트 캐시
      • 더 똑똑한 캐시
      • 반복되는 그래디언트 최적화
  • 8장 | 이미지 프로세싱
    • 이미지 필터
    • BufferedImageOp로 이미지 처리하기
    • AffineTransformOp
    • ColorConvertOp
    • ConvolveOp
      • 커널 구성
      • 경계에 대한 작업
    • LookupOp
    • RescaleOp
    • 사용자정의 BufferedImageOp
      • 기반 필터 클래스
      • 색조 변경 필터
    • 필터 성능에 대한 이야기
    • 요약
  • 9장 | 글라스 페인 |
    • 글라스 페인에 그리기
      • 최적화된 글라스 페인 페인팅
    • 입력 이벤트 가로채기
      • 마우스 이벤트 관련 주의사항
  • 10장 | 레이어드 페인 |
    • 레이어드 페인 레이어
    • 단일 레이어 내에서 컴포넌트 정렬
    • 레이어드 페인과 레이아웃
    • 여러 레이아웃을 사용해서 JLayeredPane 대체하기
  • 11장 | 리페인트 매니저
    • 스윙이 너무 똑똑할 때
    • RepaintManager와 첫 대면
      • RepaintManager 관리
    • RepaintManager로 구현한 반사상
      • 반사상을 위한 공간 만들기
      • 반사상 그리기
      • 더 바보같은, 그래서 더 똑똑한 RepaintManager
    • 요약

  • 3부 | 애니메이션
  • 12장 | 애니메이션 기초
    • 시간에 대해서
    • 기초 개념
      • 프레임 기반 애니메이션
      • 프레임 비율
      • 시간 기반 모션
    • 타이밍(그리고 플랫폼 타이밍 유틸리티)
      • “지금 몇시죠?”
      • “모닝콜을 부탁해요.”
      • “다시 깨워줘요. 또다시. 또다시.”
    • 해상도
      • System.currentTimeMillis()와 System.nanoTime()의 해상도
      • 슬립 해상도
      • 타이머 해상도
      • 해상도에 대한 해상도
    • 스윙 애플리케이션 움직이게 하기
      • 움직이는 그래픽
      • 움직이는 GUI
      • 컨테이너 수준에서 다루기
    • 요약
  • 13장 | 매끄러운 움직임
    • 배경: 왜 애니메이션이 어색하게 보일까?
    • 애니메이션이 버벅거리는 원인과 부드럽게 만드는 법
      • 타이밍이 (거의) 모든 것이다
      • 색상: 차이가 무엇일까?
      • 수직 회기: 동기화된 감각
    • SmoothMoves: 데모
      • 그래픽스 객체 생성
      • 타이머 실행
      • 렌더링
      • 렌더링 옵션
    • 요약
  • 14장 | 타이밍 프레임워크: 기초
    • 소개
    • 핵심 개념
      • Animator 클래스
      • 콜백
      • 지속시간
      • 반복
      • 해상도
      • 시작 동작
    • 보간
      • 가속과 감속
      • 보간자
    • 요약
  • 15장 | 타이밍 프레임워크: 고급 기능
    • 트리거
      • 개념과 사용법
      • 트리거 상위클래스
      • 내장 트리거
    • 프로퍼티 설정자
      • PropertySetter 클래스
      • Evaluator
      • 키프레임
    • 요약
  • 4부 | 이펙트
  • 16장 | 사용목적
    • 블러
      • 정적 이펙트
      • 간단한 블러
      • 가우시안 블러
      • 성능향상 기법
    • 반사
      • 사용목적
      • 반사 그리기
      • 블러 적용 반사
    • 드롭 섀도우
      • 사용 목적
      • 간단한 드롭 섀도우
      • 사실적인 드롭 섀도우
    • 강조
      • 사용목적
      • 명도 높이기
      • 스팟라이트
      • 가독성 개선을 위한 텍스트 강조
    • 샤픈
      • 사용목적
      • 단순 샤픈
      • 언샤프 마스크
      • 축소된 이미지에 샤픈 적용
    • 요약
  • 17장 | 동적 이펙트
    • 움직임
      • 사용목적
      • 갑니다, 갑니다, 넘어갔습니다!
    • 페이드
      • 사용목적
      • 페이드 전략
      • AlphaComposite 페이드
      • 색상 페이드
      • 크로스페이드
      • 페이드 쉽게 하기
    • 펄스
      • 사용목적
      • 펄스 느끼기
      • 자동 백열
      • 약동하는 펄스
    • 스프링
      • 사용목적
      • 스프링 대활약
    • 모핑
      • 사용목적
      • 버튼 모핑
    • 요약
  • 18장 | 애니메이션 장면전환
    • 애플리케이션 상태를 끊김없이 전환하기
      • 기본 개념
    • 애니메이션 장면전환: 라이브러리
      • 애니메이션 애플리케이션 상태
      • GUI 상태
      • API
      • 이펙트
      • GUI 구조
      • 그림과 이미지홀더
      • ScreenTransition
    • 애니메이트 장면전환: 스윙에게 대체 어떤 일을 시키고 있을까?
      • 몰래 다음 화면 채비하기
      • 레이아웃을 펼쳐보자: 레이아웃을 서서히 변화시키기
      • 스윙을 춤추게 하자: 성능
    • 요약
  • 19장 | 화려하고 멋진 리치 클라이언트 탄생
    • 에어리스
      • 에어리스 실행
      • 직접 해보기
      • 작업흐름도 페이퍼 디자인
    • 시안
    • 화면 구성 디자인
    • 목업
    • 목업에서 코드까지
      • 레이어
      • 블렌딩 모드
      • 안내선
    • 난 예술가가 아니라구!
    • 알맞은 색상 선택
    • 디자인 서적 읽기
    • 요약

관련 블로그 글

사용자를 사로잡는, 폼나는 자바 데스크탑 리치 클라이언트
사용자 삽입 이미지
자바로 만드는 애니메이션 & 그래픽스
사용자를 사로잡는 화려한 데스크탑 애플리케이션 만들기
쳇 하스(Chet Haase), 로메인 가이(Romain Guy) 지음 | 양석호 옮김
596쪽 | 38,0000원 | 2009년 10월 12일 출간 예정

이 책의 원제는 Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications입니다.

리치 클라이언트(Rich Client)는 알겠는데, 필씨 리치 클라이언트(Filthy Rich Client)라고? Filthy는 뭔가 더럽고 추접한 걸 말하는 단어잖아. '필시' 뭔가 다른 뜻이 있나 본데 뭐지?

얼른 Phrase Finder 사이트와 Unrban Dictionary를 검색해봤습니다.
http://www.phrases.org.uk/meanings/filthy-rich.html
http://www.urbandictionary.com/define.php?term=filthy+rich

위 사이트를 읽어보시면 아시겠지만, filthy lucre라는 단어에서 유래한 filthy rich라는 단어는 1920년대에는 적법하지 않은 부당한 방법을 써서 돈을 모아 부를 누리게 된 상황을 일컫는 말이었으나 현대에 들어선 그 부정적인 뜻은 점차 희석되고 "엄청나게 부유한"이라는 결과론적인 뜻만 살아남았다고 하네요.

두 저자는 업계에서 많이 쓰이는 리치 클라이언트라는 개념에 'filthy rich'라는 유행어를 그러담아 Flithy Rich Client라는 제목을 만들어냅니다. 엄청나게 간지나고 화사하며 매력적인 리치 클라이언트를 만드는 방법을 알려준다는 뜻이죠. 따라서 (부제를 보시면 아시겠지만) 자바 데스크탑 애플리케이션을 구성하는 초간지 애니메이션과 그래픽 이펙트 프로그래밍 방법을 알려주는 책이 완성됩니다.

이 책에서는 스윙(Swing)과 자바2D에 기반해 GUI 애플리케이션을 만드는 데 필요한 여러 가지 애니메이션과 그래픽스 프로그래밍 기법을 기초부터 차근차근 알려줍니다. 물론 자바나 스윙에 대해서는 어느 정도 알고 계셔야 책을 읽으실 수 있겠지만요.
이 책에서는 리치 클라이언트의 선구자인 저자들이 리치 클라이언트 개발의 기본 원리를 기초부터 설명하고, 풍부한 개발 경험과 함께 직접 개발한 그래픽스/애니메이션 라이브러리를 제시하고 설명한다. 자바 2D와 스윙 라이브러리를 기준으로, 그래픽스나 애니메이션의 기초 원리를 개발자 대상으로 충실히 설명한다. 또한 리치 클라이언트로서 가져야 할 기본 원칙이나 이펙트, 수학적인 기초, 성능 최적화 기법 등은 플랫폼에 무관하게 활용할 요소가 많다.
옮긴이의 말 중에서, 양석호
[ 이 책에서 다루는 내용 ]

그래픽과 GUI 기초: 스윙과 자바 2D를 연계해 GUI 애플리케이션을 화면에 출력하는 방법과 내부 구조를 파헤쳐 본다. 이들 라이브러리의 유연성을 극대화하고 효율적으로 사용하는 방법을 배운다.
성능: 책 전체에 걸쳐 설명하는 토론과 팁을 이용해 고성능 GUI 애플리케이션을 개발한다.
이미지: 더 나은 자바 애플리케이션을 만들 수 있는 이미지 생성과 사용법을 알아본다.
고급 그래픽: 화려한 리치 클라이언트에 날개를 달아주는 스윙과 자바 2D 요소에 대해 배운다.
애니메이션: 애니메이션의 일반적 개념과 함께 자바 플랫폼에서 사용하는 기능의 사용법을 배운다. 자바 애니메이션을 쉽게 구현할 수 있는 새로운 유틸리티 라이브러리를 소개한다.
이펙트: 정적 이펙트와 애니메이션 이텍트를 만들고 커스터마이즈하는 방법을 배워본다.

저희 출판사는 물론 우리나라에서 저자나 역자로 활동하시는 분들은 대부분 IT업계에서 실무자로 일하시는 분들이 많아 그야말로 '바닥이 좁다'는 표현처럼 한두 다리 건너면 다들 아는 사이인 분들이 많으세요.

오늘 막 출간된 따끈따끈한『알짜만 골라 배우는 안드로이드 프로그래밍』 저자 마크 머피가 남긴 감사의 글을 보면 '안드로이드 개발 그룹의 로메인 가이(Romain Guy)에게 감사하다'는 인사 글이 있습니다. 마침 두 권을 마무리하던 중이라 눈에 확 들어왔죠. 역시 미국에서도 알음알음 고수끼리 '통'하는 건 크게 다르지 않구나 싶었죠. :)
사용자 삽입 이미지
역자분에 따르면, 쳇 하스는 썬 마이크로시스템즈에서 자바FX를 개발하다 어도비로 자리를 옮겨 RIA 플랫폼 개발에 매진하고 있고, 로메인 가이는 구글에서 안드로이드 UI 개발에 참여하고 있다고 합니다.

이 책은 에이콘 이클립스 프로그래밍 시리즈 에디터로서 SWT/JFace 인 액션(감수), 이클립스 RCP, 이클립스 실전 플러그인 개발 등 이클립스 개발자들을 위한 중고급 서적을 소개하고 번역해온 양석호님이 번역하셨습니다. '아직은 딱딱해 보이는 이클립스 RCP에 활력을 불어넣고자' 번역을 시작했다고 옮긴이 서문에도 밝혔듯이, 여러분도 단순히 툴에 의존해 리치 클라이언트를 만들던 관행적인 개발방법에서 벗어나 기초지식을 다지고 자신만의 이펙트를 만들어보는 데 도움이 되길 바랍니다.

쿨(cool)한 애플리케이션을 향한 열정. 이 책으로 그간 갈증을 느꼈던 자바 애니메이션 & 그래픽스 프로그래밍의 기본기를 확실히 닦아보시길 바랍니다.

자바로 만드는 애니메이션 & 그래픽스』는 YES24, 교보문고, 강컴, 알라딘, 인터파크에서 예약판매 중입니다.
CC

크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

도서 오류 신고

도서 오류 신고

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

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

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