Smart Device Extensions 조사
Larry Roof Tonked.com
지난 달에는 Microsoft 사로 가서 컴팩트 도구의 다음 버전을 조사했다는 말씀을 드렸습니다. 그 여행은 계약을 체결한 책과 다음
칼럼을 작성하는 데 필요한 배경 지식을 쌓기 위한 것이었습니다만, 돌아오는 길에 일이 생겼습니다. 이 정보를 나의 것으로 만들어 정기적으로 내
칼럼을 읽는 완고한 Microsoft® eMbedded Visual Basic® 개발자들과 공유할 수 있는 방법이 없다는 사실을 깨달았던
것입니다.
그래서 머리도 깎을 겸 밖으로 나가서 여행을 떠나기 전에 서명했던 "엄격한" 비공개 계약서에 대한 법률 자문을 구하기로 결심했습니다.
예전에 거론한 적은 없지만 실리콘 밸리에서 근무해서 좋은 점 중 하나는 거리에서도 11MB의 속도로 무선으로 인터넷에 연결할 수 있을 뿐만
아니라 제가 자주 찾는 헤어 드레서인 Hank처럼 이런 서로 다른 두 분야 모두에 능한 전문가들이 있다는 사실입니다. Hank는 "나는 변호사가
되었을 수도 있지만 대학에서 8년이라는 시간을 낭비하고 싶지는 않았습니다."라고 말하곤 했습니다. 그는 실리콘 밸리의 외곽에서 작은 헤어숍을
운영하면서 무료 법률 자문과 저렴한 가격으로 이발을 해주기 때문에 양기능 전문가의 자질을 갖추고 있습니다. 양기능 전문가는 실제로 성장하는
산업이라고 생각합니다. 생각해보면 하루는 너무 짧아서 직장 일을 하고, 아이들을 돌보고, 기타 이런 저런 약속을 지키기에 벅찹니다. 해결 방법은
간단합니다. 바로 이중으로 약속을 하는 것입니다.
정신적인 휴식을 제공해주는 자동차 서비스 센터를 예로 들 수 있습니다. "Roof 씨, 오일을 교환하고 타이어를 회전시키는 동안 소파에
편안히 앉아 계십시오." 또는 패스트푸드 점에서 포트폴리오에 대한 조언을 들을 수도 있습니다. "Roof 씨 햄버거와 프렌치 프라이가
나왔습니다. 제 생각에는 기술 주를 처분하신 것은 잘하신 일 같습니다."
제가 말하는 요지를 아셨을 것입니다. 가능성은 끝이 없습니다. 여담으로 드리는 말씀이지만 Hank 씨를 방문하고 저는 많은 실망을 안고
돌아 왔습니다. 첫째, 그는 비공개 계약은 경솔하게 체결해서는 안된다고 말했습니다. 둘째, 제 머리숱이 10년 전 머리숱보다 적지만 이발비는
깎아줄 수 없답니다.
그렇지만 어떤 식으로든 여러분에게 말씀 드리겠습니다. 저는 권위를 비웃습니다. 하하하 저의 사회 규범을 따르지 않는 태도에 박수를
보내주시는 분들은 www.keeproofsbehindoutofjail.com을 방문하여 기부금을 통해 지지해 주십시오. 이제부터는 컴팩트 도구의
다음 버전을 살펴보겠습니다.
참고 다음 절에는 Microsoft 컴팩트 도구의 다음 버전에
대한 그래픽 세부 정보가 포함되어 있으며 10대, 가축 또는 광대들이 보기에는 적절하지 않을 수 있습니다.
장치에 Visual Basic .NET 가져오기
Windows® CE 개발 도구의 다음 버전이 .NET을 기반으로 할 가능성이 매우 높다는 사실은 놀랄 일도 아닙니다. 이제 다음과 같은
사실을 말할 수 있습니다. 이 도구의 다음 버전을 Smart Device Extensions for Microsoft Visual Studio®
.NET라 합니다.
eMbedded Visual Basic 사용 경험이 있는 개발자는 Visual Basic .NET에서 제공되는 기능을 이동식 플랫폼에서
사용할 수 있다는 사실이 너무도 좋을 것입니다. Smart Device Extensions for Visual Studio .NET(SDE)
릴리스에서 Microsoft는 해당 기능을 수행했습니다. SDE는 .NET Framework의 컴팩트 버전을 제공하므로 이동이 잦은 개발자에게
방해가 되는 이전의 제한을 제거하여 Visual Basic .NET에서 응용 프로그램을 작성할 수 있습니다. SDE에는 Microsoft
eMbedded Visual C++®에서 작성된 응용 프로그램용으로 예약되었던 강력함과 융통성이 모두 있는 강력한 응용 프로그램을 작성하는 데
사용할 수 있는 Visual Basic 언어 기반 도구가 있습니다.
아직도 Visual Basic .NET에서 작업해야 하는 사람들에게는 Visual Basic의 최신 버전과 이전 버전 사이의 변경 범위가
너무 커서 이 문서에서는 다룰 수 없습니다. 대신 .NET Compact Framework의 일반 개요와 Smart Device
Extension for Visual Studio .NET에 제공되는 새로 통합된 디자인 환경을 학습할 수 있습니다.
SDE에 포함된 내용
Smart Device Extensions for Visual Studio .NET은 개발자에게 .NET
Compact Framework라는 축소된 .NET Framework 버전을 제공합니다. SDE는 Visual Studio .NET에 연결되는
VSIP(Visual Studio Integration Package)입니다. eMbedded Visual Basic과 달리 SDE는 독립적으로
실행될 수 없으며 Visual Studio .NET이 설치되어 있어야 합니다. 그 외의 다른 제품은 SDE를 사용하여 작성된 Pocket PC
또는 Pocket PC 2002용 응용 프로그램을 개발 및 배포하는 데 필요하지 않습니다.
미리 작성된 장치 플랫폼 집합이 Smart Device Extensions에 포함됩니다. 포함된 장치 프로필에는 특정 장치를 대상으로 하는
특정 유형의 응용 프로그램을 작성하는 데 필요한 정보가 들어 있습니다. 예를 들어, WinForms, ADO .NET을 사용하는
"Talisker", Pocket PC 또는 Pocket PC 2002용 응용 프로그램을 작성하고 XML 웹 서비스를 소비할 수 있는 프로필이
있습니다. 제공되는 다른 프로필을 사용하여 휴대폰이나 타사 PDA(Personal Digital Assistant)를 대상으로 하는 응용
프로그램을 작성할 수 있습니다.
프로필은 Pocket PC 대상과 같이 장치 전용이거나 일반적으로 Windows CE 플랫폼을 대상으로 하는 고유 플랫폼이 적거나 .NET
Compact Framework가 이식된 플랫폼을 대상으로 하는 일반 프로필일 수 있습니다.
또한 SDE에는 장치 키트(이전의 SDK)가 포함되어 있습니다. eMbedded Visual Basic에서처럼 장치 키트는 SDE와
분리되며 개별적으로 설치 및 업데이트될 수 있습니다.
왜 eMbedded Visual Basic 4.0은 아닙니까?
Windows CE에서 Visual Basic 기반 개발 도구를 그렇게 극적으로 변경한 이유가 궁금할 것입니다. 대답은 매우 간단합니다.
현재 eMbedded Visual Basic 3.0 제품은 고급 개발에 적절하지 않습니다. Microsoft VBScript(Visual
Basic Scripting Edition)를 기반으로 하는 이 엔진은 간단한 응용 프로그램에서는 잘 작동하지만 고급 개발에는 적당하지
않습니다. eMbedded Visual Basic 개발자는 eMbedded Visual Basic에 상속되는 제한 문제와 트릭을 배우기 위해
많은 시간을 낭비하게 됩니다. 이동식 장치의 인기가 높아짐에 따라 장치 개발자들은 Visual Basic .NET에 있는 도구처럼 풍부하고
강력한 유형의 개체 지향 Visual Basic 개발 도구를 요구하고 있습니다. 그들은 인터넷, 웹 서비스 및 XML을 활용하는 무선 솔루션을
작성할 수 있는 도구를 원합니다. 이 도구는 Smart Device Extensions for Visual Studio .NET에 제공되는
도구입니다. Microsoft에서는 Windows CE에 .NET Framework를 이식하여 Visual C# .NET 및 Visual
Basic .NET으로 작성된 응용 프로그램에서 장치 플랫폼을 대상으로 할 수 있습니다.
.NET Compact Framework
.NET Compact Framework의 기초에 대한 개요를 포함시키지 않고는 SDE 토론을 끝낼 수 없습니다. .NET 기술을 사용하여
응용 프로그램을 개발할 경우 대상이 .NET Framework인지 .NET Compact Framework인지에 관계 없이 .NET
Framework 클래스에 제공된 기능을 사용하여 응용 프로그램을 작성하고 동일한 프로그래밍 모델을 사용합니다. SDE에서 개발된 응용
프로그램의 경우 .NET Compact Framework를 대상으로 합니다.
.NET Compact Framework의 내용
.NET Compact Framework는 스마트 장치에서 응용 프로그램 개발을 단순화합니다. .NET Compact Framework에는
CLR(Common Language Runtime)과 .NET Compact Framework 클래스 라이브러리의 두 가지 기본 구성 요소가
있습니다.
CLR은 .NET Compact Framework의 기초이며 코드의 안정성과 정밀도를 유지하면서 메모리 관리 및 스레드 관리와 같은 핵심
서비스를 제공하여 실행 시간에 코드를 관리합니다. Visual Basic .NET 및 C# .NET처럼 런타임을 대상으로 하는 코드는 관리
코드라고 하고, eMbedded Visual C++에서처럼 런타임을 대상으로 하지 않는 코드는 관리되지 않는 코드 또는 원시 코드라 합니다.
어떤 의미에서 Common Language Runtime은 보다 강력해진 eMbedded Visual Basic Runtime의 버전으로 간주할
수 있습니다.
참고 Visual Basic .NET(.NET Framework
또는 .NET Compact Framework를 대상으로 함)에서 생성되는 관리 코드는 Common Language Runtime에서
처리됩니다.
.NET Compact Framework 클래스 라이브러리는 응용 프로그램을 빠르고 쉽게 개발하는 데 사용할 수
있는 재사용 가능한 클래스 컬렉션입니다. 이 프레임워크는 만든 공급업체가 Microsoft인지 다른 공급업체인지에 관계 없이 다른 플랫폼에
이식될 수 있는 방법으로 디자인됩니다. 이것은 어떤 의미입니까? 오늘날 Pocket PC에서 실행하도록 만드는 코딩 기술과 응용 프로그램은 해당
플랫폼에 대한 .NET Compact Framework가 있는 경우 휴대폰이나 다른 공급업체의 PDA와 같은 다른 플랫폼에서도 쉽게 실행될 수
있습니다. 그 문제에 대해서 Visual Studio .NET에서 이미 개발한 코딩 기술을 .NET Compact Framework를 지원하는
모든 플랫폼에 활용할 수 있습니다.
Common Language Runtime의 기능
Common Language Runtime은 .NET Compact Framework를 대상으로 하는 코드를 관리하는 코드 실행 환경을
제공합니다. 코드 관리는 메모리 관리, 스레드 관리, 보안 관리, 코드 확인 및 컴파일, 기타 시스템 서비스 등의 형태로 수행될 수 있습니다.
Visual Basic .NET에서 이동식 응용 프로그램을 작성하여 코드를 관리할 수 있지만 여전히 동적 링크 라이브러리에서 함수를 통합할
수 있습니다. 실제로 Visual Basic .NET에서는 데이터 유형과 구조에 대한 확장적인 지원을 제공하므로 eMbedded Visual
Basic을 사용하면 거의 불가능한 방식으로 Windows CE API를 활용할 수 있습니다.
참고 eMbedded Visual Basic과 달리 Visual
Basic .NET은 데이터 유형을 제공하여 Windows CE API에서 자신의 응용 프로그램으로 함수를 쉽게 통합할 수 있는 구조를
지원합니다. eMbedded Visual Basic과 비교하여 Visual Basic .NET에서는 이 함수를 사용해야 될 경우가 훨씬 적지만
이 기능을 사용하면 eMbedded Visual C++에서 작성된 응용 프로그램에 있는 기능과 일치하는 이동식 응용 프로그램을 만들 수
있습니다.
CLR은 성능 향상을 위해 만들어졌습니다. CLR은 JIT(Just-In-Time) 컴파일링을 사용하므로 관리 코드를 대상 플랫폼의 원시
기계 언어로 실행할 수 있습니다. 이 기능을 사용하면 다양한 플랫폼을 대상으로 하는 응용 프로그램을 만들 수 있으며 응용 프로그램이 실행되는
특정 플랫폼마다 실행 파일을 다시 컴파일하거나 생성할 필요가 없습니다.
.NET Compact Framework 클래스 라이브러리
.NET Compact Framework 클래스 라이브러리는 Common Language Runtime과 밀접하게 통합되는 재사용 가능한
클래스의 컬렉션입니다. Visual Basic .NET 응용 프로그램은 이러한 라이브러리를 활용하여 기능을 파생합니다.
개체 지향 클래스 라이브러리에서처럼 .NET Compact Framework 유형을 사용하면 문자열 관리, 데이터 컬렉션, 데이터베이스
연결, 파일 액세스 등을 포함하여 다양한 일반 프로그래밍 작업을 수행할 수 있습니다.
참고 Visual Basic과 기능적인 면에서 많은 차이가 있었던
eMbedded Visual Basic과 달리 Smart Device Extensions는 .NET Framework의 실제 하위 집합을
구현합니다. .NET Compact Framework에 포함된 클래스는 대상 운영 체제의 제한, 성능 문제 또는 크기 제한으로 인해 지원되지
않는 기능을 제외하고 .NET Framework와 동일한 인터페이스를 제공합니다. 클래스 동작, 속성, 메서드, 열거 값 등은 .NET
Framework의 두 버전에서 동일합니다. 이것은 데스크톱 및 장치 응용 프로그램을 만들 때 Visual Basic .NET 코딩 기술을
사용할 수 있음을 의미합니다.
다음 절에서는 Smart Device Extensions에서 사용할 수 있는 기능을 자세히 다룹니다.
폼 관련 클래스
.NET Framework의 컴팩트 버전은 System.Windows.Forms 및 System.Drawing
클래스의 하위 집합을 구현합니다. 이 두 클래스를 사용하여 장치 응용 프로그램에 대한 풍부한 Windows CE 기반 사용자 인터페이스를 구성할
수 있습니다. 이 클래스들 간의 상호 작용은 Visual Studio .NET의 Windows Form 디자이너 구성 요소에서 관리됩니다.
.NET Compact Framework의 WinForms 구현에는 폼, .NET Framework에 있는 대부분의 컨트롤, 타사 컨트롤
호스트 기능에 대한 지원 및 비트맵과 메뉴에 대한 지원 등이 포함되어 있습니다.
데이터 및 XML 클래스
.NET Compact Framework에는 원본이 관계 데이터 원본인지 비관계 데이터 원본인지에 관계 없이 데이터를 쉽게 통합할 수 있는
클래스 집합이 포함되어 있습니다. XML 컨텐트 작업은 Visual Basic .NET에서 만든 장치 응용 프로그램에서 쉽게 수행됩니다.
.NET Compact Framework의 데이터 및 XML 클래스 구현은 모두 .NET Framework에 있는 해당 클래스의 하위 집합이며
Compact 버전에는 두 클래스에서 가장 일반적으로 사용되는 기능이 포함되어 있습니다.
웹 서비스
.NET Framework는 XML 웹 서비스를 폭넓게 지원합니다. .NET Compact Framework에는 .NET
Framework에 제공되는 기능의 하위 집합이 있습니다. 무엇보다도 Visual Studio .NET 및 SDE를 사용하면 Visual
Basic .NET을 사용하여 작성한 응용 프로그램에서 XML 웹 서비스를 이용할 수 있는 응용 프로그램을 만들 수 있습니다.
참고 .NET Framework를 대상으로 하는 Visual
Basic .NET을 사용하면 웹 서비스 클라이언트와 서버를 모두 구축할 수 있지만 .NET Compact Framework는 XML 웹 서비스
고객 전용이라는 제한이 있습니다.
Visual Basic 지원
Visual Basic .NET은 Visual Basic Helper 라이브러리에 있는 도우미 함수를 자유롭게 사용합니다. .NET
Compact Framework와 함께 제공되는 Visual Basic Helper 라이브러리 버전에는 이 함수들도 함께 제공됩니다.
Visual Basic 개발자들은 Visual Basic Helper 라이브러리에 포함된 함수를 언어의 핵심 부분으로 간주하며 실제로 이
함수들은 여러분들도 사용한 적이 있는 많은 키워드들로 구성됩니다.
Visual Basic Helper 라이브러리의 포함은 eMbedded Visual Basic 개발자가 Visual Basic .NET에서
작업할 때 자신이 선호하는 Visual Basic 문 및 함수를 사용할 수 있음을 의미합니다.
참고 .NET Compact Framework에 포함된
Visual Basic Helper 라이브러리는 Visual Basic .NET에 포함된 라이브러리의 하위 집합입니다. 특정 함수가 지원되는지
확인하려면 Smart Device Extensions과 함께 제공되는 도움말 설명서를 참조하십시오.
GDI 지원
.NET Compact Framework는 비트맵, 브러시, 글꼴, 아이콘, 펜 등과 같은 기본 GDI 그리기 요소를 지원합니다. 이
기능의 추가로 인해 그리기 기능이 제한되고 사용이 까다로운 eMbedded Visual Basic에 비해 Visual Basic .NET이 많은
장점을 가지게 되었습니다.
기본 클래스
.NET Compact Framework는 Visual Basic .NET에서 작업하는 개발자들이 사용할 수 있는 다양한 기능이 있는
강력한 기본 클래스 집합을 제공합니다. 이러한 기반의 인프라를 사용하면 멀티 스레드, 네트워크 리소스 활용, 파일 작업 등을 통합하는 풍부한
.NET 기반 응용 프로그램을 작성할 수 있습니다.
.NET Compact Framework에서 제외된 기능
.NET Compact Framework의 크기를 제한하기 위해 .NET Compact Framework에서 다음 .NET
Framework 기능을 제외시켰습니다.
- 인쇄. eMbedded Visual Basic에서처럼 .NET Compact Framework에서도 프린터 관리 및 API
인쇄는 지원되지 않습니다.
- MDI 폼. Windows CE는 MDI(Multiple Document Interface)를 지원하지 않기 때문에 이
기능은 .NET Compact Framework에는 없습니다.
- GDI+. Windows CE는 GDI+를 지원하지 않기 때문에 .NET Compact Framework에는 이 기능이
없습니다.
- 끌어서 놓기 기능. Windows CE는 OLE 끌어서 놓기 기능을 지원하지 않기 때문에 .NET Compact
Framework에는 이 기능이 없습니다.
- 이진 Serialization. .NET Compact Framework에서는 이진 Serialization이 지원되지
않습니다.
개발 환경
Smart Device Extensions for Visual Studio .NET은 Visual Studio .NET에 연결되는
Visual Studio 통합 패키지(VSIP)입니다. VSIP로서 SDE는 Visual Studio .NET이 제공하는 통합 개발
환경(IDE)을 사용합니다. 이 IDE는 Windows CE 개발 도구의 이전 버전과는 다른 개발 환경을 제공합니다.
이 절에서는 Window CE 응용 프로그램을 만들 때 사용되는 Visual Studio .NET IDE의 주요 구성 요소를 설명합니다.
새 프로젝트 만들기
Visual Studio .NET을 처음 실행하면 그림 1에 표시된 것처럼 시작 페이지가 표시됩니다. 시작 페이지는 .NET Compact
Framework를 대상으로 하는 프로젝트를 포함하여 새 프로젝트를 만들고 기존 프로젝트를 여는 데 사용됩니다.

그림 1. Visual Studio .NET 시작 페이지
New Project 단추를 클릭하면 그림 2에 표시된 것처럼 New Project 대화 상자가 표시됩니다. 이 대화 상자에서 응용
프로그램을 만들 템플릿을 선택할 수 있습니다. Smart Device Extensions는 Visual Basic 프로젝트 폴더와 Visual
C# 프로젝트 폴더 모두에 템플릿 집합을 설치합니다.
SDE는 Visual Basic 프로젝트 폴더에 네 개의 템플릿을 설치합니다. Pocket PC 응용 프로그램 템플릿은 Pocket PC
응용 프로그램을 만드는 데 필요한 기본 프로젝트 구성을 제공합니다. 이 프로젝트의 템플릿은 그림 2에 강조 표시되어 있습니다.
그림 2에는 두 개의 추가 Pocket PC 관련 템플릿이 표시되어 있습니다. Pocket PC 클래스 라이브러리 템플릿은 클래스
라이브러리를 작성하는 데 사용됩니다. Pocket PC 컨트롤 라이브러리 템플릿은 컨트롤을 만드는 데 사용됩니다.
참고 Visual Basic .NET에 컨트롤 및 클래스
라이브러리가 추가된 점은 이러한 기능이 지원되지 않는 eMbedded Visual Basic에 비해 중요한 향상입니다.

그림 2. 세 개의 Pocket PC 관련 템플릿을 표시하는 New Project 대화 상자
그림 3에 표시된 것처럼 SDE에 포함된 네 번째 템플릿은 Windows CE Application 템플릿입니다. 이 템플릿을
사용하여 .NET Compact Framework를 지원하는 Windows CE를 실행하는 모든 장치를 대상으로 하는 .NET Compact
Framework 프로젝트를 작성할 수 있습니다.

그림 3. 장치 프로젝트 마법사를 표시하는 New Project 대화 상자
모든 장치 템플릿과 마찬가지로 Pocket PC 프로젝트 템플릿도 선택된 프로젝트 유형에 알맞은 초기 파일, 참조, 코드 프레임워크, 속성
설정, 작업 등을 만듭니다. 장치 템플릿은 대상 플랫폼을 사용하기 때문에 개발자가 사용할 수 있는 .NET Compact Framework
라이브러리에 영향을 미칩니다.
사용자 인터페이스 구성
Visual Studio .NET 작업 경험이 있는 사용자는 Smart Device Extensions 작업을 위한 안내가 거의 필요하지
않습니다. .NET을 처음으로 사용하는 eMbedded Visual Basic 개발자는 다음 절에서 Visual Studio .NET IDE의
주요 기능을 익히십시오.
그림 4에 표시된 것처럼 새 프로젝트를 만들 경우 시작 페이지가 빈 폼으로 바뀝니다.

그림 4. Windows 폼 디자이너
얼핏보면 Visual Studio .NET IDE의 이 부분은 eMbedded Visual Basic의 폼 디자이너와 비슷한 것 같지만
자세히 살펴보면 이 창의 위쪽에 여러 개의 탭이 있음을 알게 됩니다. 위 그림에서 Start Page, Form1.vb, Form1.vb
[Design]의 세 탭이 표시됩니다.
Start Page에 대해서는 이미 살펴 보았지만 두 Form1.vb 탭에 대해서는 아직 살펴보지 않았습니다. 이 두 탭은 eMbedded
Visual Basic의 폼 인터페이스와 폼 코드 모듈을 상호 연결시킵니다. Visual Studio .NET IDE에서 이 탭을 사용하여
사용자 인터페이스 디자인 창과 코드 창 사이에서 쉽게 전환할 수 있습니다.
새 도구 상자
Visual Studio .NET IDE의 도구 상자는 eMbedded Visual Basic과 같은 일반 위치에 있지만 기본적으로 숨겨져
있습니다. Visual Studio .NET IDE는 사용하지 않을 경우 자동으로 숨기는 패널을 지원합니다. 이 기능은 폼을 디자인하고 코드를
작성할 때 더 많은 화면 공간을 사용할 수 있도록 합니다.
숨겨진 상태에서 도구 상자는 그림 5에 표시된 것처럼 IDE의 왼쪽을 따라 정렬됩니다. 그림 6에 표시된 것처럼 마우스를 도구 상자 탭
위에 놓으면 도구 상자가 표시됩니다.

그림 5. 숨김 상태의 Visual Studio .NET 도구 상자

그림 6. 표시 상태의 Visual Studio .NET 도구 상자
Smart Device Extensions에 제공된 컨트롤
eMbedded Visual Basic에는 제한된 수의 컨트롤 집합이 제공되지만 Smart Device Extensions에는 훨씬
포괄적인 컨트롤 집합이 제공되며 그 중 많은 컨트롤은 데이터 바인딩을 지원합니다. 컨트롤 목록이 아래 표 1에 표시되어 있습니다.
| 단추 |
확인란 |
색 대화 상자 |
콤보 상자 |
상황에 맞는 메뉴 |
| DateTimePicker |
DomainUpDown |
ErrorProvider |
GroupBox |
HScrollBar |
| ImageList |
Label |
LinkLabel |
ListBox |
ListView |
| MainMenu |
MonthCalendar |
NumericUpDown |
OpenFileDialog |
Panel |
| PictureBox |
ProgressBar |
RadioButton |
SaveFileDialog |
StatusBar |
| TabControl |
TextBox |
Timer |
ToolBar |
ToolTip |
| TrackBar |
TreeView |
VScrollBar |
|
|
표 1. Smart Device Extensions에 포함된 컨트롤
폼에 컨트롤 추가
Visual Studio .NET 도구 상자 작업은 eMbedded Visual Basic 접근 방법과 동일합니다. 도구 상자에서 컨트롤을
선택한 다음 해당 컨트롤을 폼으로 끌어오면 됩니다. 그림 7에는 폼에 단추가 추가되었습니다. Visual Studio .NET에는 정렬, 크기,
공간, 중심 및 잠금 위치 등을 포함하여 Format 메뉴에 있는 전체 사용자 인터페이스 구성 도구 집합이 제공됩니다.

그림 7. 폼에 단추 추가
프로젝트 관리
Solutions Explorer 창을 사용하여 .NET Compact Framework 프로젝트를 관리합니다. eMbedded
Visual Basic의 Project Explorer 창의 기능과 마찬가지로 그림 8에 표시된 Solutions Explorer 창도
프로젝트와 그 구성 요소를 액세스하고 구성하는 데 사용됩니다.

그림 8. Visual Studio .NET Solution Explorer 창
프로젝트 항목
eMbedded Visual Basic에서는 지원되는 프로젝트 항목의 범위가 폼과 표준 모듈만으로 제한되었지만 Smart Device
Extensions for Visual Studio .NET에서는 다양한 프로젝트 항목 집합을 선택할 수 있습니다. 표 2에서는 지원되는 항목을
파일 확장명 및 간략한 설명과 함께 자세히 다룹니다.
| 프로젝트 항목 |
파일 확장명 |
설명 |
| 어셈블리 정보 파일 |
.vb |
버전 지정 및 어셈블리 이름과 같은 어셈블리 정보를 저장하는 데 사용되는 파일
|
| 어셈블리 리소스 파일 |
.resx |
Localized 속성이 TRUE로 설정될 때 프로젝트에 대한 로컬화 정보가 들어
있는 파일 |
| 비트맵 |
.bmp |
단순 이미지를 만드는 데 사용할 수 있는 빈 비트맵 이미지 파일 |
| 클래스 |
.vb |
기본적으로 단일의 빈 클래스 선언이 들어 있는 코드 파일 |
| 코드 파일 |
.vb |
코드가 들어 있지 않은 빈 Visual Basic 또는 Visual C# 코드
파일 |
| 구성 요소 클래스 |
.vb |
시각 디자이너가 존재하는 클래스(비즈니스 개체) |
| 커서 파일 |
.vb |
사용자 지정 커서를 만들기 위한 이미지 파일 |
| 사용자 지정 컨트롤 |
.vb |
시각적으로 디자인되지 않은 Windows 컨트롤로 그래픽 디자인 화면이 없음. 코드를 작성하여
컨트롤을 만들어야 합니다. |
| 데이터 폼 |
.vb |
데이터 연결 만들기를 지원하는 데이터 폼 |
| 데이터 집합 |
.xsd |
데이터 집합에서 데이터를 프로그램 방식으로 액세스하는 데 사용할 수 있는 클래스를 생성하는
XSD 스키마 |
| 동적 개발 문서 |
.vsdisco |
disco 파일이라고도 하며 웹 프로젝트에 있는 모든 웹 서비스와 스키마를 열거하는 수단을
제공합니다. |
| 아이콘 파일 |
.vb |
사용자 지정 아이콘을 만들기 위한 이미지 파일 |
| 상속 폼 |
.vb |
시각적 상속을 사용하여 다른 폼으로부터 파생하는 Windows 폼. 다른 폼에서 상속할 경우 이
폼이 초기 폼으로 제공됩니다. 그런 다음 시각적으로 추가하거나 내용을 변경할 수 있습니다. |
| 상속 사용자 컨트롤 |
.vb |
기존의 다른 사용자 컨트롤에서 파생된다는 점을 제외하면 사용자 컨트롤과 비슷합니다.
|
| 모듈(Visual Basic 전용) |
.vb |
기본적으로 함수 저장을 위한 단일 파일이 들어 있는 코드 파일 |
| 정적 검색 파일 |
.disco |
웹 서비스에 대한 정보를 게시하는 데 사용되는 파일 |
| 텍스트 파일 |
.txt |
빈 텍스트 파일 |
| 사용자 컨트롤 |
.vb |
Windows 폼에 배치할 수 있는 컨트롤(시각적 요소)이며 비주얼 디자이너가 있습니다.
|
| Windows 폼 |
.vb |
로컬 응용 프로그램에 사용하는 기본 Windows 폼이며 그래픽 디자인 화면이 있습니다.
|
| XML 파일 |
.xml |
XML 문서 파일 |
| XML 스키마 |
.xsd |
생성된 클래스가 없는 XSD 스키마 파일 |
표 2. Smart Device Extensions에 제공되는 지원 파일 유형
속성 구성
Visual Studio .NET Properties 창에서 폼 및 컨트롤의 속성을 구성할 수 있습니다. 그림 9에 표시된 것처럼
Properties 창에는 항목별로 보기와 사전순으로 보기가 모두 제공됩니다. 항목별로 보기는 특정 속성 집합을 쉽게 작업할 수 있도록 확대
또는 축소할 수 있습니다.

그림 9. Visual Studio .NET Properties 창
참고 Visual Basic .NET에서는 일부 컨트롤 속성
이름이 eMbedded Visual Basic에 사용된 이름과 다르게 변경되었습니다. 예를 들어, Visual Basic .NET 단추에는
기존의 Caption 속성 대신 Text 속성이 제공됩니다.
코드 추가
그림 10에 표시된 것처럼 Visual Studio .NET 코드 창은 eMbedded Visual Basic 버전과 비슷합니다. 기본
편집 영역에는 코드 영역을 축소/확대할 수 있는 추가 기능이 있습니다. 이 창의 왼쪽 상단에 있는 콤보 상자에서 클래스를 선택할 수 있습니다.
eMbedded Visual Basic에서는 이 창에서 개체를 선택할 수 있습니다. 코드 창의 오른쪽 상단에 있는 콤보 상자에서 메서드를 선택할
수 있습니다. eMbedded Visual Basic에서는 이 창에서 프로시저를 선택할 수 있습니다. Visual Studio .NET 코드
창은 구성원 자동 나열 및 매개 변수 제공을 포함하여 강력한 문을 모두 지원합니다.

그림 10. Microsoft® IntelliSense®를 설명하는 Visual Studio
.NET 코드 창
참고 Visual Basic .NET은 메서드 재설정을
지원합니다. 일반적으로 eMbedded Visual Basic 개발자에게 재설정은 새로운 개념입니다. 간단히 말하면 재설정을 사용하여 메서드를
매개 변수 목록마다 한 번씩 여러 번 선언할 수 있습니다. 위 그림에서 메서드 설명 창의 왼쪽 끝에 탐색 기능이 추가되어 있는 것을 볼 수
있습니다. 이 탐색 도구를 사용하여 자신의 개발 요구에 가장 적합한 메서드 설명을 선택할 수 있습니다. 관련 메모에서 Visual Basic
.NET은 메서드에 대해 정의된 모든 매개 변수의 값을 제공하도록 요구합니다. Visual Basic .NET은 선택 인수를 지원하지 않습니다.
Visual Basic .NET 폼 뒤의 코드
Visual Basic .NET을 사용하여 폼을 만들 경우 폼의 인터페이스를 정의하는 데 사용되는 코드를 실제로 만듭니다. 이것은 폼
정의와 폼 코드를 별도로 설명한 eMbedded Visual Basic과 다릅니다.
Windows Form Designer는 이 코드를 자동으로 생성하여 그림 11에 표시된 것처럼 폼 코드에 추가합니다. 이 코드는
일반적으로 개발자 보기에서는 숨김 영역으로 표시됩니다. 이 영역에는 Windows Form Designer 생성 코드라는 제목이 붙여진 레이블이
있습니다.
참고 이 폼 영역은 Visual Studio .NET의
Windows Form Designer 구성 요소에 의해 작성 및 유지 관리됩니다. 이 코드 영역을 수동으로 수정하지 마십시오. 그렇게 하면
예기치 않은 결과가 생성될 수 있습니다.

그림 11. 생성 코드가 숨겨진 코드
코드 창의 왼쪽 끝에 있는 플러스(+) 기호와 마이너스(-) 기호를 클릭하여 이 영역을 축소/확대할 수 있습니다. Windows Form
Designer에서 생성된 코드를 확대하면 그림 12에 표시된 것처럼 폼의 인터페이스를 정의하는 데 사용되는 코드가 나타납니다.

그림 12. 생성된 코드가 공개된 코드(폼 및 컨트롤 정의 참고)
프로젝트 구성
프로젝트 속성은 Properties 페이지 대화 상자에서 구성됩니다. Project 메뉴에서 Properties를 클릭하거나
Solution Explorer에서 속성을 마우스 오른쪽 단추로 클릭한 다음 그림 13에 표시된 것처럼 팝업 메뉴에서 Properties를
클릭하여 이 대화 상자를 액세스할 수 있습니다.

그림 13. 프로젝트 속성 액세스
그림 14에 표시된 것처럼 Properties Page 대화 상자에서 플랫폼, 장치 유형, 대상 출력 폴더 등과 같은 장치 배포 정보를
포함하여 모든 프로젝트 단면을 구성할 수 있습니다.

그림 14. 프로젝트 속성 구성
응용 프로그램 작성
응용 프로그램을 작성하려면 Build 메뉴에서 Build를 클릭합니다. 해당 메뉴가 표시되지 않으면 그림 15에 표시된 것처럼 Output
창이 나타납니다.

그림 15. 프로젝트 빌드 결과가 표시되는 Visual Studio .NET Output 창
Output 창은 배포 메시지, 예외 처리, 상태 알림 등을 표시하는 데 사용됩니다. 배포 메시지에는 장치 정보,
원본 및 대상 폴더, 파일 정보, 메모리 사용 등이 포함됩니다. 예외 처리 정보에는 연결 시간 초과, 불충분한 메모리, 없는 경로, 거부된
액세스, 공유 위반, 취소된 배포 및 기타 예기치 않은 오류가 포함됩니다. 상태 정보에는 생략한 항목, 실패, 성공 등이 포함됩니다.
Output 창을 참조하여 컴파일 및 배포 문제를 해결할 수 있습니다.
응용 프로그램 테스트
eMbedded Visual Basic처럼 Smart Device Extensions를 사용하여 에뮬레이터 또는 장치에서 응용 프로그램을
테스트할 수 있습니다. eMbedded Visual Basic IDE와 마찬가지로 Visual Studion .NET IDE의 SDE 향상에는
그림 16에 표시된 것처럼 테스트할 대상을 선택할 수 있는 메뉴 모음 인터페이스가 제공됩니다.

그림 16. 배포 대상 선택
SDE 조사 요약
Windows CE 운영 체제에서의 Visual Basic 기반 개발의 미래는 밝다고 봅니다. 몇 년 내에 Visual Basic for
CE를 만든 다음 eMbedded Visual Basic에서 원하는 작업을 수행하게 되면 곧 멋지고 강력한 대체 기능들을 사용할 수 있게 될
것입니다. 오래지 않아 SDE 베타 버전이 출시되면 Visual Basic .NET 기술 상에서 이를 연마하십시오. 전환을 위해 .NET 기술이
필요할 것입니다.
다시 여행으로
이달은 여기까지입니다. 이제 제가 이 정보를 유지할 수 없는 이유를 아셨기를 바랍니다. 다음 달의 기사에서는 SDE의 이론 부분을 벗어나서
이 강력한 새 도구를 사용하여 응용 프로그램을 만드는 요점을 살펴보겠습니다. 이번 달에는 로스앤젤레스로 가서 PDC에서 eMbedded
Visual Basic에서 SDE로 이동과 일부 필수 요소들에 대해 강의할 것입니다. 그때 다시 뵙겠습니다.
최종 수정일: 2001년 12월 6일
|