Transcript
Page 1: Windows Phone Apps Story Book #1

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

서진호 차장 ([email protected])Mobile/Embedded Developer Evangelist

Microsoft Koreahttp://blogs.msdn.com/jinhoseo

http://www.winmodev.netTwitter: @synabreu

Page 2: Windows Phone Apps Story Book #1

누구를 위하여

• 옴니아 I,II 와 엑스페리아 , HTC 다이아몬드 폰 , LG 인사이트 폰 등 윈도우 폰을 소지한 분들• 윈도우 폰 애플리케이션을 처음 배우는 분들• 각종 앱스토어 및 마켓 플레이스에 애플리케이션을

올리실 분들• 웹 또는 PC 개발에서 모바일 애플리케이션

개발자로 전향하실 분들• 윈도우 폰 애플리케이션을 강의하고자 하는 분들

Page 3: Windows Phone Apps Story Book #1

목차

• 플랫폼이란 무엇인가 ?• 윈도우 모바일과 윈도우 CE 플랫폼의 차이• 윈도우 모바일 아키텍처• 윈도우 폰 애플리케이션 방법 • 올바른 윈도우 폰 애플리케이션 API 선택하기• 결론

Page 4: Windows Phone Apps Story Book #1

전 세계의 윈도우 폰>150 개

Page 5: Windows Phone Apps Story Book #1

서로 다른 목적의 폰 플랫폼 생태계차별화 및 혁신플랫폼 개발 가용성 및 쉽게 사용할 수 있는 용의성

새롭고 부유한 서비스 및 경험 실현ARPU 목적 , 일반 소비자 이목 끄는 서비스 상품화

보안 , 안정성 , 관리성현재 및 미래의 IT 자산 통합

일관성 플랫폼잘 알려져 있고 생산적인 도구

친숙한 사용자 인터페이스개인화된 커뮤니케이션과 서비스장치 선택

Page 6: Windows Phone Apps Story Book #1

플랫폼이란 무엇인가 ?

• 좁게는 시스템 운영체제 • 넓게는 커뮤니티 및 파트너 생태계• 지속적인 연구 개발 및 개발자 커뮤니티 투자

Page 7: Windows Phone Apps Story Book #1

Windows Embedded 플랫폼이란 강력하게 , 안정적이며 혁신적인 그리고 지능적인 장치들을 개발하는 데 빠르게 개발할 수 있도록 도와준다 .

Windows Embedded 플랫폼

Page 8: Windows Phone Apps Story Book #1

개발도구

서비스

플랫폼과 개발도구 , 서비스의 연관관계

플랫폼

Page 9: Windows Phone Apps Story Book #1

Windows CE 는 무엇인가 ?

• “ 작은 크기의” 장치에 대한 현대적이고 , 선점형 멀티태스킹 운영체제• Win32 API 의 부분집합 사용• 컴포넌트 기반• 다중 CPU 아키텍처 지원• Wintel 기반 PC 에 의존적이지 않음이 아님• 선택적인 RAM 기반 파일 시스템• 강력한 내장 커뮤니케이션 지원• 해외 마켓에서 적용할 수 있도록 제공

Page 10: Windows Phone Apps Story Book #1

OEM Hardware

Embedded Shell

Applications

WIN32 APIsCOREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI

Windows CE Shell Services

Remote Connectivity

KernelLibrary

IrDA

GWES Device Manager

File System

Manager TCP/IP

OALBootloader

DriversDevice drivers

File drivers

Microsoft OEM ISV, OEM

윈도우 CE 아키텍처

Page 11: Windows Phone Apps Story Book #1

Windows CE vs. Windows Mobile• Windows CE

– 임베디드 운영체제– 소스 100% 공개된 플랫폼 빌더와 함께 판매함– OEMs 은 마음대로 사용할 수 있음

• Windows Mobile– Windows CE OS 기반의 시스템– Microsoft 가 디자인한 쉘과 애플리케이션 포함 – OEMs 과 긴밀하게 작업함 .– 플랫폼 빌더를 시중에 판매하지 않음

Page 12: Windows Phone Apps Story Book #1

Windows Mobile Standard (Smartphone)

터치 스크린 없음

Windows Mobile Professional (Pocket PC)

터치스크린

Windows Mobile 플랫폼이란 ?

Page 13: Windows Phone Apps Story Book #1

기본적인 윈도우 모바일 개발 방법

C/C++, .NET CFC#, Javascript

Visual Studio 2008

Mobile Web Application Mobile Web Application

Windows ClientApplication

Windows ClientApplication

모바일 브라우저 환경

Windows Mobile 6 SDK

Windows Form

Page 14: Windows Phone Apps Story Book #1

운영체제

Visual Studio 2008

Windows Mobile 6 SDK

에뮬레이터 이미지

장치

준비사항

프로그래밍 테스트 배포

아키텍처

UX 디자인

코딩

단위 테스트

서비스 테스트

복합 시나리오 테스트

코드 인증

배포

전체 개발 순서

Page 15: Windows Phone Apps Story Book #1

네이티브 (Native) 응용프로그램 Windows CE API, 장치용 MFC

관리형 응용프로그램 (a.k.a .NET CF)

.NET 컴팩트 프레임워크 v2.0/v3.5,

Open .NET CF v2.3

모바일 웹 응용 프로그램 HTML, Javascript, AJAX, ASP.NET,

PHP/JSP, Widget

프로그래밍 개발 방법

Page 16: Windows Phone Apps Story Book #1

개발도구 및 프레임워크 호환성2002 2003 2004 2005

Windows Mobile PPC

2002SP 2002 WM

2003WM 2003 SE WM 5

VisualStudio Visua

l Studio 2003

Visual Studio 2005

Windows CE

3.0 4.2 5.0

.NET Compact Framewo

rk

4.1

1.0 Size Portability

Compatibility

(redist)

1.0 SP1

Smartphone

1.0 SP2 Perf update Landscape Autoscroll Bug fixes

2.0 SP2 Generics COM interop Controls MD3DM Performance

1.0 SP3 Bug

fixes

2008

Visual Studio 2008

3.5LINQWCF

WM 6 WM 6.1

(Just Pocket PC)

6.0

Page 17: Windows Phone Apps Story Book #1

Native Code 메모리관리

수동관리 메모리누수

포인터 오브젝트

포인터사용 포인터연산

소스코드 레벨의 이식성

Run Time 조건 단독실행 가능 Win32 –

운영체제 기본 MFC –

Library Add on

Managed Code 메모리관리

자동관리 Garbage

Collector 제어

데이터접근 오브젝트

할당사용 데이터 연결 Value Type

바이너리 Level의 이식성

Run Time 조건 단독 실행 가능 CF 3.5 – 6MB

Native 와 Managed 코드 차이점

Page 18: Windows Phone Apps Story Book #1

Windows CE API

장점 가장 작은 크기 실행 파일 소스 코드 - 레벨 이식성 기존의 Win32 API

재사용 대상

디바이스 드라이버 제작 실시간 지원기능 쉘 (Shell) 지원

투데이 / 홈 스크린 UI Skin 가상키보드

제어판 애플릿 보안기능 SOAP Web server 제작

Page 19: Windows Phone Apps Story Book #1

장치용 MFC

장점 편리한 개체 지향 활용 (Windows CE

API 재구성 ) 편리한 개발 도구 및 디자인 기능 소스코드 호환성 높음

응용프로그램 제공 데이터 중심의 model/view 디자인 패턴

제공 ActiveX / COM 호환성 지원 , 래퍼

클래스 MFC 런타임 라이브러리 필요

Page 20: Windows Phone Apps Story Book #1

.NET 컴팩트 프레임워크 장점

확장하고 가능하고 지속적인 API 가비지 컬렉션으로 메모리 누수 현상 최소화 및

메모리 자동 관리 개발자가 사용하기 쉬운 C# 언어 지원 다중 CPU 지원으로 소스 레벨 포팅 필요 없음

응용프로그램 제공 Win Forms 기반의 디자인 기능 제공 데이터베이스 연결 지원 (ADO.NET) XML 및 XML 연속화 지원 웹 서비스 클라이언트

Page 21: Windows Phone Apps Story Book #1

Native 코드를 관리형 코드로 사용

Native 코드와 Manage 코드 가교 역할 Native 코드는 Windows CE 와 MFC

모두 지원함 .NET 에서 Win32 를 호출 노출된 (export) DLL 함수 호출 C- 호출 함수 정의 요구 ( 관리형 C++ 은

지원하지 않음 ) Component Object Model (COM) – CF

2.0 부터 지원 CCW – 관리형 코드에서 인터페이스 호출 RCW – 비관리형 코드에서 인터페이스

호출

Page 22: Windows Phone Apps Story Book #1

Open .NET Compact Framework 현재 최신 버전 2.3 으로

Visual Studio 2008 과 통합됨

Windows CE API 의 거의 모든 부분을 Managed 코드화

Desktop 용 RAPI 도 Managed 코드화

HTTP, FTP, Mail, MIME, SMS 지원

Windows Media, RSS, NetworkingInformation, Telephony 기능 지원

http://www.opennetcf.org

Page 23: Windows Phone Apps Story Book #1

모바일 웹 응용프로그램 풀 브라우징이 지원해도 모바일 웹 디자인 고려

Simple is the Best! 표준 웹 방식 지원

현재 윈도우 폰 IE6 브라우저 고려 HTML 4.0, CSS for Mobile Profile 1, Frame 지원하나 추천하지

않음 JavaScript 및 XML, AJAX, XML 지원 Cookie 를 폰에 내장 시키는 기능 지원

응용프로그램 확장 방식 지원 JSP, PHP, ASP Legacy Code 지원 ActiveX 컨트롤 지원 (Windows CE CPU 용 컴파일 ) ASP.NET 및 ASP.NET Mobile Control 지원 웹 서비스 클라이언트

Page 24: Windows Phone Apps Story Book #1

응용프로그램 배포

Windows 폰으로 직접 복사 ActiveSync 를 이용한 PC 에서 Setup 배포 모바일 웹 사이트에서 직접 다운로드 마켓 플레이스를 통한 배포

Page 25: Windows Phone Apps Story Book #1

보안 : 코드 인증

목적 : 인증되지 않는 프로그램 또는 해커가 Windows Mobile 폰 침투 방지

LTK 나 Mobile2Market 인증과 다름 개발 시에는 Security Off, 그러나 배포

시 1-Tier 와 2-Tier 설정 필요

Page 26: Windows Phone Apps Story Book #1

멀티 디바이스를 위한 멀티 플랫폼 최적화.NET 프레임워크

Page 27: Windows Phone Apps Story Book #1

추천 도서


Top Related