Windows App SDK에 UWP 기능 매핑

이 항목에서는 UWP 및 Windows App SDK에 표시되는 다양한 형식의 주요 기능 영역을 비교합니다. 이 마이그레이션 가이드의 콘텐츠는 UWP XAML에서 Windows App SDK XAML로의 이동을 지원합니다. WPF(Windows Presentation Foundation)와 같은 다른 UI 프레임워크로의 이동은 이 지침의 범위를 벗어나는 것입니다.

기능 UWP Windows App SDK(패키지된 앱) 마이그레이션 정보
패키징 MSIX
앱에 ID가 있습니다.
MSIX
앱에 ID가 있습니다.
Windows App SDK로 마이그레이션하는 UWP 앱은 신뢰할 수 있는 클린 설치 및 제거 환경뿐만 아니라 ID가 필요한 API를 비롯한 모든 API에 액세스할 수 있도록 MSIX에 유지되어야 합니다.
컨테이너 앱 컨테이너:
- 보안 = LowIL
- 파일 시스템 액세스가 조정됨
- 레지스트리 액세스 없음
MSIX 컨테이너:
- 보안 = MediumIL
- 사용자와 동일한 파일 시스템 액세스, AppData 쓰기 가상화
- HKCU 레지스트리 쓰기 가상화
Windows App SDK를 사용하여 더 높은 무결성 수준으로 전환하면 앱의 기능이 향상됩니다. 그러나 마이그레이션된 애플리케이션의 기능을 확장하여 HKCU 또는 AppData에 쓰려는 경우 가상화에 유의합니다.
활성화 및 인스턴스화 패키지 ID + CoreApplication 활성화, 기본적으로 단일 인스턴스화 패키지 ID, Main/WinMain + Windows App SDK 활성화, 기본적으로 다중 인스턴스화 애플리케이션이 다중 인스턴스 동작을 처리하거나 AppInstance를 사용하여 인스턴스를 관리할 수 있는지 확인합니다.
수명 주기 관리 일시 중단/재개 전원/상태 알림 전원/상태 변경 알림을 사용하여 시스템 부하를 줄일 수 있습니다.
백그라운드 작업 InProc 및 OOP 백그라운드 작업 Inproc COM 및 OOP 백그라운드 작업 OOP 백그라운드 작업을 계속 사용할 수 있습니다. 앱이 기본 프로세스와 통신해야 하는 경우 OOP 백그라운드 작업이 LowIL에서 실행되고 Windows App SDK 기본 프로세스가 MediumIL에서 실행 중이기 때문에 IPC 메커니즘을 평가합니다.

모든 inproc 백그라운드 작업은 COM 백그라운드 작업으로 마이그레이션해야 합니다. winmain COM 백그라운드 작업 만들기 및 등록을 참조하세요.

C# OOP 백그라운드 작업의 경우 C#/WinRT가 있는 작성자 Windows Runtime 구성 요소 및 백그라운드 작업 샘플를 참조하십시오.
Windowing CoreWindow, AppWindow(미리 보기) HWND, AppWindow v2 Windows App SDK에서 기간 이동 동작이 크게 변경되었습니다. 기간 이동 기능 마이그레이션을 참조하세요.
메시징 CoreDispatcher 및 DispatcherQueue DispatcherQueue, WndProc DispatcherQueue는 Win32 앱을 지원합니다. CoreDispatcher에서 DispatcherQueue로 이동하는 방법에 대한 자세한 내용은 스레딩 기능 마이그레이션을 참조하세요.
UI 플랫폼 시스템 XAML, WebView, DirectX 등 WinUI 3, Webview2, DirectX 등 자세한 내용은 Windows UI 라이브러리(WinUI) 마이그레이션을 참조하세요.
텍스트 렌더링 DirectWrite DWriteCore 애플리케이션이 최신 DWrite 기능에 액세스하고 OS 릴리스 일정과 별도로 새 DWrite 업데이트를 받을 수 있도록 합니다. 자세한 내용은 DirectWrite에서 DWriteCore로 마이그레이션을 참조하세요.
리소스 MRT MRTCore 자세한 내용은 MRT에서 MRTCore로 마이그레이션을 참조하세요.
.NET 런타임 .NET 네이티브 / C# 7 .NET 6+/C# 9 Windows App SDK는 최신 .NET 런타임에 대한 액세스 및 새로운 언어 기능에 대한 액세스 권한을 제공합니다. 그러나 .NET ReadyToRun 컴파일은 .NET 네이티브와 동일하지 않으므로 성능 균형을 평가해야 합니다.
2D 그래픽 Win2D WinUI 3용 Win2D 현재 Windows App SDK와 함께 작동하는 Win2D 버전에서 작업 중입니다. 자세한 내용은 설명서를 참조하세요.
Windows 런타임 구성 요소 UWP용 구성 요소 프로젝트 템플릿 Windows 런타임 - C++: Windows 런타임 구성 요소(WinUI 3) 프로젝트 템플릿을 사용합니다.
- C#: C#/WinRT를 사용하여 .NET 클래스 라이브러리에서 Windows 런타임 구성 요소를 작성합니다.
현재 C#/WinRT를 사용하여 Windows App SDK 및 WinUI 3에서 사용할 수 있도록 Author Windows Runtime Components를 지원하는 작업을 진행 중입니다.