다음을 통해 공유


응용 프로그램 개발 개요(장치)

업데이트: 2007년 11월

스마트 장치 응용 프로그램 개발 작업은 데스크톱 응용 프로그램 개발 작업과 크게 다르지 않습니다. 이 항목에서는 스마트 장치 응용 프로그램의 주요 개발 단계에 대해 간단하게 살펴보고 데스크톱 응용 프로그램 개발과 스마트 장치 응용 프로그램 개발 간의 몇 가지 차이점에 대해 알아봅니다.

  • 디자인 고려 사항

  • 스마트 장치 및 에뮬레이터 작업

  • 장치 응용 프로그램 빌드, 디버깅 및 테스트

  • 보안 고려 사항

  • 배포를 위한 응용 프로그램 패키징

  • 장치 및 데스크톱

디자인 고려 사항

스마트 장치 솔루션과 Windows CE

Windows CE, Pocket PC, Smartphone 및 Windows Mobile™ 소프트웨어 간의 관계에 대한 자세한 내용은 Windows Mobile Developer Center의 Learn Windows Mobile을 참조하십시오. 자세한 내용은 스마트 장치 개발을 위한 디자인 고려 사항을 참조하십시오.

버전 호환성

장치 응용 프로그램을 개발할 때 호환되는 기술 및 도구의 버전을 알아보려면 Introduction to Development Tools for Windows Mobile-based Pocket PCs and Smartphones를 참조하십시오. 관리되는 프로젝트는 .NET Compact Framework 버전 2.0 또는 3.5를 대상으로 해야 합니다.

디자인 지침

장치 응용 프로그램의 디자인은 사용자가 작업을 얼마나 쉽고 빠르고 효율적으로 수행할 수 있는지에 상당한 영향을 줍니다. 여러 장치의 기능을 활용하도록 응용 프로그램을 최적화하면 사용 가능성, 일관성 및 응답 능력이 뛰어나고 사용하기 쉬운 응용 프로그램을 만들어 최적의 환경을 사용자에게 제공할 수 있습니다. 특정 인터페이스 기능에 대한 자세한 디자인 지침은 장치용 SDK(소프트웨어 개발 키트)와 본 도움말의 스마트 장치 단원을 참조하십시오.

스마트 장치 및 에뮬레이터 작업

장치 에뮬레이터

장치 에뮬레이터는 특히 Visual Studio 장치 프로젝트에 맞게 디자인되었습니다. 장치 에뮬레이터는 ARM 명령 집합에 대해 컴파일된 응용 프로그램을 실행하며 사용자 모드 프로세스로 실행됩니다. Visual Studio에서는 에뮬레이터와 통신하기 위한 DMA(Direct Memory Access) 전송을 제공합니다. 기존의 TCP/IP 전송보다 뛰어난 DMA 전송은 속도가 빠르고, 네트워크 연결성이나 다른 외부 요소에 구애 받지 않으며, 정확한 연결 및 연결 해제를 제공합니다.

Visual Studio에는 Windows Mobile 5.0 및 Windows Mobile 2003용 에뮬레이터 이미지가 포함되어 있습니다. Windows Mobile 6과 같은 추가 SDK를 설치하면 다른 에뮬레이터가 추가로 설치됩니다.

에뮬레이터를 열려면 도구 메뉴에서 장치에 연결을 클릭하고 열고자 하는 에뮬레이터를 선택한 다음 연결을 클릭합니다.

장치에 연결

Visual Studio에서는 Core Connectivity Framework를 사용하여 개발 컴퓨터와 대상 장치간에 안정적인 보안 연결을 설정합니다. Visual Studio에서는 이 연결을 통해 장치 또는 에뮬레이터에 파일을 배포하고 응용 프로그램을 디버깅합니다. 자세한 내용은 개발 컴퓨터에 스마트 장치 연결을 참조하십시오.

장치 응용 프로그램 빌드, 디버깅 및 테스트

관리되는 응용 프로그램

Visual Studio에서는 Visual C# 또는 Visual Basic 프로그래밍 언어 중 하나를 사용하여 .NET Compact Framework 버전 2.0 또는 3.5를 대상으로 하는 응용 프로그램을 작성할 수 있습니다. 스마트 장치 응용 프로그램에서는 .NET Compact Framework의 어셈블리를 참조하며 .NET Compact Framework의 공용 언어 런타임을 통해 장치에서 실행됩니다.

Visual Studio에서는 다음과 같이 개발에 유용한 기능을 제공합니다.

네이티브 C++ 응용 프로그램

Visual Studio에서는 Visual C++ 프로그래밍 언어를 사용하여 기본적으로 장치에서 실행되는 스마트 장치 응용 프로그램을 작성할 수 있습니다. 자세한 내용은 Visual C++를 사용한 장치 프로그래밍을 참조하십시오.

보안

Windows Mobile 응용 프로그램 보안

스마트 장치 개발자는 여러 보안 구성이 응용 프로그램의 실행에 어떤 영향을 주는지 고려해야 합니다. 응용 프로그램이 서명되어 있지 않거나 사용자의 장치에 없는 인증서로 서명된 경우 응용 프로그램이 실행되지 않을 수도 있습니다. 자세한 내용은 장치 프로젝트의 보안을 참조하십시오.

기타 보안 고려 사항

장치 응용 프로그램은 원격 연결의 특성 때문에 추가적인 보안 문제가 야기됩니다. 자세한 내용은 .NET Compact Framework의 보안네이티브 및 .NET Framework 코드의 보안을 참조하십시오.

배포를 위한 응용 프로그램 패키징

Visual Studio에서는 스마트 장치 응용 프로그램을 CAB 파일이나 데스크톱 MSI 설치 관리자로 패키지하는 데 사용할 수 있는 도구를 제공합니다. 자세한 내용은 배포를 위한 장치 솔루션 패키징을 참조하십시오.

장치와 데스크톱 비교

장치 응용 프로그램을 개발하는 경우에도 데스크톱 응용 프로그램을 개발하는 경우와 동일한 Visual Studio IDE(통합 개발 환경)를 사용하지만 두 작업에는 몇 가지 차이점이 있습니다.

  • Visual Studio IDE에서는 장치에 연결하여 디버깅을 수행하는 데 필요한 도구를 추가로 제공합니다.

  • 프로젝트를 만들 때 프로젝트 형식과 템플릿을 선택하는 것 외에 응용 프로그램을 실행하고 디버깅할 장치를 선택해야 합니다. 이러한 장치로는 개발 컴퓨터에 연결된 실제 장치, 네트워크로 연결된 장치, 개발 컴퓨터에서 실행되는 장치 에뮬레이터 등이 있습니다.

  • 데스크톱 응용 프로그램을 개발할 때 사용할 수 있는 클래스 멤버와 수가 다릅니다. .NET Compact Framework를 사용하는 관리되는 프로젝트에서는 장치에 사용할 수 있는 클래스 수가 적고 이를 보완하는 클래스가 일반적으로 플랫폼마다 다릅니다. Windows API, MFC 클래스 또는 ATL 구성 요소의 하위 집합만 사용할 수 있는 네이티브 프로젝트의 경우에도 마찬가지입니다. 설명서를 참조하거나, IntelliSense를 사용하거나, 프로젝트가 활성일 때 Visual Studio 개체 브라우저를 사용하면 지원되는 클래스를 확인할 수 있습니다.

  • 데스크톱 응용 프로그램과 마찬가지로 플랫폼 호출을 사용하여 네이티브 코드에 액세스할 수 있습니다. .NET Compact Framework에서는 COM interop를 제한적으로만 지원합니다. COM 개체를 관리 코드로 만들 수 없으며 ActiveX 컨트롤과 상호 운용할 수도 없습니다.

  • 일부 언어 항목이 다릅니다. 예를 들어, 데스크톱 응용 프로그램을 개발하는 데 사용되는 Visual Basic 키워드 중 일부를 사용할 수 없습니다.

  • 데스크톱 프로젝트용 Visual Studio 설명서에 제공되는 코드 조각 중 일부를 사용하면 장치 프로젝트에서 빌드 오류가 발생할 수도 있습니다.

  • 장치의 양식 요소, 전원 사용, 메모리 제한 사항 및 기타 세부 사항 등의 디자인 고려 사항은 데스크톱 개발과 다릅니다.

추가 리소스

자세한 내용은 Windows Mobile Developer Center를 참조하십시오.

참고 항목

기타 리소스

스마트 장치 프로젝트 시작