관리 메뉴

kisoo

Windows CE, Windows Mobile의 응용 프로그램 개발 환경[펌] 본문

01.About Programming /5.Mobile Lab

Windows CE, Windows Mobile의 응용 프로그램 개발 환경[펌]

JamesK78 2010. 1. 12. 11:48

이미 많은 분들이 아시는 내용이겠지만, Windows CE 및 Windows Mobile을 처음 접하고 익숙하지 않은 개발환경 때문에 문제를 겪고 있는 분들이 있는 것 같아 조금이나마 도움을 드리고자 정리한 내용입니다.

 

 

 

Windows CE, Windows Mobile 응용 프로그램 개발 환경

 

Windows CE, Windows Mobile 응용 프로그램 개발 환경은 개발 하고자 하는 플랫폼의 종류 버전과 사용하고자 하는 개발언어에 따라서 정해진다. 따라서, 개발을 시작하기에 앞서서 응용 프로그램이 구동되어야 타겟 플랫폼의 종류 버전과 개발 툴의 종류와 특징을 알고 있어야 것으로 생각된다.

 

 

플랫폼의 종류 버전

 

가장 최근에 발표된 플랫폼이 Windows Embedded CE 6.0 Windows Mobile 6.1이다. 이들 플랫폼은 버전이 업그레이드됨과 동시에 여러 차례 플랫폼 명칭이 변경되는 과정이 있었다. 다양한 플랫폼 명칭으로 인해서 혼동이 일어날 수도 있겠지만, 정확한 명칭을 알고 사용하는 것이 좋을 것으로 생각되며, 플랫폼의 종류와 버전에 대해서 알아보자.

 

 

<그림 1. 플랫폼의 종류 버전 - Enhancement Pack 제외>

 

Windows CE 1996년에 처음으로 출시된 Microsoft 임베디드 운영체제로, Windows CE라는 기본 운영체제 위에 다양한 쉘과 라이브러리를 얹어서 여러 가지 다른 플랫폼을 만들 있는 특징을 가지고 있다. <그림 1>에서, Windows CE 제외한 모든 플랫폼들이 Windows CE라는 기본 운영체제 위에 Microsoft 설계한 쉘과 라이브러리를 얹어서 만든 것이다.

여기서 한가지 명확하게 하고 넘어가야 점은, Windows Mobile 플랫폼의 명칭이 아니라는 것이다. Windows Mobile Pocket PC 플랫폼과 Smartphone 플랫폼을 같이 묶어서 지칭하는 브랜드명이다.

Windows Mobile이란 명칭은 Windows CE 5.0 기반으로 하는 버전의 Pocket PC 플랫폼과 Smartphone 플랫폼의 출시와 함께 사용되기 시작하였고, 이에 따라서 플랫폼의 명칭은 Windows Mobile 5.0 Pocket PC Windows Mobile 5.0 Smartphone으로 변경되었다.

Windows Mobile 플랫폼의 명칭은 Windows Mobile 6.0 발표되면서 변경이 되는데, 변경된 플랫폼의 명칭은 < 1> 같다.

 

Windows Mobile 5.0

 Windows Mobile 6.0

 Pocket PC

 Classic

 Pocket PC Phone Edition

 Professional

 Smartphone

 Standard

< 1. Windows Mobile 5.0 6.0 플랫폼 명칭>

 

Classic, Professional, Standard라는 플랫폼 명칭은 Windows Mobile 6.0부터 사용되는 명칭으로, Windows Mobile 5.0 플랫폼 명칭과는 별도로 사용된다.

 

개발 툴과 지원 플랫폼

 

초기의 플러그 형태인 Windows CE Toolkit for Visual C++ 5.0, 6.0 추가 설치용 툴킷부터 최근 출시된 Visual Studio 2008까지 다양한 개발 툴이 있기는 하지만, 현재 사용이 되어지고 있다는 생각되는 개발 툴에 대해서만 살펴보겠다. <그림 2> 이에 대한 부분을 도시한 것이다.

 

 

<그림 2. 개발 툴과 지원 플랫폼>

 

Native Code C/C++ 작성된 코드를, Managed Code C# 또는 Visual Basic.NET 작성된 코드를 말한다. Managed Code .NET Compact Framework(이하 .NET CF) 기반으로 동작되는 코드이기 때문에, 프로그램 개발을 위해서 .NET CF 버전도 신경을 써야 한다.

 

개발하고자 하는 타켓 플랫폼과 개발언어를 결정하고 해당 개발 툴을 설치한다고 해서, 바로 개발을 시작할 있는 것은 아니다. 타켓 플랫폼에 대한 응용 프로그램을 개발하기 위해서는 해당 플랫폼의 SDK(Software Development Kit) 필요로 한다. 개발 툴에 따라서 SDK 설치 없이 개발이 가능한 플랫폼도 있기는 하지만, 일반적으로는 타켓 플랫폼의 SDK 설치해야만 개발이 가능하다고 생각해야 한다.

SDK에는 해당 플랫폼의 응용 프로그램 개발에 필요한 모든 헤더파일 라이브러리파일을 포함하고 있기 때문에, 개발을 위해서 추가적으로 설치해야 다른 SDK 없다.

 

Mobile Device vs. Emulator

 

Windows CE 또는 Windows Mobile 프로그램을 개발하기 위해서는 실제 디바이스에서 테스트하는 것이 필수적이다. 컴파일 에러가 없다고 해서 해당 프로그램이 문제가 없다고 단정할 수는 없기 때문이다. 실제 디바이스를 가지고 개발을 하면 문제없이 개발이 가능하겠지만, 실제 디바이스가 없는 상황이라면 에뮬레이터를 이용해서 개발을 수밖에 없다.

 

디바이스의 어떤 특정 기능을 필요로 하지 않는 프로그램이라면 에뮬레이터를 이용해서 충분히 개발이 가능하며, 점차적으로 에뮬레이터에서 지원하는 기능도 늘어나고 있다. 예를 들어, 기존에 에뮬레이터를 이용해서 테스트 없었던 관련 기능을, Windows Mobile 6.0 SDK에서 제공하고 있는 Cellular Emulator 이용해서 어느 정도 테스트를 해볼 있다.

 

Windows Mobile SDK에서는 에뮬레이터를 포함하고 있는 반면에, Windows CE SDK에는 에뮬레이터가 포함이 되어 있지 않다. Windows CE 에뮬레이터를 이용하여 응용 프로그램을 개발하고자 한다면, Platform Builder 사용해서 에뮬레이터와 SDK 직접 만들어서 사용해야 한다.

Platform Builder Windows CE 운영체제를 디자인하고, 관련 디바이스 드라이버를 개발하여 테스트 디버깅을 하는 툴이다.

 

 

 

비록, 짧은 내용이기는 하지만, Windows CE 또는 Windows Mobile 처음 접하고 개발을 시작하고자 하는 분들에게 조금이나마 도움이 되었으면 합니다.

참고해 보시기 바랍니다.

감사합니다.

http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=60&MAEULNO=23&no=285&page=1
지태성님이 쓴 글 퍼옴.

Comments