윈도우 앱 SDK(Windows App SDK, 이전의 프로젝트 리유니언(Project Reunion))[3]는 윈도우 11 및 윈도우 10 버전 1809 이상 용 데스크톱 애플리케이션을 개발하는 데 사용할 수 있는 통합 API 및 구성 요소 세트를 제공하는 마이크로소프트의 소프트웨어 개발 키트 (SDK)이다. 이 프로젝트의 목적은 이전에 UWP 앱 모델에 긴밀하게 결합되었던 기능의 분리된 구현을 제공하는 것이다.[4] 윈도우 앱 SDK는 네이티브 Win32 (USER32/GDI32)와 .NET (WPF/WinForms) 개발자 모두 최신 기능으로 앱을 향상시킬 수 있는 경로를 제공한다.[4]
따라서 윈도우 앱 SDK는 윈도우 SDK를 대체할 의도가 없다.[4] 생성된 WinMD 메타데이터를 통해 주로 Windows 런타임 (WinRT)을 사용하는 공통 API를 노출함으로써 한때 두 앱 모델 중 하나를 특징지었던 점이 대부분 제거되었다. 버전 1.4용 NuGet 패키지는 약 4개월 간의 개발 끝에 2023년 8월에 출시되었다.[5]
기능 및 구성 요소
마이크로소프트는 여러 가지 새로운 기능을 개발했지만 아래 나열된 기능 중 일부는 기존 API에서 제공하는 기능을 추상화한 것이다.[4]
WinUI 3
분리된 UI 스택[6]에 대한 대부분의 투자는[7] 버그 수정, 디버깅 환경 개선, CoreWindow에서 전환하여 가능한 창 관리 기능 단순화 등으로 이용되었다. AppWindow로 알려진 USER32/GDI32 프리미티브를 추상화하는 API는[8] 통합된 창 기능 세트를 노출하고 사용자 정의 윈도우 컨트롤을 지원할 수 있도록 하기 위해 도입되었다.
WebView2
UWP WebView 컨트롤의 대체품이 일찍 발표되었다.[9] 이는 지원되지 않는 브라우저 엔진을 기반으로 했기 때문이다.[10]WebView2라는 새로운 크로미움 기반 컨트롤이 개발되었으며 WinUI 및 기타 지원되는 앱 유형에서 사용할 수 있다.
패키징
MSIX는 윈도우 앱 SDK에 포함되어 있으며 권장되는 애플리케이션 패키징 형식으로 간주되지만,[11][12] 디자인 목표는 패키징되지 않은 앱을 허용하는 것이었다. 이러한 앱은 자체 포함 또는 프레임워크 종속형으로 배포될 수 있다. 패키지된 앱과 패키지되지 않은 앱 모두에 대해 앱 종속성의 동적 로드 지원이 포함된다.[13]
그래픽
DWriteCore는 고품질 텍스트 렌더링을 위한 분리되고 장치 독립적인 솔루션으로 개발되고 있다.[14]Win2D는 WinUI 3 앱에서도 사용할 수 있게 되었다.[15]
리소스 관리
MRT Core를 사용 하면 현지화 등의 목적을 위한 앱 리소스를 관리할 수 있다. UWP에서 리소스 관리 시스템이 분리된 버전이다.[16]
앱 수명 주기
초기 출시 이후 안정적인 릴리스가 제공되면서 윈도우 앱 SDK는 이전에 개발자가 Win32 애플리케이션에서 구현하는 데 상당한 노력이 필요했던 여러 앱 수명 주기 기능을 지원한다. 이러한 기능에는 전원 관리 알림, 리치 활성화, 다중 인스턴스 및 프로그래밍 방식 앱 다시 시작이 포함된다.[17]
알림
푸시 알림에 대한 지원은 처음에는 제한된 액세스인 미리 보기 기능으로 구현되었다.[18] 그러나 이후 API가 안정화되어 앱 사용자에게 푸시 알림을 전달할 수 있다. 공식 문서에는 마이크로소프트의 재량에 따라 이 기능에 대한 액세스가 취소될 수 있다고 명시되어 있다.[18][19] 또한 이제 앱은 XML 페이로드를 생성할 필요 없이 로컬 앱 알림을 쉽게 표시할 수 있다.[20]
위젯
윈도우 11의 윈도우 위젯 시스템과의 타사 통합이 안정 릴리스 채널의 일부로 포함되었다.[21] 개발자는 적응형 카드[22]를 사용하여 앱에 대한 맞춤형 위젯을 디자인하고 위젯 보드에 표시할 수 있다.[23]