2005년 2월 24일 목요일

.NET Compact Framework 기초 세미나 정리

어제 Microsoft 에서 개최한 ".NET Compact Framework 기초" 에 관한 세미나 요약 자료입니다.

발표자는 Microsoft 이건복 차장 입니다.

 

 

 마이크로소프트의 모바일 전략

자사의 모든 제품과 연계 및 통합을 지향하며 저렴한 가격과 편리한 이용을 목표로 함

이를 위해 다양(?)한 제품군을 제공한다.

Windows CE : Set-top Box , VoIP폰, 가전, Thin Client, POS/Kiosk, ATM, 미디어게이트웨이

Windows XP Embedded : Windows CE과 동일

Windows Mobile : Pocket PC, Smart Phone, Portable Media Center

 

 

 모바일 플랫폼 및 장비 소개

Windows CE 와 Windows XP Embedded 는 비슷한 점이 있으나 다른점이 존재합니다.

우선 비슷한점은 간단하면서도 풍부한 기능의 운영체계와 개발 플렛폼을 제공하며 새로운 H/W 의 추가를 위해 장치드라이버 개발이 가능하며 이것을 설치할 수 있고 기기에 따라 임의로 OS를 커스터마이징 할 수 있도록 각각의 부분이 모듈화 되어 있다는 것입니다. 따라서 화면이 없거나 버튼이 없는 특수한 기기에도 이식이 가능합니다.

다른점은 Windows CE 는 가벼운 장치에 맞춰져 있다는 것인데 Windows CE는 사용자가 16개의 프로세스(프로그래밍에 사용하는 내용으로 간단하게 설명하자면 한개의 프로그램은 최소 한개 이상의 프로세스를 이용해야만 합니다. 즉 동시에 실행할 수 있는 프로그램은 최대 16개이며, 동시처리를 위해 하나의 프로그램이 복수의 프로세스를 점유하면 동시 실행프로그램 갯수는 이보다 줄어든다는 뜻입니다.) 와 프로세스당 32MByte 만 이용할 수 있으므로 32MByte 보다 큰 파일을 처리하는 프로그램은 구동이 불가능 하다는 단점이 있습니다.

반면 Windows XP Embedded 는 PC와 유사한 환경, 즉 주메모리와 연동되는 외부저장소(예 : HDD) 와 부팅에 필요한 BIOS 가 필요하며 전력 소모량이 많다는 단점이 있습니다.

 

Windows Mobile 은 WinCE 보다 더 가벼운 장치에 맞춰져 있으며, MS에서 제안하는 H/W 스펙 한도내에서 이용이 가능합니다. 즉, 독자적으로 개발한 H/W 를 위한 장치드라이버를 만들어서 임의로 설치할 수 없다는 뜻입니다. 커스터마이징 범위또한 한계가 있습니다.(UI 일부 /Shell 일부/ Networking 일부)

 

이중 Windows Mobile 제품군은 다음과 같은 관점으로 분류할 수 있습니다.

Data Centric (Pocket PC) : 터치스크린 지원, QWERTY 키보드, Office 프로그램, 플랫폼 확장성(Application 설치 가능)

Voice Centric (SmartPhone) : 조작용이성(한손으로 조작), 플랫폼 확장성(Application 설치 가능)

Media Centric (Portable Media Gate) : 쉬운 화면구성, 비디오 출력, 버튼조작, Application 설치불가능

 

 

 .NET CF 기반 프로그램 작성

.NET Framework 란 MS가 몇년전 발표한 것으로 Java 의 VM 과 비슷한 메커니즘을 가지고 있는 프로그래밍/OS 환경 입니다. Java의 취지와 마찬가지로 H/W, OS 의존적인 컴퓨팅 환경을 .NET Framework 을 통해 단일화된 환경으로 가져가는것이 중요 취지이며 현재까지 매우 성공적인 것으로 평가받고 있습니다. Java VM 과 비슷한 장점이 있고 MS OS에 최적화 되어 있기 때문에 보다 빠른 속도와 다양한 기능을 구현할 수 있고 다양한 언어(VB.NET, C++.NET, C#)을 이용할 수 있으며 복수의 언어를 혼용해서 프로그램을 만들수 있다는 것이 Java VM 과 다른점 입니다.
.NET Compact Framework 는 소형기기에 들어가는 Windows OS에 탑재하기 위해 필요없는 기능을 제거하고 최적화시킨 .NET Framework 으로 .NET Framework 의 기본적인 장점을 물려받았습니다.

 

.NET Compact Framework 에서 프로그래밍쪽으로 자랑하는 부분은 Network , XML, DataBase, WebService 지원이며, UI에 관련해서 기본적으로 다음과 같은 26개 컨트롤들을 제공합니다. 관련 화면은 차후에 캡쳐해서 보여드리겠습니다.


Button , CheckBox, ComboBox, ContextMenu, DataGrid, DomainUpDown, FileOpenDialog, HScroolBar, ImageList, Label, ListBox, ListView, FileSaveDialog, MainMenu, NumericUpDown, Panel, PictureBox, ProgressBar, RadioButton, StatusBar, TabControl, TextBox, Timer, ToolBar, TreeView, VScrollBar

 

제한사항은 한 화면에 사용할 수 있는 컨트롤의 개수가 14개 입니다. 하지만 화면이 좁으므로 14개를 이용하는 경우는 거의 없다고 합니다.

 

.NET Compact Framework 상에서 프로그래밍을 하기 위해선 Visual Studio .NET 라는 개발툴(MS 에서 구매하면 됨)을 설치한 후 MS 웹사이트에서 .NET Compact Framework SDK를 다운로드 받으면 개발준비가 완료됩니다. SDK는 개발툴을 구매한 사용자나 특정 계층만 다운로드 받을 수 있는것이 아니라 누구나 받을 수 있고, 관련된 문서또한 누구나 볼 수 있습니다.

 


 응용프로그램 배포
가장 간단한 방법으로 .CAB 파일을 생성한후 Active Sync 나 Internet 연결, Blutooth, 메모리카드 등을 이용해서 기기에 전송한후 실행만 하면 바로 설치가 완료됩니다. Install Shield 같은 셋업프로그램을 이용하면 보다 세련된 설치가 가능합니다.

 

 

 

 결론
개발부터 배포까지 시연내내 곳곳에서 감탄사가 들릴 정도로 완벽한 환경과 언어적인 호환성을 제공하고 있었습니다. 기존에 PC프로그래머가 소정의 교육만으로 완성도 있는 모바일 프로그래밍을 할 수 있다는 확신이 들었습니다. 또한 한글화 작업을 활발히 진행하고 있어서 내년에 발매될 차기 개발툴에선 도움말까지 모두 한국어로 번역될 예정이라서 한결 수월한 개발이 예상됩니다.

 

SmartPhone 에 대한 질문에 "할말이 많긴 하지만, 차후에 구체화 되면 발표해 드리겠습니다." 라며 답변을 피하는 모습을 보였습니다. 세미나 직후 제가 개별적으로 "WIPI 는 어떻게 할것인가" 라는 질문을 드렸더니 진지한 표정으로 "S모사가 MS SmartPhone OS 상에 WIPI VM을 올리는 작업을 성공했다. MS OS 상에 Java VM 이 구동이 가능하듯이 WIPI도 구동될 수 있다. 이 정도만 알고 계시기바랍니다." 라고 답을 주었습니다. 공론화 하지 못하는 이유는 잘 모르겠으나 MS가 한국 모바일 시장을 등한시 하지 않으며 기술적인 부분에서 WIPI 를 걱정하지 않는다는 인상을 받았습니다.

 

많은 부분이 개선된 차기 모바일OS 버전 (가칭 Magneto)이 내년에 나올 예정이고 심비안과 Palm이 한국시장을 좌시하고 있지 않기 때문에 2005년 대한민국 SmartPhone 시장 (소비자는 고급핸드폰 시장 이란 느낌으로 받아들일것 같습니다) 상황예측이 한층 힘들어졌습니다. 이통사의 컨텐츠 지배구조를 굳히기 위한 WIPI(제 생각입니다. CP가 순위를 조작하는 것을 막기 위해서란 말도 안되는 이유로 SDK 배포를 거부하는 것만 봐도 알 수 있습니다)가 대세가 될지, 아니면 MS나 심비안, 리눅스 Palm 중 한가지가 대세가 될지는 소비자의 선택에 달려있을것 같다는 말로 세미나 요약을 마치겠습니다.

댓글 없음:

댓글 쓰기