Top

윈도우 모바일 애플리케이션 개발 가이드

  • 원서명Microsoft® Mobile Development Handbook (ISBN 9780735623583)
  • 지은이앤디 위글리, 대니얼 모스, 피터 풋
  • 옮긴이김홍중, 홍선숙
  • ISBN : 9788960770713
  • 40,000원
  • 2009년 01월 02일 펴냄
  • 페이퍼백 | 784쪽 | 188*255mm
  • 시리즈 : 모바일 프로그래밍, 임베디드 시스템

책 소개

닷넷 컴팩트 프레임워크를 기반으로 한 최신 윈도우 모바일 애플리케이션 개발 완벽 가이드
데이터베이스, 네트워크, 보안 등 스마트폰과 PDA 애플리케이션의 전반적인 내용 수록


모바일 개발 전문가인 저자들은 마이크로소프트 닷넷 컴팩트 프레임워크 2.0으로 애플리케이션을 개발하는 데 필요한 실용적인 정보를 모두 설명해준다. 이 책은 모든 윈도우 기반 모바일 디바이스에 적용할 수 있는 검증된 테크닉, 실무에서의 통찰력, 광범위한 코드 예제를 제공한다. 모바일 애플리케이션을 개발하는 데 관심이 있는 사람, 특히 모바일 애플리케이션 개발에 처음 발을 담그는 데스크탑 닷넷 개발자에게 유용한 책이다.


[ 소개 ]

이 책은 윈도우 모바일 2003이나 이후 버전이 실행되는 포켓 PC 디바이스와, 윈도우 모바일 5.0이나 이후 버전이 실행되는 스마트폰 디바이스, 윈도우 CE 4.2나 이후 버전이 실행되는 주문형 하드웨어 상에서 닷넷 컴팩트 프레임워크 2.0을 사용하는 매니지드 코드 개발에 중점을 두고 있다. 그리고 윈도우 모바일 5.0에서만 사용 가능한 Microsoft.WindowsMobile API처럼, 특정 플랫폼에서만 사용할 수 있는 매니지드 API를 사용한 프로그래밍에 대해서도 다루고 있다. 또 디바이스와 데스크탑 컴퓨터에서 실행되는 가벼운 관계형 데이터베이스인 마이크로소프트 SQL 서버 2005 컴팩트 에디션 프로그래밍에 대해서도 다룬다.

모바일 애플리케이션 개발의 길에 첫발을 내딛는 개발자라면, 가슴 설레고 흥미로운 개발자 커뮤니티에 온 것을 환영한다! 몇 년 전 microsoft.public.dotnet.compactframework 뉴스그룹은 모든 닷넷 컴팩트 프레임워크 뉴스그룹 중에 두 번째로 붐비는 뉴스그룹이었다. 심지어 microsoft.public.dotnet.framework보다도 붐볐다! 이 통계에는 두 가지 뜻이 있다. 닷넷 컴팩트 프레임워크 애플리케이션을 개발하는 사람들이 엄청나게 많다는 점과, 무수한 질문을 올릴 만큼 사용하기가 매우 어려웠다는 점이다. 두 가지 모두 어느 정도는 진실일 것이다. 하지만 이 책에서는 그 중 두 번째 이유, 독자들이 풀기 어려워한 난제를 해결하기 위한 길잡이가 되어줄 것이다.


[ 이 책에서 다루는 내용 ]

■ 휴대용 디바이스에 최적화된 사용자 인터페이스 설계
■ 윈도우 모바일 API를 이용한 기능 확장
■ 디바이스에 저장되는 데이터의 구성과 유지
■ 백엔드 서버와 디바이스에 저장되는 데이터의 동기화
■ 네트워크 연결과 네트워크 상태 변화에 따른 응답
■ 인증과 대칭, 비대칭 암호화 알고리즘 구현
■ 애플리케이션의 성능 최적화
■ PInvoke와 COM 인터롭을 사용한 네이티브 코드 병용
■ 닷넷 컴팩트 프레임워크 3.5와 비주얼 스튜디오 2008에 대한 정보


[ 이 책의 구성 ]

■ 1부 “모바일 애플리케이션 개발의 기본”은 6개의 장으로 구성된다. 모바일 애플리케이션 개발자가 필수적으로 알아야 할 주제들을 다루고 있기에 반드시 읽어야 한다.

■ 2부 “모바일 애플리케이션 개발의 문제점 해결”은 현재 휴대용 디바이스에서 애플리케이션이 실행될 때 발생하는 문제점들을 검토하는 10개 장으로 구성된다.

■ 3부 “새로운 개발 방법”은 비주얼 스튜디오의 차기 버전과 닷넷 컴팩트 프레임워크의 차기 버전인 3.5 버전을 미리 살펴보는 단 한 개 장으로 되어 있다. 이 책이 쓰인 시점에서 베타 테스트 중이었던 새 버전의 프레임워크는 2.0 버전의 단단한 기반을 토대로 흥미로운 신기능들이 더해져서 빌드되었다. 데이터 컬렉션 질의, 메시징, 테스팅, 그 밖의 여러 혁신적이고 강화된 기능들이 추가되었다.


[ 소스코드 ]

본문에서 사용한 코드와 예제가 담겨 있는 프로젝트는 다음과 같은 도서정보 페이지에서 내려 받을 수 있다.

http://www.microsoft.com/mspress/companion/9780735623583/
http://www.acornpub.co.kr/book/windowsmobile


[ 추천의 글 ]

데스크탑 컴퓨터의 시대는 갔는가? 앞으로도 오랫동안 사무용, 가정용 컴퓨터의 중심은 데스크탑 PC일 것이다. 하지만 점차 집과 사무실 밖에서도 컴퓨터의 필요성이 늘어갈 것이다. 지금은 모바일 디바이스가 새로운 컴퓨팅 플랫폼의 주류로 자리 잡아가는 과도기다. 2006년에는 세계적으로 약 10억대의 휴대폰이 판매되었다. 이 수치는 이미 사용되고 있는 데스크탑 컴퓨터보다 더 많은 숫자다. 이렇게 폭발적인 휴대폰 시장 내에서도 가장 빠른 성장을 하고 있는 부문은 고성능 스마트폰 분야다.

스마트폰은 단지 하나의 예일 뿐이다. 운전을 하거나, 러닝머신에서 운동하면서 휴대용 음향기기를 사용해서 음악을 들을 때나, 휴대용 게임기로 게임을 할 때도 컴퓨터가 사용되고 있다. 이런 기기들은 간단한 형태로 시작되었지만 인터넷에 연결되고, 크고 복잡한 소프트웨어를 실행할 수 있게 되는 등 조금씩 완전한 컴퓨팅 플랫폼으로 진보하고 있다.

마이크로소프트 닷넷 컴팩트 프레임워크는 이런 모바일 디바이스 혁명에 발맞춰 설계되었다. 개발자는 더욱 작은 디바이스, 나아가서는 모바일 디바이스에서 소프트웨어를 실행하고 싶어한다. 그러면서도 예전의 소프트웨어 프로젝트(모바일이 아닌)에서 사용해오던 최고의 런타임 플랫폼과 개발 환경을 그대로 사용하고 싶어한다. 닷넷 컴팩트 프레임워크를 사용하면 새로운 디바이스를 위한 개발 기술, 언어, 도구, 방법들을 다시 배울 필요가 없다. 이미 알고 있는 기술, 지식, 경험들을 그대로 이용할 수 있다.

이 책은 마이크로소프트 윈도우 CE와 윈도우 모바일 기반 디바이스에서 실행되는 닷넷 컴팩트 프레임워크용 애플리케이션 개발을 위한 실용 안내서다. 저자인 앤디 위글리, 대니얼 모스, 피터 풋은 닷넷 컴팩트 프레임워크의 초창기 버전부터 사용해 온 노련한 마이크로소프트 MVP다(대니얼은 현재 마이크로소프트의 직원이 되었다). MVP로서 닷넷 컴팩트 프레임워크 기반 프로젝트용 개발 소프트웨어를 직접 체험해 보고, 발견된 문제점이나 개선이 필요한 점이 새 버전에 적용되도록 피드백 해오고 있다. 본질적으로 이들은 레드몬드(마이크로소프트 본사) 제품 팀의 눈과 귀를 직접 최전방의 개발자들에게까지 넓혀주는 역할을 하는, 엄선된 전문가 커뮤니티의 일원이다.

이 책은 닷넷 컴팩트 프레임워크 2.0을 직접 다루고 있는(버전 1.0과 2.0의 비교를 포함해서) 최초의 서적 중의 하나다. 이 책의 출간은 특히나 시의적절한 일이다. 이 책이 쓰인 시점에서 닷넷 컴팩트 프레임워크 2.0을 롬에 탑재한 윈도우 모바일 디바이스가 대량으로 판매되기 시작했기 때문이다. 저자들은 단지 2.0 버전의 새로운 특징들을 설명하는 것뿐만 아니라 왜 이런 특징들이 유용한지, 모바일 애플리케이션의 성능 향상을 위해 이런 특징들을 어떻게 사용할 수 있는지도 직접적으로 설명하고 있다. 또 이 책은 곧 발표될 닷넷 컴팩트 프레임워크 3.5에 추가된 특징들과 비주얼 스튜디오의 차기 버전인 “Orcas”에 탑재될 개선 사항-압축, 유닛 테스트 지원, 간소화된 LINQ(Language Integrated Query), WCF(Windows Communication Foundation)-에 대한 내용도 포함하고 있다. <옮긴이 주: Orcas의 정식 명칭은 비주얼 스튜디오 2008이다. 이 책에서 앞으로 나올 Orcas에 대한 내용은 모두 비주얼 스튜디오 2008에 대한 것이라고 보면 된다.>

모바일 애플리케이션을 개발하는 데 관심이 있는 사람, 특히 모바일 애플리케이션 개발에 처음 발을 담그는 데스크탑 닷넷 개발자에게 유용한 책이다. 여기 수록된 내용들은 단지 난해하고 심오한 이론에만 그치지 않는다. 대신 실용적인 지침과 효율적이고 기능적인 모바일 소프트웨어를 개발하는 데 필요한 지식을 제공한다. 또 개발 속도를 높여주는 유용한 코드와 예제들로 가득하다. 디바이스와 애플리케이션은 동떨어져 있는 것이 아니다. 앞으로 작성하게 될 애플리케이션은 데스크탑 컴퓨터, 서버 등을 모두 포함하는 전체 아키텍처의 일부가 될 것이다. 이 책은 애플리케이션의 개발과 정확한 기능 구현은 물론, 모바일 환경에서 처음 개발하는 개발자들에게는 적잖이 생소할 수 있는 영역인 애플리케이션의 성능 문제와 배포에 대해서도 설명한다.

이 책의 저자들은 분명한 방향을 제시하고 있다. 이들은 차세대 컴퓨팅 혁명(모바일 혁명)의 선구자들이다. 혁명의 조류에 편승하라. 다음 소프트웨어 프로젝트는 닷넷 컴팩트 프레임워크 기반의 모바일 프로젝트로!

리차드 그린버그
그룹 프로그램 매니저 / 마이크로소프트 닷넷 컴팩트 프레임워크 팀


그동안 삼성전자와 LG전자 등 국내 제조사가 일괄 공급했던 스마트폰 시장에 올해부터 외산 단말기 제조사인 HTC와 소니/에릭슨 사들이 일반 휴대폰이 아닌 스마트폰을 갖고 공격적으로 뛰어들어 세를 넓히기 시작했다. 따라서 올 한 해 동안 일반 휴대폰이 점령했던 폰 시장에 외산 스마트폰을 필두로, 다양한 스마트폰이 출시되었고 내년에도 휴대폰 특히 스마트폰의 경쟁은 더욱 거세질 전망이다.

이 책 『윈도우 모바일 애플리케이션 개발 가이드』는 닷넷 컴팩트 프레임워크의 매니지드 API 활용법을 잘 설명해 놓았다. 그리고 요즘 유행하는 T 옴니아폰이나 HTC 다이아몬드폰 같은 윈도우 모바일 6 운영체제 기반하의 장치에서 쉽고 빠르게 애플리케이션을 개발할 수 있게 도와준다.

마이크로소프트의 모바일 애플리케이션 개발 도구인 비주얼 스튜디오 2005나 2008을 이용해 폼 기반의 사용자 인터페이스를 디자인하고, 윈도우 모바일 API들을 C#이나 VB.NET의 클래스나 메소드 단위로 호출해 올 수 있게끔 해준다. 또한 모바일 개발자들이 가장 많이 사용하는 백엔드 시스템과의 데이터 동기화와 네트워크 연결을 통해 SFA나 CRM, 메시징 기반의 상용 애플리케이션을 개발하는 데 최적의 도움을 준다.

이 책은 닷넷 컴팩트 프레임워크 버전 1.0 이후부터 친분을 쌓아온 나의 동료 앤디와 피터, 그리고 지금은 마이크로소프트 UK로 합류한 대니얼, 세 사람이 공동으로 집필했다.

참고로 이 세 사람과는 2004년 글로벌 MVP 서밋에서 윈도우 모바일 디바이스 MVP로서 처음 만났다. 그 때, 이 분야에서의 MVP들은 약 50명 정도 되었고 모두들 윈도우 모바일 기반의 스마트폰 시장에 대해 잔뜩 흥분한 상태였다. 지금까지도 OpenNETCF라는 오픈소스 기반의 모바일용 프레임워크를 공개할 만큼 왕성한 활동을 하고 있다.

또한 이 책을 번역한 김홍중 님과 홍선숙 님 또한 국내에서 10여 년간 각종 모바일과 임베디드 디바이스에서 사용자 인터페이스를 디자인하고 개발한 베테랑들이다. 따라서 지난 6개월여 동안 현업 프로젝트에서 경험한 것을 덧붙여 무려 7백 페이지 이상 심혈을 기울여 번역을 해 놓았다.
이 책은 급증하는 국내외 스마트폰 시장에서 모바일 애플리케이션을 개발하는 데 도움을 주는 지침서 역할을 하게 될 것이다.

서진호 차장(http://blogs.msdn.com/jinhoseo)
한국 마이크로소프트 모바일/임베디드 디벨로퍼 에반젤리스트

저자/역자 소개

[ 저자 소개 ]

앤디 위글리 (Andy Wigley)
디바이스 애플리케이션 개발부문의 마이크로소프트 MVP이고 모바일 개발 및 컨설팅 회사의 창립자다. 『Building Microsoft ASP.NET Applications for Mobile Devices, Second Edition』과 『Microsoft .NET Compact Framework Core Reference』를 공동 집필했다.

대니얼 모스 (Daniel Moth)
영국 마이크로소프트의 개발 및 플랫폼 그룹에서 근무하고 있고, 이전에는 디바이스 애플리케이션 개발부문의 MVP였다. 개발자이자 컨설턴트이고 닷넷 컴팩트 프레임워크와 모바일 테크닉에 대한 저술가다.

피터 풋 (Peter Foot)
디바이스 애플리케이션 개발부문의 마이크로소프트 MVP다. 그가 설립한 인 더 핸드(In The Hand) 사는 개발/컨설팅 서비스와 닷넷 컴팩트 프레임워크용 소프트웨어 컴포넌트를 제공한다. 또한 모바일과 임베디드 개발 커뮤니티에 활발하게 공헌하고 있다.


[ 옮긴이의 말 ]

번역서들을 볼 때마다 왜 이 정도밖에 못했을까 아쉬울 때가 한두 번이 아니었지만, 결국, 내가 해도 이 정도밖에 안 된다는 걸 통감할 수밖에 없었다. 가장 큰 문제는 용어였다. 애초에 이 땅에서 시작한 학문이 아닌지라, 원래 용어와 나름대로 번역한 용어를 기준 없이 혼용하고 있기에 어느 선까지 번역해야 할지가 번역 작업의 마지막까지도 어려운 문제였다. MSDN과 각 표준 사이트에서 그나마 가장 많이 쓰는 용어를 기준으로 삼고 번역을 했지만, 개인적으로 써오던 용어와 차이가 있기도 해서 지금까지도 어색함이 느껴지는 부분도 있다. 독자들도 분명히 비슷한 어색함을 느낄 수 있을 것으로 생각한다.

여기까지는 '역자의 변'이었고, 이제 책의 내용에 대해 이야기하고자 한다. 이 책은 모바일 디바이스용 애플리케이션 개발자라면 한 번쯤 봐두어야 할 책이다. 개발 도중에 반드시 옆에 끼고 있어야 하는 레퍼런스 성격의 책은 아니고, 실제 애플리케이션에 바로 활용할 수 있는 코드를 풍부하게 담은 책도 아니지만, 모바일 애플리케이션을 개발에 앞서 고민해야 할 주제-OS 선택에서부터, UI, DB, 통신 등 다양한 분야의 기본적인 내용-들을 폭넓게 다루고 있기 때문에 이미 알고 있는 개발자라 할지라도 다시 한 번 짚고 넘어가는 것이 결코 시간 낭비는 아닐 것이다. 더더군다나 모바일 애플리케이션 개발이 처음인 개발자라면 묻지도 따지지도 말고 한번 읽어보기를 권한다. 이 책은 비주얼 스튜디오 2005를 기준으로 쓰인 책이지만, 비주얼 스튜디오 2008에서도 여전히 유용한 내용이다(2008과의 차이점은 본문 중간 중간 언급하고 있다). 또 하나의 윈도우 모바일 버전에만 특화된 내용을 다루지 않으므로 윈도우 모바일 버전에도 크게 신경 쓸 필요는 없다. 모바일 디바이스에서 개발하면서 겪을 수 있는 고민들을 마이크로소프트 MVP 출신의 저자들이 미리 한번 고민
해보고 들려주는 이야기라고 생각하면 된다.

김홍중


비전공이라는 약점 아닌 약점에도 이런 책을 번역하기까지 참 먼 길을 온 것 같다. 이 책을 번역하면서 나는 처음 프로그래밍에 입문했을 때의 마음을 염두에 두고자 노력했다. 비전공자로서 컴퓨터 프로그래밍에 입문했을 때 처음 마주친 가장 큰 장벽은 이해하기 어려운 개발용어였다. 때때로 개발자로서 많이 접하고 읽어야 하는 번역서를 볼 때마다, ‘차라리 원서를 보는 게 낫지’라는 생각을 많이 해왔다. 그런 내가 막상 이렇게 직접 번역을 맡아보니 수많은 역자가 괴로워하고 고민했던 상황들이 더는 남의 일이 아니었다.

최대한 개발자에게 친숙하면서도, 우리나라 언어에 맞는 단어를 찾아 헤매야 할 때마다 항상 독자로서 생각하려 애썼다. 원어를 최대한 우리말로 변경하면서도 의미가 왜곡될 것 같은 단어는 원어를 사용하려 했음을 알아주기 바란다. 현재 윈도우 모바일에 관한 이렇다 할 참고 서적이 없는 상태에서 이 책이 더 빨리 나오지 못했던 것을 아쉬워할 뿐이다. 이 책을 통해 윈도우 모바일에 대한 쉽고 폭넓은 이해와 개념을 확립할 수 있다. 윈도우 모바일 개발자라면 필히 알고 있어야 할 내용에 대한 확실한 정리가 되어 있다. 자. 이제부터 새롭고 흥미로운 윈도우 모바일 세계에 빠져보자.

홍선숙


[ 옮긴이 소개 ]

김홍중
중앙대학교 컴퓨터 공학과 졸업했다. 2001년부터 삼성소프트웨어 멤버십 회원으로 활동하다가 2004년 삼성전자에 입사해서 DM 연구소를 거쳐 VD사업부에서 연구원으로 근무했다. 윈도우 CE, 임베디드 리눅스를 탑재한 PDA, 셋탑박스, DTV 등 디바이스용 애플리케이션을 주로 개발해 왔다. 2007년, 답답한 삶을 털어내고 훌쩍 미국으로 날아가 백수 생활을 하다가 돌아와서 현재 (주)iFive에서 개발팀을 맡아 돈 되는 프로그램을 만들려고 힘쓰고 있다.

홍선숙
한양대학교 관광학과를 졸업한 다음, 쌍용정보통신의 C&Software Engineer 과정을 거쳐 개발자의 길로 들어섰다. 2004년 영상 처리 및 네트워크 애플리케이션을 주로 개발하는 회사에 있다가 잠시 맛본 윈도우 임베디드 CE의 매력에 흠뻑 빠져 2006년 스마트윈드에 입사, 윈도우 CE 기반의 PMP, 내비게이션, 셋탑박스의 애플리케이션을 주로 개발했다. 2008년 현재 스마트윈드에서 윈도우 모바일 6 스마트폰 프로그램과 차량용 내비게이션 시스템에 들어가는 멀티미디어 프로그램과 각종 애플리케이션을 개발 중이다.

목차

목차
  • 1부 _ 모바일 애플리케이션 개발 기초 41
  • 01장 닷넷 컴팩트 프레임워크: 변화 중인 플랫폼 43
    • 비주얼 스튜디오를 이용한 모바일 애플리케이션 개발 첫 걸음 44
      • 비주얼 스튜디오 버전 선택 44
      • 추가로 필요한 개발 소프트웨어 46
      • 플랫폼 선택: 포켓 PC, 스마트폰, 윈도우 CE 48
      • 윈도우 CE와 윈도우 모바일의 차이점 50
      • 닷넷 컴팩트 프레임워크 버전 선택 57
    • 닷넷 프레임워크 2.0과 닷넷 컴팩트 프레임워크 2.0의 차이점 62
      • 애플리케이션 설정 파일 66
      • ClickOnce 67
      • Ngen.exe 67
      • 리모팅 67
      • 직렬화 68
      • 인쇄 68
      • 웹 폼 68
    • 닷넷 컴팩트 프레임워크 1.0과 2.0의 차이점 69
      • 윈도우 폼 70
      • 화면 구성 71
      • 데이터베이스 73
      • 통신 74
      • COM 인터롭 74
      • 그래픽 프로그래밍 74
      • 보안 74
      • 스레딩 75
      • 성능 감시 75
    • 닷넷 컴팩트 프레임워크 3.5 75
    • 커뮤니티 활용 77
      • 마이크로소프트 패턴 앤 프랙티스 모바일 애플리케이션 블록 78
      • OpenNETCF 스마트 디바이스 프레임워크 79
    • 정리 79
  • 02장 마이크로소프트 윈도우 폼 GUI 구축 81
    • 윈도우 폼 2.0의 개선 사항 82
    • 데스크탑 애플리케이션과 같은 과정으로 개발 83
    • 디바이스 화면과 디바이스 폼의 매핑 86
      • 화면 구성 87
      • 폼 종료 87
      • 폼 이동 91
    • 주요 윈도우 폼 컨트롤 95
      • Panel 96
      • TabControl 97
      • 메뉴(소프트 키), ToolBar 98
      • Microsoft.WindowsCE.Forms 100
      • 자신만의 컨트롤 생성 102
    • 입력 처리 103
      • 탭 104
      • SIP와 하드웨어 QWERTY 키보드 105
      • 하드웨어 키 107
    • 고려해야 할 화면의 물리적 특성 108
      • 화면 방향과 크기 108
      • 해상도 110
      • 마이크로소프트 패턴 앤 프랙티스 화면 방향 인식 컨트롤 114
      • 대체 디자인 115
    • 스마트폰 GUI 117
      • InputModeEditor 119
      • 스마트폰 프로젝트용 IntelliSense 119
    • 윈도우 CE 기반 디바이스 GUI 120
    • 정리 121
  • 03장 SQL 서버 2005 컴팩트 에디션과 기타 데이터 저장소 활용 123
    • SQL 서버 2005 컴팩트 에디션 데이터베이스 124
      • 비주얼 스튜디오 2005로 데이터베이스 생성 125
      • SQL 서버 2005 매니지먼트 스튜디오로 데이터베이스 생성 127
      • 기존 데이터베이스에 연결 128
      • 테이블, 인덱스, 외래 키 생성 129
      • SqlCeException 판독 135
    • 프로젝트에서 데이터 연결 생성 138
      • 프로젝트 데이터 소스 생성 138
      • 강력한 형식의 DataSet과 SqlCeResultSet의 설계와 프로그래밍 140
    • 데이터 바운드 GUI 생성 168
      • 비주얼 도구로 Quick UI 생성 168
      • BindingSource 컨트롤 프로그래밍 170
      • 데이터 바인딩 디테일 폼 176
      • SqlCeResult로 데이터 바인딩 181
      • 고급 데이터 바인딩 185
      • DataGrid 컨트롤의 자료 서식 192
    • 데이터베이스 없이 자료를 보존하는 방법 194
      • DataSet 객체 직렬화 194
      • 객체 직렬화 196
    • 정리 203
  • 04장 에러 검출, 테스트, 디버깅 205
    • 타겟 연결 205
      • 디바이스 207
      • 에뮬레이터 208
      • 가장 좋은 선택 212
    • 컴파일 에러 212
    • 닷넷 프레임워크에서와 동일한 예외 처리 216
    • 런타임 예외 220
      • 예외의 원인 진단 221
      • 개발자의 책임 224
      • 던져지는 예외 회피 225
      • 예외 처리와 적절한 복구 226
      • 경계 보호(또는 처리하기 힘든 전역 예외 처리) 228
    • 전역 예외 처리 232
      • 닷넷 프레임워크에서의 전역 예외 처리 233
      • 닷넷 컴팩트 프레임워크 1.0에서의 전역 예외 처리 233
      • 닷넷 컴팩트 프레임워크 2.0에서의 전역 예외 처리 234
      • 전역 예외 처리 방법 선택: 단일 메소드 접근법과 다중 메소드 접근법 235
    • 중요하게 다뤄야 할 예외 237
      • WebException 237
      • SocketException 238
      • SqlCeException 238
      • InvalidOperationException 239
      • MissingMethodException 240
      • MissingManifestResourceException 241
      • TypeLoadException 241
    • 로그 파일 242
      • 로더 로그 244
      • 인터롭 로그 244
      • 네트워크 로그 245
      • 에러 로그 246
      • 종료자 로그(버전 3.5) 246
      • 원격 성능 감시 도구 246
    • 계측 247
      • 중단점 247
      • 추적점 250
      • Debug.WriteLine 251
      • 파일 추적 252
    • 유닛 테스트 253
      • 커뮤니티 프로젝트 254
      • 개발 컴퓨터에 배포 254
      • 패턴 앤 프랙티스 255
      • 비주얼 스튜디오 코드 네임 “Orcas” 255
    • 정리 256
  • 05장 닷넷 컴팩트 프레임워크 성능 이해와 최적화 257
    • 모든 개발자가 알아야 할 점 257
    • 컴팩트 CLR 엔진 259
      • JIT 컴파일러 260
      • 가비지 컬렉터 263
      • 버전 2.0에서의 개선 사항 267
    • 닷넷 컴팩트 프레임워크의 성능 통계 267
      • 성능 카운터 활성화 268
      • 카운터 값 보기 268
      • 성능 카운터 설명 269
      • 원격 성능 감시 도구 279
    • 프로그램상에서 성능 측정 284
    • 성능 지침 287
      • 팁과 트릭 287
      • 고려 사항 293
    • 정리 294
  • 06장 애플리케이션 완성, 패키징과 배포 297
    • 도움말 구현 295
      • HTML 기반 도움말 작성 296
      • 코드에서의 도움말 제목 300
      • 전체 목차 300
      • 스마트폰 도움말 301
    • 애플리케이션 잠금 302
      • 키오스크 모드 302
      • 하드웨어 버튼 303
      • UI 잠금 304
      • 써드파티 솔루션 305
    • 런타임 배포 305
    • 디바이스 설치 프로그램 작성 307
      • 비주얼 스튜디오 설치 도구 307
      • 디바이스 설치 프로그램 프로젝트 형식 307
      • 파일 추가와 타겟 설정 308
      • 바로가기 추가 308
      • 레지스트리 설정 309
      • 압축 309
    • 보안 정책과 코드 서명 309
      • 코드 서명 311
      • 설계 가이드라인과 Mobile2Market 311
    • 전역 어셈블리 캐시 312
      • 어셈블리에 강력한 이름 부여 312
      • 전역 어셈블리 캐시를 사용하는 시점과 방법 313
      • 네이티브 CESetup.dll 314
      • .cab 파일 테스트 317
    • 데스크탑 설치 프로그램 작성 317
      • .cab 프로젝트 추가 317
      • 기타 애플리케이션 파일 추가 318
      • 디바이스 측면에서의 설치 자동화 318
      • 별도의 설치 동작 추가 319
      • 설치 프로그램 실행 320
    • 정리 320
  • 2부 _ 모바일 애플리케이션 개발의 문제점 321
  • 07장 백엔드 서버와의 데이터 교환 323
    • 자료 동기화 애플리케이션 구조 323
      • 연결 빈도가 낮은 클라이언트의 설계 324
      • 스테일 데이터에 대응하는 설계 325
      • 동기화 기법 선택 326
    • 웹서비스로 자료 동기화 327
      • 웹서비스 클라이언트 인증 328
      • 연결 빈도가 낮은 클라이언트에서 웹서비스 사용 333
      • 웹서비스 페이로드 압축 344
    • SqlClient로 SQL 서버에 직접 연결 351
      • 데스크탑 닷넷 프레임워크와의 차이점 352
      • System.Data.SqlClient 프로그래밍 354
      • 닷넷 컴팩트 프레임워크 트랜잭션 활용 360
    • SQL 서버 2005 컴팩트 에디션의 RDA로 자료 동기화 361
    • SQL 서버 병합 복제로 자료 복제 381
      • SQL 서버 CE 병합 복제 구조 382
      • 병합 복제 설정 384
      • 병합 복제 프로그래밍 393
    • 정리 396
  • 08장 네트워킹 399
    • 네트워킹의 복잡성과 모바일 디바이스 399
    • 웹서비스 400
    • System.Net 401
      • WebRequest 401
      • 소켓 403
    • IrDA와 블루투스 411
    • 시리얼 포트 412
      • 가상 시리얼 포트 415
    • System.Messaging 416
      • MSMQ 설치 416
    • 정리 422
  • 09장 연결 423
    • 윈도우 모바일 연결 423
    • 데스크탑 통신 427
    • 음성과 데이터 통신 429
      • 음성 연결 429
      • 데이터 통신 431
      • 마이크로소프트 패턴 앤 프랙티스 네트워크 모니터 애플리케이션 블록 437
    • 어댑터 핸들링 439
      • 휴대전화 439
      • WiFi 444
      • 블루투스 445
    • SMS 가로채기 447
    • 정리 449
  • 10장 모바일 애플리케이션 보안 프로그래밍 451
    • 고성능 보안 구현 452
      • 보안 검토 수행 452
      • 기밀 데이터 하드코딩의 문제점 453
      • 기밀 데이터 처리 기술의 좋은 예와 나쁜 예 454
      • 사용자 입력이 최상의 보안 456
    • 증명서와 기밀 데이터 보안 저장 457
      • SQL 서버 CE 데이터베이스 데이터 보호 458
      • 마이크로소프트 패턴 앤 프랙티스 애플리케이션 블록을 사용한 보안 솔루션 개발 459
    • 데이터 암호화 473
      • AES 대칭 알고리즘을 이용한 암호화 474
      • RSA 비대칭 알고리즘을 이용한 암호화 479
    • 네트워크 연결 보안 487
      • 윈도우 모바일 디바이스에 설치되는 루트 인증서 488
      • 자체 서명 인증서 490
    • 사용자 입력 유효성 검사 493
    • 경계 보안: 디바이스 보안 접속 495
      • 익스체인지 서버 2003 SP와 MSFP를 이용한 원격 관리 496
    • 애플리케이션 서명 498
      • 윈도우 모바일 보안 정책 이해 499
      • 윈도우 모바일 디바이스 프로비저닝 503
    • 정리 505
  • 11장 스레딩 507
    • 스레드의 사용 508
    • 기본 원리 이해 509
      • 윈도우 CE 509
      • System.Threading 511
    • 유저 인터페이스 응답 확보 515
      • 메시지 펌프 515
      • 장시간 작업 516
      • 예제 시연 516
      • 임시 해결책 518
      • 문제 해결을 위한 스레드 사용 519
      • BackgroundWorker 525
    • 스레드 작업 동기화와 데이터 접근 527
      • 경쟁 상태 527
      • 모니터 530
      • 스레드 안전 532
      • 교착 상태 532
      • ManualResetEvent 534
    • 스레드 풀 536
    • 스레딩과 애플리케이션 종료 이해 537
      • 배경 스레드 538
      • 스레드 종료 539
    • 닷넷 타이머 이해 540
    • 정리 542
  • 12장 그래픽 프로그래밍 543
    • 이미지, 텍스트, 도형 543
      • 윈도우 그리기 기본 546
      • 이미지 그리기 547
      • 이미지 크기 조정 548
      • 배경 칠하기 550
      • 도형과 텍스트 칠하기 551
      • 라인 그리기 554
    • 다양한 해상도 처리 554
    • 텍스트 회전 557
    • 더블 버퍼링을 이용한 화면 깜박임 해소 561
      • OnPaintBackground 오버라이드 565
    • 고급 기술 565
      • 그라디언트 채우기를 이용한 그리기 565
      • 투명한 배경 그리기 566
      • 알파 블렌딩을 이용한 그리기 568
    • 정리 574
  • 13장 모바일 다이렉트3D 575
    • 다이렉트3D란 575
      • 다이렉트3D 사용 575
      • 다이렉트3D 디바이스 576
      • 그리기 과정 577
      • 다이렉트3D 프로그램 실행 580
    • 3차원 작업 581
      • 삼각형 그리기 581
      • 좌표와 뷰 이해 584
      • 3차원에서 움직이는 물체 584
      • 프로그래머에서 영화 감독으로 586
      • 행렬 587
      • 원근법과 변환 588
      • 변환과 애니메이션 589
      • 고급 변환 기술 591
      • 텍스처 추가 593
      • 복잡한 객체 생성 595
      • 다수 아이템 그리기 596
      • 조명 598
      • 메쉬 601
      • 조명과 메쉬 재료 602
    • 모바일 디바이스에서의 다이렉트3D 604
      • 다이렉트3D와 이벤트 604
      • 오리엔테이션 변화 관리 604
      • 다이렉트3D 그리기 성능 605
      • 다양한 플랫폼 지원 606
      • 배터리 수명 606
    • 정리 607
  • 14장 플랫폼 연동 609
    • 플랫폼 호출 서비스 610
      • 마샬링 612
      • NativeMethods 617
      • 미디어 예제 617
      • 매니지드 코드 콜백 622
    • COM 인터롭 635
      • COM 라이브러리 임포트 636
      • 수동 인터페이스 선언 636
      • 액티브X 컨트롤 643
    • 정리 644
  • 15장 사용자 지정 컨트롤 제작 645
    • 기존 컨트롤 확장 645
      • 이벤트 오버라이딩 646
    • 사용자 지정 컨트롤 제작 647
      • UserControl 648
      • 컨트롤 650
    • 디자인 타임 프로그래밍 654
      • 속성 655
      • 비주얼 스튜디오 2005 도구상자 추가 669
    • 정리 672
  • 16장 국제화 673
    • 세계화에 대한 도전 674
    • 문화 676
      • CultureInfo 677
      • 세계화를 위한 요구 사항 재점검 680
    • 언어 변환(또는 지역화) 682
      • 리소스 파일 생성 682
      • 리소스로부터 읽기 684
      • 특정 지역 리소스와 위성 어셈블리 686
      • 실제 텍스트 변환 687
    • 정리 689
  • 17장 윈도우 모바일용 프로그램 개발 691
    • 포켓 아웃룩 691
      • 개인정보 관리 692
      • 메시징 701
    • 상태와 통지 704
    • 사진 708
      • 카메라 709
    • GPS 710
    • 구성 714
      • 디바이스 구성 프로그래밍 714
      • 구성 설정 배포 714
    • 전화 통신 715
    • 이전 버전의 윈도우 모바일 715
    • 정리 715
  • 3부 _ 새로운 개발 방법 717
  • 18장 닷넷 컴팩트 프레임워크 3.5 버전과 비주얼 스튜디오 코드 네임 “Orcas” 719
    • 닷넷 컴팩트 프레임워크 3.5 소개 720
    • 비주얼 스튜디오 코드 네임 “Orcas”소개 723
    • 닷넷 컴팩트 프레임워크 3.5를 이용한 애플리케이션 개발 725
      • 컴팩트 WCF 프로그래밍 725
      • LINQ 프로그래밍 743
      • System.IO.Compression 프로그래밍 751
    • 비주얼 스튜디오 코드 네임 "Orcas" 팀 시스템 단위 테스트 753
      • “Orcas”에서 단위 테스트 작성 754
      • 단위 테스트 실행 758

관련 블로그 글

"최신" 윈도우 모바일 애플리케이션 개발 완벽가이드

사용자 삽입 이미지

윈도우 모바일 애플리케이션 개발 가이드
앤디위글리, 대니얼 모스, 피터 풋 지음 | 김홍중 홍선숙 옮김 |
임베디드 시스템 프로그래밍 시리즈 26 | 2009년 1월 2일 출간 예정 |
784쪽 | 40,000원 | ISBN 9788960770713


닷넷컴팩트프레임워크에 기반한 최신 윈도우 모바일 애플리케이션 개발 완벽가이드
데이터베이스, 네트워크, 보안 등 스마트폰과 PDA 애플리케이션의 전반 수록


이제 2008년도 얼마 남지 않았네요. 매년 늘 그러하지만 올해도 역시 시간이 어떻게 흘렀는지 모를 정도로 정신없이 지나간 한 해인 것 같습니다. 2008년을 이제 딱 만 4일 12시간을 남긴 지금 2008년에서 2009년을 관통하는 IT의 핫 이슈를 꼽으라면 수도 없이 많겠지만, 그중에 하나는 역시 모바일폰과 관련한 이슈들인 것 같습니다.

"만져라!!" 처음 듣기엔 이름도 참 쉽지 않았던, "햅틱"폰의 성공과 더불어 터치폰들의 기세등등, 일부 매니아들에 국한된 이야기일 수도 있겠지만 그 긴 기다림의 시간을 지루하지 않게 만든 아이폰의 수많은 "말말말". 이제 오히려 위피도 폐지되는 내년 4월 1일이 가시화되고도 마치 마음을 종잡을 수 없는 사랑의 줄다리기인 양 아직도 애닯게 만들다니 이런 희대의 teaser가 어데 또 있단 말입니까. ㅎㅎ 아프리카 구석진 나라들에서도 나오는 아이폰인데 말입니다요 -0-;;;;

게다가 얼마 전 출시된 옴니아폰으로 어렵기만 하던 PDA나 스마트폰을 좀더 정겹고 쉽게 다가갈 수 있게 한 것 같아 여타 IT 이슈들과 달리, 모바일폰의 바람몰이는 갑남을녀-디지털 유목민들의 눈에도 분명히 보이는 듯합니다.

모바일 운영체제마이크로소프트사의 윈도우 모바일, 오픈소스를 선언한 노키아의 심비안과 애플의 아이폰, 구글의 안드로이드 플랫폼, 썬 자바FX 모바일에 곧 선보일 팜사의 노바까지 가세한다면 그야말로 2009년에는 춘추전국을 이룰 것으로 보입니다.

결국 2008년이 터치폰이 포문을 연 한 해였다면 2009년은 스마트폰 이주도하는 한 해가 된다는 전망이라는 거죠.

이런 열풍에 힘입어 저희도 윈도우 모바일 애플리케이션 개발 가이드 책이 곧 출간됩니다.

■ 휴대용 디바이스에 최적화된 사용자 인터페이스 설계
■ 윈도우 모바일 API를 이용한 기능 확장
■ 디바이스에 저장되는 데이터의 구성과 유지
■ 백엔드 서버와 디바이스에 저장되는 데이터의 동기화
■ 네트워크 연결과 네트워크 상태 변화에 따른 응답
■ 인증과 대칭, 비대칭 암호화 알고리즘 구현
■ 애플리케이션의 성능 최적화
■ PInvoke와 COM 인터롭을 사용한 네이티브 코드 병용
■ 닷넷 컴팩트 프레임워크 3.5와 비주얼 스튜디오 2008에 대한 정보

모바일 애플리케이션을 개발하는 데 관심이 있는 사람, 특히 모바일 애플리케이션 개발에 처음 발을 담그는 데스크탑 닷넷 개발자에게 유용한 책이다.
 
여기 수록된 내용들은 단지 난해하고 심오한 이론에만 그치지 않는다. 실용적인 지침과 효율적이고 기능적인 모바일 소프트웨어를 개발하는 데 필요한 지식을 제공한다. 또 개발 속도를 높여주는 유용한 코드와 예제들로 가득하다.

디바이스와 애플리케이션은 동떨어져 있는 것이 아니다. 앞으로 작성하게 될 애플리케이션은 데스크탑 컴퓨터, 서버 등을 모두 포함하는 전체 아키텍처의 일부가 될 것이다. 이 책은 애플리케이션의 개발과 정확한 기능 구현은 물론, 모바일 환경에서 처음 개발하는 개발자들에게는 적잖이 생소할 수 있는 영역인 애플리케이션의 성능 문제와 배포에 대해서도 설명한다.

리차드 그린버그
그룹 프로그램 매니저 / 마이크로소프트 닷넷 컴팩트 프레임워크 팀

이 책은 닷넷 컴팩트 프레임워크의 매니지드 API 활용법을 잘 설명해 놓았다. 그리고 요즘 유행하는 T 옴니아폰이나 HTC 다이아몬드폰 같은 윈도우 모바일 6 운영체제 기반하의 장치에서 쉽고 빠르게 애플리케이션을 개발할 수 있게 도와준다.

마이크로소프트의 모바일 애플리케이션 개발 도구인 비주얼 스튜디오 2005나 2008을 이용해 폼 기반의 사용자 인터페이스를 디자인하고, 윈도우 모바일 API들을 C#이나 VB.NET의 클래스나 메소드 단위로 호출해 올 수 있게끔 해준다.

또한 모바일 개발자들이 가장 많이 사용하는 백엔드 시스템과의 데이터 동기화와 네트워크 연결을 통해 SFA나 CRM, 메시징 기반의 상용 애플리케이션을 개발하는 데 최적의 도움을 준다.

서진호 차장(http://blogs.msdn.com/jinhoseo)
한국 마이크로소프트 모바일/임베디드 디벨로퍼 에반젤리스트

작년 이맘때쯤이죠? 미국 유랑생활을 접고 한국에 들어와서 첫 과업으로 번역일을 선택하신 김홍중님과 이 책과 함께 곧 어여쁜 아기를 잉태하고 출산을 앞두고 있는 홍선숙님 두 분 역자께 진심으로 감사의 말씀 전합니다. :)

이 책은 지금 YES24, 교보문고, 강컴, 인터파크, 알라딘 등에서 예약판매중입니다. 시장을 선도할 스마트폰, PDA 등의 애플리케이션 개발에 관심있는 임베디드 개발자분들께 도움되는 책이길 바랍니다.
(임베디드 개발자 분들도 우리 블로그 많이 들어오시겠죠? ^^;;;)

CC

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

도서 오류 신고

도서 오류 신고

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

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

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

정오표

[ p414 두 번째 소스 아래에서 3행 ]
this.Invoke(new InvokerDelegate(ShowData),
→ this.Invoke(new InvokerDelegate(ShowNewData),

[ p415 소스 아래에서 4행 ]
spPort.WriteLine(txtOutgoing.Texr);
→ spPort.WriteLine(txtOutgoing.Text);

[ p693 소스 4행 ]
session = enw OutlookSession(); → session = new OutlookSession();