본문 바로가기

저/역서 출간 소식

찰스 페졸드의 Programming Windows: C#과 XAML을 이용한 윈도우 앱 개발 발간


GoDEV  여동준님의 번역서가 발간되었습니다.





도서명 

 찰스 페졸드의 Programming Windows: C#과 XAML을 이용한 윈도우 앱 개발  

출판사

 북스홀릭퍼블리싱

출간일

 2013.11.22

저자

 찰스 페졸드

 역자

 여동준, 윤병걸, 이길복, 최정우

ISBN-13

 9788994774558


아래의 주요 인터넷 서점에서 구입하실 수 있습니다.

교보문고: http://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9788994774558

Yes24: http://www.yes24.com/24/goods/11611766

알라딘: http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8994774556



출판사 리뷰를 포함하니 관심있으신 분들은 위의 링크에서 목차 확인해주세요.

찰스 페졸드의 C#과 XAML을 사용한 윈도우 앱 개발

새로운 윈도우와 발맞추어, 이번 6판에서는 프로그래밍과 사용자 경험의 장을 완전히 새로 재구성했다. 전설적인 개발자의 『찰스 페졸드의 Programming Windows, 6판』과 함께 이미 알고 있는 C# 기술과 새로운 윈도우 런타임을 이용한 터치 기반의 윈도우 앱을 만드는 법을 배워보자.

기본을 마스터한다
- 코드와 XAML을 이용해 객체를 생성하고 초기화한다
- 탭과 같은 사용자 입력 이벤트를 다룬다
- 동적 레이아웃을 다루고 사용한다
- 컨트롤의 외양을 시각적으로 재정의한다
- 윈도우 런타임 라이브러리를 생성한다
- 데이터 바인딩과 제어를 위해 MVVM을 사용한다
- 비동기 메서드를 사용하고 스스로 만든다
- 애니메이션 전환기법을 익히고 2D, 3D 효과를 생성한다
- 해상도, 스케일링, 네비게이션을 다룬다

기술과 앱을 확장한다
- 포인터, 조작, 탭, 홀딩 등의 이벤트를 다룬다
- 비트맵과 리치텍스트를 다룬다
- GPS와 방향센서를 사용한다
- Win32*와 DirectX* 기능들을 사용한다
- 공유, 검색, 인쇄 기능을 활성화한다

제6판에서는
- 윈도우 8을 위해 완전히 새로 작성
- C#과 XAML, 윈도우 런타임을 활용한 앱개발에 초점
- Part I 기본편에서 기본적인 스킬을 배울 수 있음
- Part II 고급편에서 확장된 윈도우 앱 개발 기술을 다룸
- C#과 C++로 샘플코드를 제공

독자 대상

이 책을 집필하면서 필자는 여러분, 즉 독자에 대한 몇 가지 가정을 했다. 첫 번째는 여러분이 C# 언어를 다루는 데 있어서 친숙하다는 점이다. 만약 그렇지 않다면 C# 튜토리얼을 병행하면서 보충하기를 바란다. 

두 번째는 여러분이 가장 기본적인 XML 문법에 대해서 알고 있다는 가정이다. 그 이유는 XAML 이 결국 XML에 기반을 두고 있기 때문이다. 하지만 여러분이 XAML과 XAML 기반의 개발 인터 페이스와는 친숙하지 않다고 가정한다.

샘플코드 다운로드
http://examples.oreilly.com/9780735671768-files/

이 책에서 중요하게 다루는 사항들

이 책에서는 윈도우 스토어 용도의 응용 프로그램을 개발하는 데 초점을 맞출 것이다. 이미 충분히 많은 다른 책들이 Win32 데스크톱 응용 프로그램 개발에 대해 소개를 하고 있다. 물론 가끔 Win32 API와 데스크톱 응용 프로그래밍 기법을 참고하겠지만, 이 책은 순수하게 새로운 윈도우8 응용 프로그램의 개발 방법을 알리는 데 그 목적이 있다.

이러한 응용 프로그램을 개발하기 위해 새로운 객체 지향적인 API가 소개되었는데, 이름하여 윈도우 런타임 혹은 WinRT라고 불린다. (ARM 프로세서 기반에서 작동하는 윈도우 8을 지칭하는 윈도우 RT와 WinRT를 혼동하지 말자.) 내부적으로 윈도우 런타임은 COM(컴포넌트 객체 모델)을 기반으로 하고 있으며, 인터페이스는 메타데이타 파일을 통해 외부로 노출된다. 여기서 언급한 메타데이타는 .winmd 확장자를 가지며 /Windows/System32/WinMetadata 디렉터리에 위치한다. 따라서 외부적으로 봤을 때에는 상당히 객체 지향적이다.

대부분의 윈도우 8 응용 프로그램들은 코드뿐만 아니라 마크업을 통해서도 개발된다. 이 마크업은 산업 표준인 하이퍼텍스트 마크업 언어(HTML) 또는 마이크로소프트의 확장 가능한 마크업 언어(XAML)를 지원한다. 응용 프로그램을 코드와 마크업으로 구분하는 것의 한 가지 장점은 잠재적으로 응용 프로그램의 개발 과정에서 프로그래머와 디자이너의 역할을 분리할 수 있다는 것이다.

현재 윈도우 8 응용 프로그램을 개발하는 방법에는 세 가지 핵심 선택 사항들이 있다. 각각의 선택 사항들은 프로그래밍 언어와 마크업 언어로 구성되어 있다.

- C++과 XAML 
- C# 또는 비주얼 베이직과 XAML 
- 자바스크립트와 HTML5

윈도우 런타임은 모든 세 가지의 선택 사항에 대해 공통적이지만 특정 언어에 적합한 다른 프로그래밍 인터페이스에 의해서도 보충할 수 있다. 물론 단일 응용 프로그램 내에서 여러 개의 언어를 섞어서 사용할 수는 없지만, 윈도우 런타임 컴포넌트라는 라이브러리를 생성하여 자체적인 .winmd 파일을 갖고 다른 윈도우 8 언어들이 접근할 수 있게끔 해준다.

수많은 고민을 하고 (비록 고통스러웠지만) 필자는 이 책의 거의 대부분을 C#과 XAML에 집중하여 소개하기로 결정했다. 거의 10년 가량 필자는 개발 및 디버깅에 있어서 매니지드 언어가 갖는 장점에 대해 확신을 가졌으며, 또한 C#이 윈도우 런타임을 사용하기에 가장 적합한 언어라고 느꼈기 때문이다. 한 가지 소망하는 바는 C++ 프로그래머들이 C# 언어를 쉽게 이해하고 이 책으로부터 많은 부분을 얻을 수 있기를 바란다.

또한 필자는 한 가지 언어에 집중하는 것이 동일한 구조를 여러 개의 언어로 소개하는 것보다 훨씬 가치가 있다고 믿는다. 게다가 다른 선택 사항을 사용하여 윈도우 8 응용 프로그램을 작성하는 방법을 소개하는 다른 책들이 충분히 출판되리라 믿어 의심치 않는다.