초보자를 위한 <br />윈도우 폰 애플리케이션 <br />개발 스토리북 (#1)<br />서진호 차장(Jinho.Seo@microsoft.com)<br />Mobile/Embedded Developer Evangeli...
누구를 위하여<br />옴니아I,II 와 엑스페리아, HTC 다이아몬드 폰, LG 인사이트 폰 등 윈도우 폰을 소지한 분들<br />윈도우 폰 애플리케이션을 처음 배우는 분들<br />각종 앱스토어 및 마켓 플레이스에 ...
목차<br />플랫폼이란 무엇인가?<br />윈도우 모바일과 윈도우CE 플랫폼의 차이<br />윈도우 모바일 아키텍처<br />윈도우 폰 애플리케이션 방법<br />올바른 윈도우 폰 애플리케이션 API 선택하기<br /...
전 세계의 윈도우 폰<br />&gt;150개<br />
서로 다른 목적의 폰 플랫폼 생태계<br />차별화 및 혁신<br />플랫폼 개발 가용성 및 쉽게 사용할 수 있는 용의성<br />새롭고 부유한 서비스 및 경험 실현<br />ARPU 목적, 일반 소비자 이목 끄는 서비...
플랫폼이란 무엇인가?<br />좁게는시스템 운영체제 <br />넓게는 커뮤니티 및 파트너 생태계<br />지속적인 연구 개발 및 개발자 커뮤니티 투자<br />
Windows Embedded 플랫폼<br />Windows Embedded 플랫폼이란 강력하게, 안정적이며 혁신적인 그리고 지능적인 장치들을 개발하는 데 빠르게 개발할 수 있도록 도와준다. <br />
플랫폼과 개발도구, 서비스의 연관관계<br />서비스<br />개발도구<br />플랫폼<br />
Windows CE는 무엇인가?<br />“작은 크기의” 장치에 대한 현대적이고, 선점형 멀티태스킹 운영체제<br />Win32 API의 부분집합 사용<br />컴포넌트 기반<br />다중 CPU 아키텍처 지원<br /...
Remote Connectivity<br />Windows CE Shell Services<br />WIN32 APIs<br />COREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET,...
Windows CE vs. Windows Mobile<br />Windows CE<br />임베디드 운영체제<br />소스 100% 공개된 플랫폼 빌더와 함께 판매함<br />OEMs 은 마음대로 사용할 수 있음<br ...
Windows Mobile 플랫폼이란?<br />Windows Mobile Standard (Smartphone)<br />터치 스크린 없음<br />Windows Mobile Professional (Pocket PC...
기본적인 윈도우 모바일 개발 방법<br />Visual Studio 2008<br />Windows Mobile 6 SDK<br />모바일 브라우저환경<br />Windows Form<br />C/C++, .NET CF...
전체 개발 순서<br /><ul><li>아키텍처
UX 디자인
코딩
단위 테스트
운영체제
Visual Studio 2008
Windows Mobile 6 SDK
에뮬레이터 이미지
장치
서비스 테스트
복합 시나리오 테스트
코드 인증
배포</li></li></ul><li>프로그래밍 개발 방법<br /><ul><li>네이티브(Native) 응용프로그램
Windows CE API, 장치용 MFC
Upcoming SlideShare
Loading in …5
×

Windows Phone Apps Story Book #1

1,917 views

Published on

초보자를 위한 윈도우폰 애플리케이션
개발 스토리북 #1

Published in: Technology, Business
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,917
On SlideShare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
79
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide
  • A modern, preemptively multitasked operating system designed for “small” devices Virtual memory, multithreaded Completely 32-bitUses a subset of the Win32 API Win32 defined by Windows XP Legacy APIs removed Less of a subset every version Over 2,000 functionsComponentizable OEMs define what parts of the OS to use Over 200 components availableMultiple CPU architectures supportedSHx, MIPs, x86, ARM OS is CPU-agnostic Some OEMs working harder on performance tweaksNot dependent on Wintel-compatible PCs Not dependent on PC memory map Not dependent on specific PC hardwareOptional RAM-based file system Retains state across warm boot Compresses files in RAM automaticallyStrong built-in communications support Winsock, WinINet TAPI, RAS BluetoothWritten for international markets Entire OS is Unicode Built-in support for many languages MUI: Multiuser interface support
  • A modern, preemptively multitasked operating system designed for “small” devices Virtual memory, multithreaded Completely 32-bitUses a subset of the Win32 API Win32 defined by Windows XP Legacy APIs removed Less of a subset every version Over 2,000 functionsComponentizable OEMs define what parts of the OS to use Over 200 components availableMultiple CPU architectures supportedSHx, MIPs, x86, ARM OS is CPU-agnostic Some OEMs working harder on performance tweaksNot dependent on Wintel-compatible PCs Not dependent on PC memory map Not dependent on specific PC hardwareOptional RAM-based file system Retains state across warm boot Compresses files in RAM automaticallyStrong built-in communications support Winsock, WinINet TAPI, RAS BluetoothWritten for international markets Entire OS is Unicode Built-in support for many languages MUI: Multiuser interface support
  • A modern, preemptively multitasked operating system designed for “small” devices Virtual memory, multithreaded Completely 32-bitUses a subset of the Win32 API Win32 defined by Windows XP Legacy APIs removed Less of a subset every version Over 2,000 functionsComponentizable OEMs define what parts of the OS to use Over 200 components availableMultiple CPU architectures supportedSHx, MIPs, x86, ARM OS is CPU-agnostic Some OEMs working harder on performance tweaksNot dependent on Wintel-compatible PCs Not dependent on PC memory map Not dependent on specific PC hardwareOptional RAM-based file system Retains state across warm boot Compresses files in RAM automaticallyStrong built-in communications support Winsock, WinINet TAPI, RAS BluetoothWritten for international markets Entire OS is Unicode Built-in support for many languages MUI: Multiuser interface support
  • A modern, preemptively multitasked operating system designed for “small” devices Virtual memory, multithreaded Completely 32-bitUses a subset of the Win32 API Win32 defined by Windows XP Legacy APIs removed Less of a subset every version Over 2,000 functionsComponentizable OEMs define what parts of the OS to use Over 200 components availableMultiple CPU architectures supportedSHx, MIPs, x86, ARM OS is CPU-agnostic Some OEMs working harder on performance tweaksNot dependent on Wintel-compatible PCs Not dependent on PC memory map Not dependent on specific PC hardwareOptional RAM-based file system Retains state across warm boot Compresses files in RAM automaticallyStrong built-in communications support Winsock, WinINet TAPI, RAS BluetoothWritten for international markets Entire OS is Unicode Built-in support for many languages MUI: Multiuser interface support
  • A modern, preemptively multitasked operating system designed for “small” devices Virtual memory, multithreaded Completely 32-bitUses a subset of the Win32 API Win32 defined by Windows XP Legacy APIs removed Less of a subset every version Over 2,000 functionsComponentizable OEMs define what parts of the OS to use Over 200 components availableMultiple CPU architectures supportedSHx, MIPs, x86, ARM OS is CPU-agnostic Some OEMs working harder on performance tweaksNot dependent on Wintel-compatible PCs Not dependent on PC memory map Not dependent on specific PC hardwareOptional RAM-based file system Retains state across warm boot Compresses files in RAM automaticallyStrong built-in communications support Winsock, WinINet TAPI, RAS BluetoothWritten for international markets Entire OS is Unicode Built-in support for many languages MUI: Multiuser interface support
  • Windows Phone Apps Story Book #1

    1. 1. 초보자를 위한 <br />윈도우 폰 애플리케이션 <br />개발 스토리북 (#1)<br />서진호 차장(Jinho.Seo@microsoft.com)<br />Mobile/Embedded Developer Evangelist<br />Microsoft Korea<br />http://blogs.msdn.com/jinhoseo<br />http://www.winmodev.net<br />Twitter: @synabreu<br />
    2. 2. 누구를 위하여<br />옴니아I,II 와 엑스페리아, HTC 다이아몬드 폰, LG 인사이트 폰 등 윈도우 폰을 소지한 분들<br />윈도우 폰 애플리케이션을 처음 배우는 분들<br />각종 앱스토어 및 마켓 플레이스에 애플리케이션을 올리실 분들<br />웹 또는 PC 개발에서 모바일 애플리케이션 개발자로 전향하실 분들<br />윈도우 폰 애플리케이션을 강의하고자 하는 분들<br />
    3. 3. 목차<br />플랫폼이란 무엇인가?<br />윈도우 모바일과 윈도우CE 플랫폼의 차이<br />윈도우 모바일 아키텍처<br />윈도우 폰 애플리케이션 방법<br />올바른 윈도우 폰 애플리케이션 API 선택하기<br />결론<br />
    4. 4. 전 세계의 윈도우 폰<br />&gt;150개<br />
    5. 5. 서로 다른 목적의 폰 플랫폼 생태계<br />차별화 및 혁신<br />플랫폼 개발 가용성 및 쉽게 사용할 수 있는 용의성<br />새롭고 부유한 서비스 및 경험 실현<br />ARPU 목적, 일반 소비자 이목 끄는 서비스 상품화<br />보안, 안정성, 관리성<br />현재 및 미래의 IT 자산 통합<br />일관성 플랫폼<br />잘 알려져 있고 생산적인 도구<br />친숙한 사용자 인터페이스<br />개인화된 커뮤니케이션과 서비스<br />장치 선택<br />
    6. 6. 플랫폼이란 무엇인가?<br />좁게는시스템 운영체제 <br />넓게는 커뮤니티 및 파트너 생태계<br />지속적인 연구 개발 및 개발자 커뮤니티 투자<br />
    7. 7. Windows Embedded 플랫폼<br />Windows Embedded 플랫폼이란 강력하게, 안정적이며 혁신적인 그리고 지능적인 장치들을 개발하는 데 빠르게 개발할 수 있도록 도와준다. <br />
    8. 8. 플랫폼과 개발도구, 서비스의 연관관계<br />서비스<br />개발도구<br />플랫폼<br />
    9. 9. Windows CE는 무엇인가?<br />“작은 크기의” 장치에 대한 현대적이고, 선점형 멀티태스킹 운영체제<br />Win32 API의 부분집합 사용<br />컴포넌트 기반<br />다중 CPU 아키텍처 지원<br />Wintel 기반 PC에 의존적이지 않음이 아님<br />선택적인 RAM 기반 파일 시스템<br />강력한 내장 커뮤니케이션 지원<br />해외 마켓에서 적용할 수 있도록 제공<br />
    10. 10. Remote Connectivity<br />Windows CE Shell Services<br />WIN32 APIs<br />COREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI<br />IrDA<br />Kernel<br />Library<br />TCP/IP<br />GWES<br />File System<br />Manager<br />Device Manager<br />File drivers<br />Drivers<br />Device drivers<br />OAL<br />Bootloader<br />Microsoft<br />OEM<br />ISV, OEM<br />Applications<br />Embedded Shell<br />OEM Hardware<br />윈도우 CE 아키텍처<br />
    11. 11. Windows CE vs. Windows Mobile<br />Windows CE<br />임베디드 운영체제<br />소스 100% 공개된 플랫폼 빌더와 함께 판매함<br />OEMs 은 마음대로 사용할 수 있음<br />Windows Mobile<br />Windows CE OS 기반의 시스템<br />Microsoft가 디자인한 쉘과 애플리케이션 포함 <br />OEMs 과 긴밀하게 작업함.<br />플랫폼 빌더를 시중에 판매하지 않음<br />
    12. 12. Windows Mobile 플랫폼이란?<br />Windows Mobile Standard (Smartphone)<br />터치 스크린 없음<br />Windows Mobile Professional (Pocket PC)<br />터치스크린<br />
    13. 13. 기본적인 윈도우 모바일 개발 방법<br />Visual Studio 2008<br />Windows Mobile 6 SDK<br />모바일 브라우저환경<br />Windows Form<br />C/C++, .NET CF<br />C#, Javascript<br />Mobile Web <br />Application<br />Windows ClientApplication<br />
    14. 14. 전체 개발 순서<br /><ul><li>아키텍처
    15. 15. UX 디자인
    16. 16. 코딩
    17. 17. 단위 테스트
    18. 18. 운영체제
    19. 19. Visual Studio 2008
    20. 20. Windows Mobile 6 SDK
    21. 21. 에뮬레이터 이미지
    22. 22. 장치
    23. 23. 서비스 테스트
    24. 24. 복합 시나리오 테스트
    25. 25. 코드 인증
    26. 26. 배포</li></li></ul><li>프로그래밍 개발 방법<br /><ul><li>네이티브(Native) 응용프로그램
    27. 27. Windows CE API, 장치용 MFC
    28. 28. 관리형 응용프로그램 (a.k.a .NET CF)
    29. 29. .NET 컴팩트 프레임워크 v2.0/v3.5, </li></ul> Open .NET CF v2.3<br /><ul><li>모바일 웹 응용 프로그램
    30. 30. HTML, Javascript, AJAX, ASP.NET, PHP/JSP, Widget</li></li></ul><li>WM 2003 SE<br /> Size<br /> Portability<br /> Compatibility<br /> Smartphone<br /> Perf update<br /> Landscape<br /> Autoscroll<br /> Bug fixes<br /> Generics<br /> COM interop<br />Controls<br /> MD3DM<br /> Performance<br /> Bug fixes<br />(redist)<br />PPC 2002<br />SP 2002<br />WM 2003<br />WM 5<br />3.0<br />4.2<br />5.0<br />4.1<br />1.0<br />1.0 SP1<br />1.0 SP2<br />2.0 SP2<br />1.0 SP3<br />WM 6<br />WM 6.1<br />6.0<br />Visual Studio 2005<br />Visual Studio 2003<br />Visual Studio 2008<br />3.5<br />LINQ<br />WCF<br />개발도구 및 프레임워크 호환성<br />2002<br />2003<br />2004<br />2005<br />2008<br />VisualStudio<br />.NET Compact Framework<br />(Just Pocket PC)<br />Windows Mobile<br />Windows CE<br />
    31. 31. Native 와 Managed 코드 차이점<br /><ul><li>Managed Code
    32. 32. 메모리관리
    33. 33. 자동관리
    34. 34. Garbage Collector 제어
    35. 35. 데이터접근
    36. 36. 오브젝트 할당사용
    37. 37. 데이터 연결
    38. 38. Value Type
    39. 39. 바이너리 Level의 이식성
    40. 40. Run Time 조건
    41. 41. 단독 실행 가능
    42. 42. CF 3.5 – 6MB
    43. 43. Native Code
    44. 44. 메모리관리
    45. 45. 수동관리
    46. 46. 메모리누수
    47. 47. 포인터
    48. 48. 오브젝트 포인터사용
    49. 49. 포인터연산
    50. 50. 소스코드 레벨의 이식성
    51. 51. Run Time 조건
    52. 52. 단독실행 가능
    53. 53. Win32 – 운영체제 기본
    54. 54. MFC – Library Add on</li></li></ul><li>Windows CE API<br /><ul><li>제어판 애플릿
    55. 55. 보안기능
    56. 56. SOAP Web server 제작
    57. 57. 장점
    58. 58. 가장 작은 크기 실행 파일
    59. 59. 소스 코드-레벨 이식성
    60. 60. 기존의 Win32 API 재사용
    61. 61. 대상
    62. 62. 디바이스 드라이버 제작
    63. 63. 실시간 지원기능
    64. 64. 쉘(Shell) 지원
    65. 65. 투데이/홈 스크린
    66. 66. UI Skin
    67. 67. 가상키보드</li></li></ul><li>장치용 MFC<br /><ul><li>장점
    68. 68. 편리한 개체 지향 활용 (Windows CE API 재구성)
    69. 69. 편리한 개발 도구 및 디자인 기능
    70. 70. 소스코드 호환성 높음
    71. 71. 응용프로그램 제공
    72. 72. 데이터 중심의 model/view 디자인 패턴 제공
    73. 73. ActiveX / COM 호환성 지원, 래퍼 클래스
    74. 74. MFC 런타임 라이브러리 필요</li></li></ul><li>.NET 컴팩트 프레임워크<br /><ul><li>장점
    75. 75. 확장하고 가능하고 지속적인 API
    76. 76. 가비지 컬렉션으로 메모리 누수 현상 최소화 및 메모리 자동 관리
    77. 77. 개발자가 사용하기 쉬운 C# 언어 지원
    78. 78. 다중 CPU 지원으로 소스 레벨 포팅 필요 없음
    79. 79. 응용프로그램 제공
    80. 80. Win Forms 기반의 디자인 기능 제공
    81. 81. 데이터베이스 연결 지원 (ADO.NET)
    82. 82. XML 및 XML 연속화 지원
    83. 83. 웹 서비스 클라이언트</li></li></ul><li>Native 코드를 관리형 코드로 사용<br /><ul><li>Native 코드와 Manage 코드 가교 역할
    84. 84. Native 코드는 Windows CE 와 MFC 모두 지원함
    85. 85. .NET 에서 Win32 를 호출
    86. 86. 노출된(export) DLL 함수호출
    87. 87. C-호출 함수 정의 요구 (관리형C++은 지원하지 않음)
    88. 88. Component Object Model (COM) – CF 2.0 부터 지원
    89. 89. CCW – 관리형 코드에서 인터페이스 호출
    90. 90. RCW – 비관리형 코드에서 인터페이스 호출</li></li></ul><li>Open .NET Compact Framework<br /><ul><li>현재 최신 버전 2.3 으로 Visual Studio 2008 과 통합됨
    91. 91. Windows CE API 의 거의 모든 부분을 Managed 코드화
    92. 92. Desktop 용 RAPI 도 Managed 코드화
    93. 93. HTTP, FTP, Mail, MIME, SMS 지원
    94. 94. Windows Media, RSS, NetworkingInformation, Telephony기능 지원
    95. 95. http://www.opennetcf.org</li></li></ul><li>모바일 웹 응용프로그램<br /><ul><li>풀 브라우징이 지원해도 모바일 웹 디자인 고려
    96. 96. Simple is the Best!
    97. 97. 표준 웹 방식 지원
    98. 98. 현재 윈도우 폰 IE6 브라우저 고려
    99. 99. HTML 4.0, CSS for Mobile Profile 1, Frame 지원하나 추천하지 않음
    100. 100. JavaScript 및 XML, AJAX, XML 지원
    101. 101. Cookie 를 폰에 내장 시키는 기능 지원
    102. 102. 응용프로그램 확장 방식 지원
    103. 103. JSP, PHP, ASP Legacy Code 지원
    104. 104. ActiveX 컨트롤 지원(Windows CE CPU 용 컴파일)
    105. 105. ASP.NET 및 ASP.NET Mobile Control 지원
    106. 106. 웹 서비스 클라이언트</li></li></ul><li>응용프로그램 배포<br /><ul><li>Windows 폰으로 직접 복사
    107. 107. ActiveSync를 이용한 PC에서 Setup 배포
    108. 108. 모바일 웹 사이트에서 직접 다운로드
    109. 109. 마켓 플레이스를 통한 배포</li></li></ul><li>보안: 코드 인증<br /><ul><li>목적: 인증되지 않는 프로그램 또는 해커가 Windows Mobile 폰 침투 방지
    110. 110. LTK 나 Mobile2Market 인증과 다름
    111. 111. 개발 시에는 Security Off, 그러나 배포 시 1-Tier 와 2-Tier 설정 필요</li></li></ul><li>멀티 디바이스를 위한 멀티 플랫폼 최적화.NET 프레임워크<br />Windows XP<br />Windows Embedded<br />
    112. 112. 추천 도서<br />

    ×