Download - Windows Phone Apps Story Book #1
초보자를 위한 윈도우 폰 애플리케이션 개발 스토리북 (#1)
서진호 차장 ([email protected])Mobile/Embedded Developer Evangelist
Microsoft Koreahttp://blogs.msdn.com/jinhoseo
http://www.winmodev.netTwitter: @synabreu
누구를 위하여
• 옴니아 I,II 와 엑스페리아 , HTC 다이아몬드 폰 , LG 인사이트 폰 등 윈도우 폰을 소지한 분들• 윈도우 폰 애플리케이션을 처음 배우는 분들• 각종 앱스토어 및 마켓 플레이스에 애플리케이션을
올리실 분들• 웹 또는 PC 개발에서 모바일 애플리케이션
개발자로 전향하실 분들• 윈도우 폰 애플리케이션을 강의하고자 하는 분들
목차
• 플랫폼이란 무엇인가 ?• 윈도우 모바일과 윈도우 CE 플랫폼의 차이• 윈도우 모바일 아키텍처• 윈도우 폰 애플리케이션 방법 • 올바른 윈도우 폰 애플리케이션 API 선택하기• 결론
전 세계의 윈도우 폰>150 개
서로 다른 목적의 폰 플랫폼 생태계차별화 및 혁신플랫폼 개발 가용성 및 쉽게 사용할 수 있는 용의성
새롭고 부유한 서비스 및 경험 실현ARPU 목적 , 일반 소비자 이목 끄는 서비스 상품화
보안 , 안정성 , 관리성현재 및 미래의 IT 자산 통합
일관성 플랫폼잘 알려져 있고 생산적인 도구
친숙한 사용자 인터페이스개인화된 커뮤니케이션과 서비스장치 선택
플랫폼이란 무엇인가 ?
• 좁게는 시스템 운영체제 • 넓게는 커뮤니티 및 파트너 생태계• 지속적인 연구 개발 및 개발자 커뮤니티 투자
Windows Embedded 플랫폼이란 강력하게 , 안정적이며 혁신적인 그리고 지능적인 장치들을 개발하는 데 빠르게 개발할 수 있도록 도와준다 .
Windows Embedded 플랫폼
개발도구
서비스
플랫폼과 개발도구 , 서비스의 연관관계
플랫폼
Windows CE 는 무엇인가 ?
• “ 작은 크기의” 장치에 대한 현대적이고 , 선점형 멀티태스킹 운영체제• Win32 API 의 부분집합 사용• 컴포넌트 기반• 다중 CPU 아키텍처 지원• Wintel 기반 PC 에 의존적이지 않음이 아님• 선택적인 RAM 기반 파일 시스템• 강력한 내장 커뮤니케이션 지원• 해외 마켓에서 적용할 수 있도록 제공
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 아키텍처
Windows CE vs. Windows Mobile• Windows CE
– 임베디드 운영체제– 소스 100% 공개된 플랫폼 빌더와 함께 판매함– OEMs 은 마음대로 사용할 수 있음
• Windows Mobile– Windows CE OS 기반의 시스템– Microsoft 가 디자인한 쉘과 애플리케이션 포함 – OEMs 과 긴밀하게 작업함 .– 플랫폼 빌더를 시중에 판매하지 않음
Windows Mobile Standard (Smartphone)
터치 스크린 없음
Windows Mobile Professional (Pocket PC)
터치스크린
Windows Mobile 플랫폼이란 ?
기본적인 윈도우 모바일 개발 방법
C/C++, .NET CFC#, Javascript
Visual Studio 2008
Mobile Web Application Mobile Web Application
Windows ClientApplication
Windows ClientApplication
모바일 브라우저 환경
Windows Mobile 6 SDK
Windows Form
운영체제
Visual Studio 2008
Windows Mobile 6 SDK
에뮬레이터 이미지
장치
준비사항
프로그래밍 테스트 배포
아키텍처
UX 디자인
코딩
단위 테스트
서비스 테스트
복합 시나리오 테스트
코드 인증
배포
전체 개발 순서
네이티브 (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
프로그래밍 개발 방법
개발도구 및 프레임워크 호환성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
Native Code 메모리관리
수동관리 메모리누수
포인터 오브젝트
포인터사용 포인터연산
소스코드 레벨의 이식성
Run Time 조건 단독실행 가능 Win32 –
운영체제 기본 MFC –
Library Add on
Managed Code 메모리관리
자동관리 Garbage
Collector 제어
데이터접근 오브젝트
할당사용 데이터 연결 Value Type
바이너리 Level의 이식성
Run Time 조건 단독 실행 가능 CF 3.5 – 6MB
Native 와 Managed 코드 차이점
Windows CE API
장점 가장 작은 크기 실행 파일 소스 코드 - 레벨 이식성 기존의 Win32 API
재사용 대상
디바이스 드라이버 제작 실시간 지원기능 쉘 (Shell) 지원
투데이 / 홈 스크린 UI Skin 가상키보드
제어판 애플릿 보안기능 SOAP Web server 제작
장치용 MFC
장점 편리한 개체 지향 활용 (Windows CE
API 재구성 ) 편리한 개발 도구 및 디자인 기능 소스코드 호환성 높음
응용프로그램 제공 데이터 중심의 model/view 디자인 패턴
제공 ActiveX / COM 호환성 지원 , 래퍼
클래스 MFC 런타임 라이브러리 필요
.NET 컴팩트 프레임워크 장점
확장하고 가능하고 지속적인 API 가비지 컬렉션으로 메모리 누수 현상 최소화 및
메모리 자동 관리 개발자가 사용하기 쉬운 C# 언어 지원 다중 CPU 지원으로 소스 레벨 포팅 필요 없음
응용프로그램 제공 Win Forms 기반의 디자인 기능 제공 데이터베이스 연결 지원 (ADO.NET) XML 및 XML 연속화 지원 웹 서비스 클라이언트
Native 코드를 관리형 코드로 사용
Native 코드와 Manage 코드 가교 역할 Native 코드는 Windows CE 와 MFC
모두 지원함 .NET 에서 Win32 를 호출 노출된 (export) DLL 함수 호출 C- 호출 함수 정의 요구 ( 관리형 C++ 은
지원하지 않음 ) Component Object Model (COM) – CF
2.0 부터 지원 CCW – 관리형 코드에서 인터페이스 호출 RCW – 비관리형 코드에서 인터페이스
호출
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
모바일 웹 응용프로그램 풀 브라우징이 지원해도 모바일 웹 디자인 고려
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 지원 웹 서비스 클라이언트
응용프로그램 배포
Windows 폰으로 직접 복사 ActiveSync 를 이용한 PC 에서 Setup 배포 모바일 웹 사이트에서 직접 다운로드 마켓 플레이스를 통한 배포
보안 : 코드 인증
목적 : 인증되지 않는 프로그램 또는 해커가 Windows Mobile 폰 침투 방지
LTK 나 Mobile2Market 인증과 다름 개발 시에는 Security Off, 그러나 배포
시 1-Tier 와 2-Tier 설정 필요
멀티 디바이스를 위한 멀티 플랫폼 최적화.NET 프레임워크
추천 도서