작년 초부터 집필하기 시작했던 책이 이제 마무리되어 드디어 예약판매에 들어갑니다. 빠르면 이번 주 후반 또는 다음 주 초부터 서점에 풀리지 않을까 싶네요.
 
옴니아2 이후에 올뉴 체인지 모델로 출시된 윈도우 폰 7. 국내에선 출시되지 못했었는데 올해 7.5 망고 버전으로 대대적인 업데이트가 있었습니다. 망고폰부터 한글을 정식으로 지원하기 시작합니다. 이제 이번 달 말에 KT에서 노키아 루미아 710  모델을 시작으로 해서 앞으로 윈도우 폰이 계속해서 출시될 예정입니다.
모토로이를 시작으로해서 안드로이드폰이 국내에 출시되기 시작한 것이 채 2년이 안된 것을 떠올려보면 짧은 기간 동안에 세상이 얼마나 많이 바뀌었는지를 알 수 있습니다. 뒤늦게 시장에 돌아온 윈도우 폰도 국내에서 잘 정착해서 사람들의 스마트 라이프에 보다 풍요로움을 전해줄 수 있기를 바랍니다.

아래 내용 출처 : 영진닷컴 블로그

Windows Phone 7.5 Programming Bible
(윈도우 폰 7.5 프로그래밍 바이블)

김순근 저 | 904쪽 | 35,000원 | 978-89-314-4191-8 | 2011년 12월 15일 | 영진닷컴




:: 책 소개
최신 윈도우 폰 7 애플리케이션 개발의 세계로 초대합니다!

이 책은 윈도우 폰 애플리케이션 개발을 처음 시작하는 독자나 다른 분야에서 애플리케이션 개발 경험이 있는 독자들도 쉽게 익혀 바로 써먹을 수 있도록 구성되었습니다.

초반부에는 스마트폰의 등장으로 인한 국내 업계의 변화와 앞으로 벌어질 IT 기업들의 경쟁, 스마트폰의 발전 과정과 주요 특징들을 분석해봅니다. 그리고 윈도우 폰 7의 등장 배경과 코드네임 메트로, 플랫폼 아키텍처와 주요 기능에 대해 알아봅니다.

중반부에는 비주얼 스튜디오 2010을 이용해 예제들을 직접 구현해보도록 소스와 함께 주요 컨트롤들을 설명하고 있습니다. 그리고 레이아웃과 테마, 애플리케이션 바와 데이터바인딩, 격리 저장소 등 Windows Phone 7에서 동작하는 애플리케이션을 개발할 때 필요한 사항들을 소개합니다. 그리고 LINQ to SQL과 콤파스, 자이로센서, 멀티태스킹 등 망고 버전으로 업데이트되면서 추가 혹은 보완된 내용들을 소개하고 있습니다.

마지막 부분에는 마이크로소프트에서 제공하는 마켓플레이스에 대해 소개하면서 개발자 계정 등록과 함께 애플리케이션 심사 및 배포까지 알아볼 수 있습니다. 그리고 개발 환경 구축법을 부록으로 다뤄 초보자들도 손쉽게 윈도우 폰 애플리케이션 개발을 시작할 수 있도록 합니다.


:: 출판사 리뷰
"소장하고 싶은 윈도우 폰 바이블의 정수!"

2010년 3월 바르셀로나에서 열린 MWC 2010에서 처음 윈도우 폰 7이 선보인 후 마이크로소프트는 스마트폰 시장 진출을 위해 많은 노력을 했으며 마침내 7.5 버전인 ‘망고(Mango)'를 출시하기에 이르렀습니다. 한때 불타는 플랫폼 위에 서있다고 표현할 정도로 위기를 맞이한 노키아가 Windows Phone 7.5를 탑재한 스마트폰을 선보였으며 국내 삼성에서도 Windows Phone 7.5를 기반으로 하는 스마트폰을 소개하였습니다.

애플의 iOS와 구글의 Android와 더불어 Windows Phone 7 운영체제도 스마트폰 시장의 한 세력을 형성할 정도로 마이크로소프트의 스마트폰 운영체제는 성장을 거듭하고 있습니다. 앞으로 마이크로소프트의 주력이라고 할 수 있는 PC 운영체제와 클라우드 환경과 융합해 세계 IT 시장을 주름잡을 것으로 예상됩니다.

이 책은 마이크로소프트에서 발표한 Windows Phone 7 운영체제를 기반으로 하는 스마트폰에서 애플리케이션을 제작하는 방법을 다루고 있으며 초보자들도 무난하게 배울 수 있도록 구성되었습니다. 7.5 망고 버전으로 업데이트되면서 추가된 내용들을 소개하고 이에 맞는 예제들도 제공하여 윈도우 폰 애플리케이션 개발에 친숙해 질 수 있도록 구성했습니다. 그리고 중급 이상의 개발자에게는 순서대로 책의 내용을 읽지 않더라도 해당 기술을 소개하는 목차의 내용을 읽고 바로 적용할 수 있습니다.


주요 특징을 말씀드리자면~

- Windows Phone 7.5 망고 버전의 내용을 다루고 있습니다.
- 윈도우 폰 애플리케이션 개발 시작 단계부터 판매 단계까지의 모든 과정을 다루고 있습니다.
- 윈도우 폰 개발과 관련하여 군더더기 설명이 없어 바로 익히고 실전에서 사용할 수 있으며 기능별로 목차를 구성하여 궁금한 부분을 바로 찾아볼 수 있습니다.
- 책에서 다룬 예제 소스 코드를 제공합니다.




:: 이 책의 구성
Intro. IT 삼국지
스마트폰의 등장 배경과 이로 인한 국내 업계의 변화, 그리고 앞으로 벌어질 글로벌 기업들의 경쟁에 대해 살펴봅니다.

Chapter 01. 스마트폰과 운영체제
스마트폰의 진화 과정과 주요 스마트폰의 특징 및 운영체제에 대해 분석해봅니다.

Chapter 02. 윈도우 폰 7 개요
윈도우 폰 7의 등장 배경과 메트로 디자인, 그리고 플랫폼 아키텍처와 주요 기능에 대해 알아봅니다.

Chapter 03. Hello Windows Phone 7
비주얼 스튜디오 2010을 이용해 윈도우 폰에서 동작하는 애플리케이션 예제를 구현하면서 기본 구조를 살펴봅니다.

Chapter 04. 프레임과 페이지
애플리케이션을 구성하는 페이지와 이들 페이지를 이동하는 방법, 페이지 방향 전환에 대해 알아봅니다.

Chapter 05. 기본 컨트롤
윈도우 폰 7 애플리케이션 개발을 위해 사용할 수 있는 여러 컨트롤들을 알아보고 예제를 통해 사용 방법을 실습해봅니다.

Chapter 06. 레이아웃과 테마
페이지의 레이아웃을 디자인할 때 사용할 수 있는 컨트롤과 운영체제에서 설정된 테마를 이용해 일관성 있는 인터페이스를 제공하는 방법을 알아봅니다.

Chapter 07. 애플리케이션 바
페이지에서 자주 사용될 수 있는 기능들을 아이콘과 텍스트 기반의 메뉴 항목으로 구성할 수 있는 애플리케이션 바에 대해 알아봅니다.

Chapter 08. Panorama와 Pivot 컨트롤
하나의 애플리케이션에서 많은 양의 콘텐츠를 사용자에게 제공할 수 있는 Panorama와 Pivot 컨트롤에 대해 알아봅니다.

Chapter 09. 데이터바인딩
데이터바인딩을 이용해 애플리케이션에서 데이터를 처리하는 방법과 MVVM 모델에 대해 알아본다.

Chapter 10. 격리 저장소
격리 저장소를 이용해 데이터를 읽는 방법과 격리 저장소 내 디렉토리 생성, 정보를 저장하는 방법을 알아본다.

Chapter 11. 그래픽
애플리케이션에 그래픽 요소를 추가하고 방향을 전환하는 방법과 그래픽 요소를 왜곡 및 변형시키는 방법을 알아봅니다.

Chapter 12. 실행 모델과 상태관리
애플리케이션의 실행 모델과 수명 주기, 그리고 상태 변화에 따라 정보를 저장하고 복원하는 법을 알아봅니다.

Chapter 13. 데이터베이스
LINQ to SQL을 이용해 로컬 데이터베이스와 oData 서비스를 이용하는 방법을 알아봅니다.

Chapter 14. Launcher와 Chooser
공용 작업을 실행할 수 있도록 하는 Launcher와 Chooser에 대해 알아봅니다.

Chapter 15. 가속도계와 터치
가속도계와 터치 정보를 이용해 애플리케이션의 화면을 변경하거나 장치 정보를 얻는 방법을 알아봅니다.

Chapter 16. 콤파스와 자이로센서
이번 Windows Phone 7.5 망고 버전에서 지원하는 콤파스와 자이로센서, 그리고 모션 센서에 대해 알아봅니다.

Chapter 17. 멀티미디어
미디어 라이브러리를 이용하는 방법과 음악 파일 재생, 사진 애플리케이션과의 연동, 동영상 플레이어 제작 등을 실습하면서 멀티미디어 애플리케이션 개발 방법을 알아봅니다.

Chapter 18. 위치 서비스
애플리케이션에서 현재 사용자가 있는 위치 정보를 수집하는 방법과 Bing Maps 관련 내용들을 알아봅니다.

Chapter 19. 카메라
카메라 장치로부터 영상 정보를 얻고 촬영, 오토포커스, 플래시 조정, 증강 현실 기술 등에 대해 알아봅니다.

Chapter 20. 웹 서비스
윈도우 폰에서 웹 서비스를 호출 및 이용하는 방법과 LINQ to XML 기술에 대해 알아봅니다.

Chapter 21. 푸시 알림 서비스
애플리케이션에 알림을 전달하는 방법, 애플리케이션과 마이크로소프트 푸시 알림(MSPN) 서비스 사이에 채널을 구성하고 알림 서비스를 이용하는 방법들을 알아봅니다.

Chapter 22. 멀티태스킹
이번 Windows Phone 7.5 망고 버전으로 업데이트되면서 가장 주목받는 부분이라 할 수 있는 멀티태스킹에 대해 알아봅니다.

Chapter 23. 마켓플레이스
마켓플레이스에 개발자 계정을 등록하는 과정과 애플리케이션 제출 및 판매, 평가판 제작 방법들을 알아봅니다.

Appendix. 윈도우 폰 개발자 도구



:: 대상 독자층
- 윈도우 폰 7 애플리케이션을 제작하고자 하는 독자
- 모바일 프로그래밍에 관심있는 독자
- C# 프로그래밍을 경험한 독자


:: 저자 소개
김순근(noenemy) | 한국마이크로소프트 책임연구원

경영학을 전공하였지만 어렸을 때 친구 집에 놀러가서 8비트 컴퓨터를 접했을 때의 짜릿함을 잊지 못해 지금까지 개발자의 길을 걸어오고 있다. 국내에 벤처붐이 일었던 2000년대 초에는 분산 환경에서 웹 프로그래밍을 하였고, 이후 안철수 연구소에서 5년 간 근무하면서 Win32 기반의 보안 애플리케이션을 개발하였다. 개발자 커뮤니티인 데브피아에서 ASP.NET 시샵으로 활동하였으며 ASP.NET과 VC++ 분야에서 MS MVP로 활동하였다. 현재는 한국마이크로소프트에서 오피스 제품 개발에 참여하고 있다.

• 저서 – About ASP.NET Programming, ASP.NET Programming Bible, 속전속결 C++언어, 알고리즘 입문
• 기고 및 감수 – Windows XP, 2003 서버, Exchange 서버 등 제품 한글화 기술 감수, 안철수연구소 보안컬럼 연재



추천의 말씀

윈도우 폰 앱을 실버라이트를 이용해서 개발할 수 있다는 것은 닷넷 개발자에게 매우 반가운 소식이다. 기존에 웹이나 실버라이트 애플리케이션을 개발하면서 익힌 기술을 그대로 사용할 수 있으니 말이다. 언제 어디서나 내 손 안에서 실행되는 프로그램. noenemy(놀래미)님의 책과 함께 이제 한번 만들어 보자.
김태영 | Taeyo.net 운영자, Microsoft MVP Insider

왕의 귀환! 윈도우 폰 7.5 망고폰이 국내 출시를 앞두고 있다. 이 책은 윈도우 폰 애플리케이션을 개발하는데 필요한 개념을 예제를 통해 쉽게 풀어서 설명하고 있어서 윈도우 폰 개발에 입문하려는 개발자들에게는 더 없이 좋은 실용서이다. 책을 읽다보면 어느새 윈도우 폰 앱 개발에 익숙해져 있는 독자의 모습을 발견할 수 있을 것이다.
이호웅 | 안철수연구소 시큐리티대응센터 센터장

스마트폰은 비서의 역할도 하고 클라우드와 함께 업무적으로 활용을 하면서 생산성이 크게 높아지고 있다. 마이크로소프트는 운영체제에서부터 클라우드 서비스까지 모바일 장치를 비즈니스적으로 활용하기 위한 통합 플랫폼을 제공한다. 기존의 아날로그적인 업무 방식을 스마트한 환경으로 변화하기 위해 필요한 윈도우 폰 애플리케이션을 개발하는데 김순근 님의 책은 큰 도움이 될 것이다.
홍순성(혜민아빠) | 홍스랩소장, ‘스마트 워킹 라이프’ 저자

이 책은 Windows Phone 프로그래밍의 기초부터 전반적인 내용에 대해서 예제 위주로 설명하고 있어서 모바일 프로그래밍 경험이 없는 개발자 뿐만 아니라 타 모바일 플랫폼의 개발자들에게도 Windows Phone 7의 플랫폼을 이해하는데 도움이 될 것이다. 또한 저자의 오랜 프로그래밍 경력과 경험을 기반으로 작성하였기 때문에 다른 서적보다 현실적인 느낌으로 Windows Phone 7 프로그램의 개발과정을 설명하고 있다.
이건복 | .NETXPERT 대표이사




:: 목차
Intro. IT 삼국지
01. 스마트폰과 국내 업계 변화
02. 글로벌 기업들의 경쟁
2.1 마이크로소프트 - 데스크톱 운영체제의 최강자
2.2 구글 - 온라인 서비스의 최강자
2.3 애플 - 멀티미디어 기기와 컨텐츠의 최강자
2.4 스마트폰 시장에서의 진검 승부

Chapter 01. 스마트폰과 운영체제
01. 휴대폰
1.1 휴대폰의 역사
1.2 무선 통신망의 발전
1.3 휴대폰 기능의 발전
1.4 시장 점유율
02. 주요 스마트폰 운영체제의 비교
2.1 구글의 안드로이드
2.2 애플의 iOS
2.3 마이크로소프트 윈도우 모바일

Chapter 02. 윈도우 폰 7 개요
01. 윈도우 폰 7 둘러보기
1.1 새로운 변화의 필요성
1.2 외형 구성
1.3 코드네임 메트로
1.4 주요 기능
02. 윈도우 폰 7 플랫폼 아키텍처
2.1 하드웨어 계층
2.2 커널(Kernel) 계층
2.3 애플리케이션 인프라스트럭처 계층
2.4 애플리케이션 계층

Chapter 03. Hello Windows Phone 7
01. Hello Windows Phone 7
1.1 XAML로 구현하기
1.2 코드 비하인드로 구현하기
1.3 Visual Studio로 구현하기
02. 윈도우 폰 애플리케이션 둘러보기
2.1 XAP 패키지
2.2 주요 구성 파일들

Chapter 04. 프레임과 페이지
01. 프레임과 페이지 개요
1.1 프레임과 페이지
1.2 시스템 트레이와 애플리케이션 바
02. 페이지 이동하기
2.1 Navigation 네임스페이스
2.2 페이지 이동하기
2.3 페이지 이동시 데이터 전달하기
2.4 뒤로가기 버튼에 대한 처리
03. 페이지 방향 변경하기


Chapter 05. 기본 컨트롤
01. TextBlock 컨트롤
02. TextBox 컨트롤
03. PasswordBox 컨트롤
04. Button 컨트롤
05. CheckBox 컨트롤
06. RadioButton 컨트롤
07. HyperlinkButton 컨트롤
08. Image 컨트롤
09. Slider 컨트롤
10. ProgressBar 컨트롤
11. ListBox 컨트롤
12. ScrollViewer 컨트롤
13. WebBrowser 컨트롤

Chapter 06. 레이아웃과 테마
01. 레이아웃 컨트롤
1.1 Border 컨트롤
1.2 Canvas 컨트롤
1.3 StackPanel 컨트롤
1.4 Grid 컨트롤
1.5 페이지 방향과 레이아웃
02. 테마
2.1 테마 관련 리소스
2.2 테마 적용 실습하기

Chapter 07. 애플리케이션 바
01. 애플리케이션 바
1.1 애플리케이션 바 둘러보기
1.2 고려 사항
02. 예제 작성하기

Chapter 08. Panorama와 Pivot 컨트롤
01. Panorama 컨트롤
1.1 Panorama 애플리케이션
1.2 Panorama 컨트롤
1.3 PanoramaItem 컨트롤
1.4 실습하기
02. Pivot 컨트롤
2.1 Pivot 애플리케이션의 구조
2.2 Pivot 컨트롤과 PivotItem 컨트롤
2.3 실습하기

Chapter 09. 데이터바인딩
01. 데이터바인딩이란?
1.1 바인딩 모드
1.2 INotifyPropertyChanged 인터페이스
1.3 XAML에서 바인딩하기
1.4 프로그래밍 코드에서 바인딩하기
02. 엘리먼트 바인딩
2.1 실습하기
2.2 Converter 이용하기
03. 프로퍼티 바인딩
3.1 실습하기
04. 리스트 데이터바인딩
4.1 실습하기
05. MVVM과 데이터바인딩
5.1 MVVM 구성요소
5.2 MVVM 실습하기

Chapter 10. 격리 저장소
01. 격리 저장소 개요
1.1 System.IO.IsolatedStorage 네임스페이스
1.2 격리 저장소 사용 방법
02. 파일처리 예제 작성하기
03. 환경 설정 예제 작성하기

Chapter 11. 그래픽
01. 그래픽 요소들
1.1 Rectangle 클래스
1.2 Ellipse 클래스
1.3 Line 클래스
1.4 Path 클래스
1.5 Polygon 클래스
1.6 Polyline 클래스
02. 브러시
2.1 단색 브러시
2.2 그레이디언트 브러시
2.3 이미지 브러시
03. 변형(Transform)
3.1 크기 변형(Scale Transform)
3.2 회전 변형(Rotate Transform)
3.3 왜곡 변형(Skew Transform)
3.4 이동 변형(Translate Transform)

Chapter 12. 실행 모델과 상태관리
01. 애플리케이션 실행 모델
1.1 애플리케이션 수명 주기
1.2 수명 주기 예제
1.3 비활성화 시나리오
02. 페이지 상태 관리
2.1 예제 작성하기
03. 애플리케이션 상태 관리
3.1 저장소의 선택
3.2 예제 작성하기
04. 유휴 감지
4.1 사용자 유휴 감지
4.2 애플리케이션 유휴 감지
4.3 예제 작성하기

Chapter 13. 데이터베이스
01. LINQ to SQL
1.1 LINQ to SQL 개요
1.2 DataContext 정의하기
1.3 LINQ to SQL 사용법
1.4 예제 작성하기
02. oData 클라이언트
2.1 oData 개요
2.2 oData 클라이언트 사용하기
2.3 예제 작성하기

Chapter 14. Launcher와 Chooser
01. Launcher와 Chooser
1.1 Launcher
1.2 Chooser
1.3 에뮬레이터 지원 환경
02. Launcher 사용하기
2.1 EmailComposeTask
2.2 MarketplaceDetailTask
2.3 MarketplaceHubTask
2.4 MarketplaceReviewTask
2.5 MarketplaceSearchTask
2.6 MediaPlayerLauncher
2.7 PhoneCallTask
2.8 SearchTask
2.9 SmsComposeTask
2.10 WebBrowserTask
2.11 BingMapsTask
2.12 BingMapsDerectionsTask
03. Chooser 사용하기
3.1 CameraCaptureTask
3.2 EmailAddressChooserTask
3.3 PhoneNumberChooserTask
3.4 PhotoChooserTask
3.5 SaveEmailAddressTask
3.6 SavePhoneNumberTask
3.7 AddressChooserTask
3.8 GameInviteTask

Chapter 15. 가속도계와 터치
01. 가속도계
1.1 Microsoft.Devices.Sensors 네임스페이스
1.2 Accelerometer 클래스
1.3 실습 1 : 좌표 읽어오기
1.4 실습 2 : 화면 내 이미지 이동하기
02. 터치
2.1 터치 제스처의 종류
2.2 Touch API 이용하기
2.3 Manipulation 이벤트 이용하기
03. 장치 정보 얻기
3.1 장치 확장 속성
3.2 예제 작성하기

Chapter 16. 콤파스와 자이로센서
01. 콤파스 센서
1.1 콤파스 센서 개요
1.2 Compass 클래스
1.3 예제 작성하기
02. 자이로스코프 센서
2.1 자이로스코프 센서 개요
2.2 Gyroscope 클래스
2.3 예제 작성하기
03. 모션 센서
3.1 모션 센서 개요
3.2 Motion 클래스
3.3 예제 작성하기

Chapter 17. 멀티미디어
01. Microsoft.Xna.Framework.Media 네임스페이스
1.1 MediaLibrary 클래스
1.2 MediaPlayer 클래스
02. 음악 플레이어 제작하기
2.1 Songs 컬렉션 얻기
2.2 음악 재생하기
03. Pictures 이용하기
3.1 extras 메뉴 연동하기
3.2 share 메뉴 연동하기
04. 동영상 플레이어 제작하기
4.1 MediaElement 컨트롤
4.2 SimplePlayer 만들기

Chapter 18. 위치 서비스
01. 위치 서비스
1.1 위치 서비스 개요
1.2 주요 고려 사항들
02. System.Device.Location 네임스페이스
2.1 GeoCoordinateWatcher 클래스
2.2 GeoPositionAccuracy 열거형
2.3 GeoPositionStatus 열거형
2.4 예제 작성하기
03. Bing Maps 컨트롤 이용하기
3.1 Bing Maps 컨트롤
3.2 예제 작성하기
3.3 Bing Maps 키 발급 받기

Chapter 19. 카메라
01. 카메라 API
1.1 Camera 클래스
1.2 PhotoCamera 클래스
1.3 CameraButtons 이벤트
02. 예제 작성하기
2.1 화면 구성 및 카메라 초기화
2.2 포커스 설정 및 사진 촬영하기
2.3 플래시 모드 변경하기
2.4 사진 해상도 설정하기
2.5 하드웨어 버튼 이용하기
2.6 증강현실을 이용한 오버레이 구현하기

Chapter 20. 웹 서비스
01. 웹 서비스 개요
1.1 웹 서비스 개요
1.2 네트워크 프로그래밍
1.3 XML 데이터 이용하기
02. Open API 이용하기
2.1 Open API 개요
2.2 네이버 실시간 검색 순위 API
2.3 예제 만들기
03. RSS Reader 만들기
3.1 RSS
3.2 예제 만들기

Chapter 21. 푸시 알림 서비스
01. 푸시 알림 서비스
1.1 푸시 알림 원리
1.2 푸시 알림의 종류
1.3 푸시 알림 서비스 프로토콜
1.4 HttpNotificationChannel 클래스
02. 푸시 알림 예제 만들기
2.1 웹 서비스 구성하기
2.2 푸시 알림 보내기
2.3 푸시 알림 받기
03. 추가 고려사항들
3.1 알림 채널 설정하기
3.2 응답 코드 및 문제 해결 방법
3.3 전원 상태와 푸시 알림
3.4 타일 스케쥴 설정하기

Chapter 22. 멀티태스킹
01. 멀티태스킹 개요
02. 백그라운드 오디오
2.1 Microsoft.Phone.BackgroundAudio 네임스페이스
2.2 예제 작성하기
03. 백그라운드 파일 전송
3.1 백그라운드 전송 API
3.2 Microsoft.Phone.BackgroundTransfer 네임스페이스
3.3 예제 작성하기

Chapter 23. 마켓플레이스
01. 윈도우 폰 마켓플레이스
02. App Hub 멤버쉽
2.1 App Hub 관련 주요 정책
2.2 App Hub 멤버쉽 가입하기
03. 개발용 장치 등록하기
3.1 Zune 소프트웨어와 싱크 관계 설정하기
3.2 App Hub 사이트에 장치 등록하기
04. 애플리케이션 제출하기
4.1 사전 확인 사항
4.2 애플리케이션 제출하기
05. 평가판 애플리케이션
5.1 평가판 애플리케이션
5.2 실습하기

Appendix. 윈도우 폰 개발자 도구
01. 다운로드 및 설치하기
02. 제품 등록하기
03. 프로젝트 템플릿 선택하기

  • YES24
  • 인터넷 교보문고
  • 알라딘
  • 인터파크 도서
  • 대교 리브로
  • 도서11번가
  • Posted by noenemy
    ,
    지난 3월 라스베이거스 MIX10 행사에서 공개되어 개발자들의 관심을 끌었던 Windows Phone 7 CTP 버전 이후 세상의 관심이 아이패드, 아이폰 4와 안드로이드 2.2와 3.0으로 옮겨간 여름입니다. 사실 지난 4월 말에 WP7 툴의 April Refresh 버전이 나오긴 했지만 minor update이고 아직 SDK가 다듬어지지 않은 상태입니다.

    그러던 중 지난 주에 WP7 개발툴의 Beta 버전이 공개되었습니다.
    (참고로 WPDT Beta 버전을 설치하시려면 기존에 설치된 CTP 버전을 삭제한 후에 설치해야 합니다.)

    Winodws Phone Developer Tools Beta
    http://www.microsoft.com/downloads/details.aspx?FamilyID=c8496c2a-54d9-4b11-9491-a1bfaf32f2e3&displaylang=en

    설치한 이후에 기대했던 Devices와 Sensor 네임스페이스 부터 찾아봤는데 아직 지자기센서 외에는 특별히 하드웨어 센서를 활용할 수 있도록 SDK가 제작되지 않네요. 하긴 아직 개발장비를 구할 수 없기 때문에 에뮬레이터에 의존해서 개발해야 되는 상황이라 별 의미없을 수도 있겠습니다. 하지만 최근 스마트폰 앱의 추세가 하드웨어 센서 기능을 떼놓고 생각할 수 없기 때문에 좀 아쉬운 부분이긴 합니다. 앞으로 RC, RTM 버전이 출시되면서 업데이트 되길 기대합니다.

    일단 외형적으로 보면 에뮬레이터의 스킨이 조금 변경되었습니다. 그리고 반가운 소식으로 한글 폰트가 드디어 지원됩니다. 한글 SIP(키보드)는 물론 아직 없습니다만 웹 브라우저에서 한글 사이트의 페이지를 볼 수 있고, 실버라이트 App에서도 한글을 사용할 수 있게 되었습니다. 한글 키보드는 내년 즈음에나 추가되지 않을까 생각됩니다. 일단 1차 릴리즈 대상에 한국이 포함되어 있지 않기 때문이죠. (시장이 작으니 쩝...)

    사용자 삽입 이미지
    실버라이트 app에서 한글폰트가 보여지는 모습


    WPDT Beta 다운로드 페이지로 가보면 Release Notes - WPDT Beta.htm 문서를 다운로드 받을 수 있습니다. 기존 CTP 버전에서 변경되거나 새로 추가된 내용들이 정리된 페이지입니다.

    아래 첨부된 파일의 내용을 한번 보시면 실버라이트 개발 도는 XNA 게임 개발시에 도움이 될 것입니다.







    Posted by noenemy
    ,

    Windows Phone 개발툴 CTP 버전이 MIX10 행사에 맞춰서 3월에 공개 되었었는데, 4월 말에 April Refresh 버전으로 업데이트 되었습니다.

    현재 Windows Phone 개발자 포럼 사이트에 공개된 샘플 프로젝트의 상당수가 3월에 최초 공개된 개발툴 버전으로 작성되었기 때문에 April Refresh 버전의 Visual Studio에서는 빌드시 오류가 발생할 수 있습니다. SDK의 클래스 구조가 상당 부분 변경되었기 때문입니다.

    이 중에서 흥미로운 것은 WP7에서 실행되는 app가 시스템의 어떠한 리소스에 접근할 수 있는가에 대해서 capability 기반의 보안모델을 새로 적용한 것이 흥미롭습니다. (완전 새로운 개념은 아닙니다. 이미 안드로이드 마켓에서는 이러한 모델을 사용하고 있으니까요.)


    오늘 기존에 작성된 WP7용 샘플 프로젝트를 VSWP April Refresh 버전에서 열었더니 다음과 같은 안내 메시지가 나오길래 관련 내용을 찾아보다가 간단히 글을 써볼까 합니다.

    사용자 삽입 이미지

    WMAppManifest.xml 파일에 <Capability> 요소를 추가하라는 내용입니다. 메시지 내용을 자세히 보면 네트워크, 위치, 센서, 마이크 등에 대한 세부 내용이 있습니다.

    위 메시지 내용만으로 짐작할 수 있는 것이 App 개발시에 해당 어플리케이션이 사용하는 시스템 자원을 매니페스트에 기록해두고, 런타임시에 지정된 리소스에만 접근하도록 하겠다(UnauthorizedAccessException이 발생)는 것으로 이해할 수 있습니다.

    이러한 보안모델이 필요한 이유는 무엇일까요?

    스마트폰의 가장 큰 특징은 사용자가 원하는 애플리케이션을 설치하는게 자유롭다는 것입니다.
    많은 개발자들이 스마트폰용 애플리케이션을 개발해서 마켓에 업로드하고, 사용자들은 이들을 설치해서 사용합니다.
    문제는 마켓에 등록된 애플리케이션이 사용자에게 원하지 않는 동작을 할 수 있다는 것입니다.

    예를 들면 사용자에게 아주 편리한 프로그램인데 네트워크 접속을 너무 많이 한다면, 사용자는 그만큼의 데이터 통신료를 부담해야 합니다.
    또한 악의적인 목적으로 사용자 모르게 뒤에서 다른 일을 할 수도 있습니다. 예를 들어 게임 프로그램으로 가장해서 백그라운드에서는 사용자의 GPS 위치정보를 특정 서버로 계속 전송할 수도 있습니다.

    그래서 이러한 보안 모델이 필요하게 됩니다.
    App 개발시 사용하는 리소스에 대해서 매니페스트에 명시하고, 런타임시에 지정된 리소스 외에 다른 리소스에 접근을 하지 못하도록 하는 것입니다.
    그리고 사용자들은 마켓플레이스에서 애플리케이션을 다운로드 하기 전에 해당 애플리케이션이 어떠한 리소스를 사용하는지를 미리 알고 설치 여부를 판단할 수 있습니다.

    위에서 보여주는 메시지 내용을 통해서 WP7 app에서 접근 가능한 리소스를 다음과 같이 분류했음을 알 수 있습니다.

    • Networking : App에서 네트워크 자원을 사용할 수 있는지
    • Location : App에서 위치 정보를 위한 GPS 자원을 사용할 수 있는지
    • Microphone : App에서 폰의 마이크 자원을 사용할 수 있는지
    • Medialib : App에서 폰 내의 음악, 동영상 같은 미디어 라이브러리에 접근할 수 있는지(Zune library 이겠죠)
    • Gamer services : App에서 게임을 위한 XBOX live 서비스에 접근할 수 있는지
    • Phone dialer : App에서 전화걸기 기능을 사용할 수 있는지
    • Push Notification : App에서 푸시 알림을 받을 수 있는지
    • Web Browser Component : App에서 웹 브라우저 기능을 사용할 수 있는지

    따라서 App 개발시에 해당 app에서 사용하는 리소스에 대해서만 매니페스트에 지정하시기 바랍니다.

    아래 문서에서도 이 내용에 대해서 언급하고 있으니 참고하시기 바랍니다.
    http://blogs.msdn.com/b/jaimer/archive/2010/04/30/windows-phone-capabilities-security-model.aspx

     

    Posted by noenemy
    ,

    지난 3월에 Las Vegas에서 있었던 MIX10 컨퍼런스(http://live.visitmix.com/)에서 화두는 그동안 베일에 가려져 있던 Windows Phone 7에 대한 것이었습니다. 그 만큼이나 Windows Phone 7 App 개발에 대한 많은 세션이 진행되었고 참석자들의 관심도 매우 많았다고 합니다.

    실제 제품은 빠르면 북미 시장에 올해 가을 정도에 출시될 것으로 보입니다. MIX10 행사장에서는 3개의 prototype 단말기가 선보였다고 하죠.

    Windows Phone 7은 시작화면부터 현재 6.5 버전까지 나와있는 Windows Mobile과 전혀 다릅니다. 기존의 Windows Mobile이 Windows PC 환경을 모바일 장치에서 구현하려는 컨셉이었던 것에 반해 Windows Phone 7은 일반 사용자에게 친숙하게 개발하기 위해 출발점부터 다르게 시작했다고 할 수 있습니다.

    기존 Windows Mobile과의 하위 호환성을 과감히 버리면서 까지 full change를 하게 된 것은 아이폰의 보급화에 따른 IT 환경의 변화, 사용자들의 요구사항이 변화한 것을 기존의 Windows Mobile 컨셉으로는 더 이상 충족시킬 수 없다는 위기감을 느꼈기 때문이라고 생각됩니다.

    image

    [그림] Windows Phone 7의 시작 화면

    운영체제의 변경과 함께 Windows Phone 7에서 실행되는 애플리케이션의 환경도 완전히 달라졌습니다. 가장 큰 특징은 Managed Code만 실행된다는 것입니다. 즉, Windows Phone 7용 애플리케이션을 개발하려면 VC++과 같은 unmanaged code가 아니라 C#과 같은 managed code를 이용해서 작성해야 한다는 의미입니다.

    현재 CTP 버전으로 공개된 Visual Studio 2010 CTP for Windows Phone이나 Expression Blend Beta 4에서는 C# 언어만 지원하고 있습니다. 향후에는 VB.NET 과 같은 다른 .NET 언어도 지원될 것으로 예상됩니다.

    Windows Phone 7용 애플리케이션은 다음과 같이 Silverlight과 XNA라는 큰 두 개의 축으로 구분됩니다.

    image

    [그림] Windows Phone App Platform

    Application을 개발하려면 이 둘 중에서 어떠한 기술을 이용해서 개발할 것인지를 먼저 선택해야 합니다. 이 둘은 다음과 같은 차이점을 가지고 있습니다.

    Silverlight – 일반 애플리케이션을 위한 개발 모델. 기존에 Win Form application을 개발하는 방법과 동일하게 개발이 가능합니다. Windows Phone App을 위해 제공되는 기본 컨트롤(TextBox, Button, ProgressBar 등)을 이용해서 빠른 개발이 가능하며, Event Driven 방식으로 동작합니다.

    XNA - XBOX와 Windows 게임 개발을 위한 플랫폼입니다. 기존의 DirectX를 이용한 개발 방법의 연장선에 있습니다. Silverlight이 event driven 방식이라면, XNA는 화면 frame에 기반한 개발방법입니다. 즉 예를 들어 30fps라면 1초에 30장의 이미지가 연속적으로 보여지는 것을 의미하는데, XNA는 각 시점에 보여질 프레임 이미지를 직접 구성할 수 있습니다.

    즉, 일반 애플리케이션을 개발하려면 Silverlight을 이용해서 개발하고, 게임 개발을 하려면 XNA를 이용하시면 됩니다.

    기존에 WPF나 Silverlight 개발에 익숙하신 분들은 바로 Windows Phone 7 애플리케이션 개발을 시작하실 수 있습니다. XNA를 이용해서 게임 개발을 하셨던 분들도 Windows Phone 7 게임을 만드시는데 어려움이 없을 겁니다.

    현재 IT 업계들이 각자 3 스크린 모델(TV, PC, Mobile에서 모두 동일한 사용자 경험을 제공)을 구축하려고 노력하고 있습니다. Windows Phone 7에서 Silverlight과 XNA를 중심 축으로 선택했다는 것은 향후 TV와 PC 환경에서도 동일한 방향으로 나아가지 않을까라고 조심스럽게 예상 해볼 수 있습니다.

    Posted by noenemy
    ,

    WP7 개발시에 필요한 개발 도구들입니다.

    먼저 Visual Studio 2010 Express 버전 및 Silverlight, XNA 4.0, 그리고 WP7 emulator입니다. MIX10 행사에 공개되었죠.

    Windows Phone Developer Tools CTP (VS2010 Express + Emulator + Silverlight + XNA 4.0 for Phone)
    http://www.microsoft.com/downloads/details.aspx?FamilyId=2338b5d1-79d8-46af-b828-380b0f854203&displaylang=en


    다음은 Silverlight 애플리케이션을 디자인하는데 최적화된 도구인 Expression Blend 4 beta for Windows Phone 입니다.

    Microsoft Expression Blend 4 Beta
    http://www.microsoft.com/downloads/details.aspx?FamilyID=6f014e07-0053-4aca-84a7-cd82f9aa989f&displaylang=en

    Microsoft Expression Blend Add-in Preview for Windows Phone
    http://www.microsoft.com/downloads/details.aspx?FamilyID=47f5c718-9dec-4557-9687-619c0fdd3d4f&displaylang=en

    Microsoft Expression Blend SDK Preview for Windows Phone
    http://www.microsoft.com/downloads/details.aspx?FamilyID=86370108-4c14-42ee-8855-226e5dd9b85b&displaylang=en


    Preview에 Beta 버전이다 보니 실행 중에 비정상 종료되거나 오동작을 하는 경우가 좀 있습니다. 그리고 현재 공개되어 있는 SDK도 앞으로 계속 변경되거나 추가될 가능성이 있습니다만, WP7가 어떤 모습으로 출시될지, 그리고 어떠한 방법으로 애플리케이션을 개발해야 될지를 먼저 볼 수 있는 좋은 기회이므로 관심 있는 분들은 설치해서 둘러 보시기 바랍니다.


    그리고 다음은 관련 자료를 얻을 수 있는 사이트들입니다.

    Windows Phone 7 시리즈 공식 사이트
    http://www.windowsphone7series.com/

    Expression 공식 사이트
    http://www.microsoft.com/expression

    Silverlight 공식 사이트
    http://www.silverlight.net/

    XNA Developer Center
    http://msdn.microsoft.com/en-us/aa937791.aspx

    XNA Creators Club Online
    http://creators.xna.com/en-US/

    Charles Petzolds’s Programming WP7 Series free ebook
    http://www.charlespetzold.com/phone/index.html

    Posted by noenemy
    ,