Windows IoT Enterprise용 앱 개발

이 페이지에서는 Windows IoT Enterprise 디바이스용 애플리케이션 개발을 시작하는 데 도움이 되는 Windows 애플리케이션 개발에 대한 리소스를 컴파일합니다.

Windows IoT Enterprise 디바이스용 애플리케이션 개발은 Windows 클라이언트 디바이스용 개발과 비슷합니다. Windows 클라이언트용으로 빌드된 동일한 애플리케이션은 수정 없이 Windows IoT Enterprise에서 실행됩니다. Windows IoT Enterprise 및 Windows Desktop용 애플리케이션 개발의 차이점은 애플리케이션을 배포하는 하드웨어와 디바이스에 적용된 모든 Windows IoT 사용자 지정 또는 잠금 정책에 대해 고려해야 하는 추가 고려 사항입니다.

환경 설정

개발 도구 설치

Windows IoT용 애플리케이션을 개발하려면 Visual Studio, Windows SDK 및 Windows 앱 SDK 필요합니다.

주제 리소스 설명
Visual Studio Visual Studio 많은 Windows 개발자가 선호하는 개발 도구인 Visual Studio를 사용하면 Windows 및 기타 여러 플랫폼용 프로젝트를 만들 수 있습니다. 앱을 작성, 디버그 및 배포하는 데 도움이 되는 강력한 IDE입니다.
Windows SDK Windows SDK Windows SDK는 UWP 앱 및 Win32/데스크톱 앱을 빌드할 수 있는 개발 플랫폼입니다. 특정 버전의 OS에 결합된 Windows API를 중심으로 설계되었습니다.
Windows 앱 SDK Windows 앱 SDK 이 Windows 앱 SDK Windows 버전(Windows 10 1809까지)에 설치할 수 있는 최신 데스크톱 앱을 빌드할 수 있도록 하여 Windows SDK를 보완합니다.

개발 시작

Windows 앱 개발

Windows 디바이스용 앱을 작성하는 방법에 대한 모든 것을 알아보고 샘플 애플리케이션 코드를 탐색합니다.

주제 리소스 설명
Windows 언어 및 플랫폼 옵션 Windows 개발 옵션 Windows는 프로그래밍 언어에서 애플리케이션 프레임워크에 이르기까지 앱을 빌드하기 위한 다양한 옵션을 제공합니다. 이 문서에는 앱 빌드를 시작하는 데 필요한 정보가 포함되어 있습니다.
App Framework 비교 앱 개발 프레임워크 앱에 가장 적합한 앱 개발 프레임워크를 평가합니다.
Windows 앱 패키징 및 배포 옵션 Windows 앱: 패키징, 배포 및 프로세스 Windows 애플리케이션을 패키지, 배포 및 배포하는 방법과 이러한 다양한 옵션이 앱의 런타임 프로세스에 미치는 영향을 알아봅니다.
예제 코드 Windows 개발을 위한 샘플 애플리케이션 이 항목에서는 특정 작업, 기능 및 API 사용 패턴을 보여 주는 Windows 애플리케이션에 대한 샘플 코드를 컴파일합니다. 이러한 샘플은 Windows 앱 SDK/WinUI 3, UWP/WinUI 2, .NET MAUI 등의 기능을 보여 줍니다.

Windows IoT 앱 개발 고려 사항

Windows IoT 디바이스에 일반적으로 사용되는 Windows 앱 개발 패턴 및 기능에 대해 알아봅니다.

주제 리소스 설명
포함된 모드 Embedded(포함) 모드 UWP 애플리케이션이 백그라운드에서 실행되고 lowLevelDevices 또는 systemManagement UWP 애플리케이션 기능을 사용할 수 있도록 합니다.
UWP(백그라운드 애플리케이션) 백그라운드 UWP 작업 및 애플리케이션 백그라운드 애플리케이션은 UI가 없지만 코드를 실행할 수 있는 특수한 유형의 UWP 애플리케이션입니다. 이러한 앱은 일반적으로 디스플레이 없이 Windows IoT Core 디바이스 및 디바이스에서 사용됩니다. 백그라운드 애플리케이션을 실행하려면 포함 모드 를 사용하도록 설정해야 합니다.
Windows 서비스(.NET) Windows 서비스 Windows 서비스는 UI가 없고 특정 작업 또는 함수를 수행하도록 설계된 백그라운드 프로세스입니다. Windows 서비스는 일반적으로 Windows 클라이언트 디바이스에서 사용되며 Windows IoT 디바이스에서도 사용할 수 있습니다.
UWP 애플리케이션 배포 UWP 애플리케이션 배포 및 디버깅 UWP 애플리케이션을 배포하고 디버그할 수 있는 다양한 방법을 설명합니다. IoT 디바이스의 가장 일반적인 패러다임은 원격 머신에 배포하는 것이며, IoT 디바이스에서 설정하려면 추가 단계가 필요합니다.
UWP 애플리케이션 디버깅 원격 컴퓨터에서 UWP 애플리케이션 디버깅 개발 컴퓨터에서 Windows IoT 디바이스에서 실행되는 애플리케이션을 디버그하는 방법을 설명합니다.

ARM64 디바이스용 애플리케이션 개발

네이티브 및 에뮬레이트된 ARM64 애플리케이션

네이 티브 ARM64 애플리케이션 은 Arm64용으로 기본적으로 빌드된 애플리케이션을 나타냅니다. 에뮬레이트된 ARM64 애플리케이션은 X86 또는 X64용으로 빌드되었지만 Windows의 기본 제공 에뮬레이션 기술을 사용하여 수정 없이 ARM64 디바이스에서 애플리케이션을 실행할 수 있도록 하는 애플리케이션을 나타냅니다.

네이티브 ARM64 애플리케이션은 다음을 포함하여 에뮬레이트된 ARM64 애플리케이션에 비해 몇 가지 이점이 있습니다.

  • 성능 향상
  • 전력 소비 감소
  • 호환성 향상

ARM64 디바이스에서 기본적으로 또는 에뮬레이트된 ARM64 애플리케이션을 실행하기로 한 결정은 특정 디바이스 시나리오에 적합한 항목으로 결정됩니다. 네이티브 ARM64 애플리케이션의 이점을 활용할 수 있도록 ARM64용 애플리케이션을 기본적으로 빌드하는 것이 좋습니다. 그러나 WINDOWS의 기본 제공 ARM64 에뮬레이션 기술을 사용하여 애플리케이션을 실행하는 것도 좋습니다.

ARM64 네이티브 지원을 추가하는 방법

기존 또는 새 애플리케이션에 ARM64 네이티브 지원을 추가하려면 Windows 애플리케이션에 ARM64 지원을 추가하는 방법에 대한 가이드를 따르 세요.

앱 에뮬레이션을 지원하는 Windows IoT Enterprise 버전은 무엇입니까?

Windows IoT Enterprise는 이 표에 따라 ARM64 디바이스에서 앱 에뮬레이션을 지원합니다.

OS 버전 ARM64 디바이스의 에뮬레이션 지원
윈도우 10 X86
윈도우 11 X86, X64

ARM64 에뮬레이션 기술을 사용하여 앱을 실행하는 방법

Windows의 기본 제공 에뮬레이션 기술을 사용하여 ARM64 디바이스에서 X86 또는 X64 애플리케이션을 실행하려면 ARM64 디바이스에 X86 또는 X64 애플리케이션을 배포하고 정상적으로 실행하기만 하면 됩니다.

ARM64에 대한 .NET Framework 지원

.NET Framework 4.8.1은 개발자가 ARM64용 애플리케이션을 기본적으로 빌드하고 ARM64 에뮬레이션을 사용하지 않고 ARM64 디바이스에서 실행할 수 있도록 하는 Windows 11에서 Arm64에 대한 기본 지원을 추가했습니다. 이 기능은 .NET Framework Runtime 4.8.1에서 네이티브 ARM64 지원을 통해 Windows 11 디바이스에서 지원됩니다.

참고

.NET Framework 4.8.1 런타임은 Windows 10 디바이스에서 네이티브 ARM64 애플리케이션을 지원하지 않습니다.

ARM64 Windows 11 IoT Enterprise 디바이스에서 네이티브 ARM64 .NET Framework 4.8.1 애플리케이션을 실행하려면 .NET Framework 4.8.1 런타임이 디바이스에 설치되거나 애플리케이션과 함께 패키지되었는지 확인합니다.

추가 앱 개발 리소스

테스트 및 디버깅

Visual Studio를 사용하여 애플리케이션을 디버그하고 릴리스 전에 테스트를 실행합니다. 목차 창의 맨 위에 있는 드롭다운에서 올바른 버전의 Visual Studio를 선택해야 합니다.

주제 리소스 설명
Visual Studio를 사용하여 앱 디버그 Visual Studio를 사용하여 앱 디버그 Visual Studio 디버거를 사용하여 릴리스할 앱을 준비합니다.
Visual Studio에서 테스트 살펴보기 Visual Studio 테스트 도구 Visual Studio에서 사용할 수 있는 테스트 옵션 살펴보기
단위 테스트 Visual Studio의 단위 테스트 Visual Studio에서 단위 테스트 시작
실시간 단위 테스트 라이브 유닛 테스트 Live Unit Testing은 사용자가 코드를 변경할 때 실시간으로 단위 테스트를 자동으로 실행합니다.
원격 테스트 Visual Studio의 원격 테스트 원격 테스트를 통해 개발자는 Visual Studio 2022를 원격 환경에 연결하여 테스트를 실행하고 디버깅할 수 있습니다.

애플리케이션 배포

앱을 게시하고 공유하는 방법 목차 창의 맨 위에 있는 드롭다운에서 올바른 버전의 Visual Studio를 선택하고 문서 제목 위에 있는 오른쪽에 올바른 언어를 선택해야 합니다.

주제 리소스 설명
앱 배포 개요 Visual Studio를 사용하여 앱 배포 Visual Studio를 사용하여 애플리케이션을 배포합니다.
로컬 폴더에 배포 Visual Studio를 사용하여 로컬 폴더에 배포 로컬 폴더에 배포는 일반적으로 테스트에 사용되거나 최종 배포에 다른 도구를 사용하는 스테이징된 배포를 시작하는 데 사용됩니다.
Azure에 게시 Visual Studio를 사용하여 Azure에 게시 Visual Studio를 사용하여 Azure에 애플리케이션을 게시합니다.
웹 또는 네트워크 공유에 게시 Visual Studio를 사용하여 웹에 게시 Visual Studio에서 웹에 앱을 게시하거나 네트워크 공유에 배포합니다.
설치 관리자 패키지 만들기 설치 관리자 패키지 만들기 Visual Studio를 사용하여 앱용 Windows 데스크톱 설치 관리자 패키지 만들기
Microsoft Store에 게시 Microsoft Store에 게시 먼저 Microsoft Store에 게시합니다.
Windows 앱으로 배포 Windows 앱으로 배포(앱 설치 관리자 만들기) 서비스 업데이트를 받을 수 있는 Windows 앱으로 프로젝트를 패키지하려면 앱 설치 관리자를 만들 수 있습니다.
디바이스에 배포(UWP) 디바이스에 원격으로 배포 디바이스에서 테스트할 UWP를 배포합니다.
OS 이미지에 앱 사전 설치 DISM을 사용하여 앱 사전 설치 이 항목에서는 Windows 이미지의 일부로 포함되도록 앱을 사전 설치하는 방법을 설명합니다.
WinGet을 사용하여 앱 설치 WinGet을 사용하여 Windows IoT Enterprise에 앱 설치 WinGet 명령줄 도구를 사용하면 사용자가 Windows 10 및 Windows 11 디바이스에서 애플리케이션을 검색, 설치, 업그레이드, 제거 및 구성할 수 있습니다.

기타 유용한 Windows 개발 도구

주제 리소스 설명
개발자 홈 설치 개발자 홈 개발자 홈은 Windows 11에서 도입되었으며 Windows용 앱을 개발하는 데 필요한 도구에 빠르게 액세스할 수 있는 대시보드입니다. 학습 및 코드 샘플에 대한 링크도 제공합니다.
개발자 드라이브 개발자 드라이브 일반적인 개발 작업의 속도를 높이기 위해 개발자 드라이브라는 프로젝트를 저장하는 데 사용되는 특수 형식의 드라이브를 만들 수 있습니다.
Visual Studio Code Visual Studio Code 확장성이 뛰어난 편집기인 Visual Studio Code는 사용자가 생각할 수 있는 거의 모든 종류의 개발을 지원하도록 사용자 지정할 수 있습니다. Windows 및 기타 플랫폼용 앱을 작성하는 데 적합합니다.
Windows 터미널 Windows 터미널 Windows 터미널 명령 프롬프트, PowerShell 및 bash(Linux용 Windows 하위 시스템(WSL)을 통해)와 같이 이미 좋아하는 명령줄 셸에 대한 최신 호스트 애플리케이션입니다. 최신 탭 인터페이스를 제공하고 테마 및 확장을 지원합니다.
Linux용 Windows 하위 시스템 Linux용 Windows 하위 시스템 WSL을 사용하면 Windows에서 Linux 배포를 실행할 수 있으며 오픈 소스 도구를 사용하여 Windows용 앱을 개발하는 좋은 방법입니다.