윈도우 앱 SDK
![]() | |
다른 이름 | 프로젝트 리유니언 |
---|---|
개발자 | 마이크로소프트 |
발표일 | 2021년 3월 29일 |
안정화 버전 | |
미리보기 버전 | 1.6-experimental2[1] ![]() |
저장소 | |
프로그래밍 언어 | C++ |
운영 체제 | 윈도우 11, 윈도우 10 버전 1809 이상 |
플랫폼 | x86-64, ARM64, IA-32 |
종류 | API |
라이선스 | MIT 허가서 |
웹사이트 | learn |
윈도우 앱 SDK(Windows App SDK, 이전의 프로젝트 리유니언(Project Reunion))[2]는 윈도우 11 및 윈도우 10 버전 1809 이상 용 데스크톱 애플리케이션을 개발하는 데 사용할 수 있는 통합 API 및 구성 요소 세트를 제공하는 마이크로소프트의 소프트웨어 개발 키트 (SDK)이다. 이 프로젝트의 목적은 이전에 UWP 앱 모델에 긴밀하게 결합되었던 기능의 분리된 구현을 제공하는 것이다.[3] 윈도우 앱 SDK는 네이티브 Win32 (USER32/GDI32)와 .NET (WPF/WinForms) 개발자 모두 최신 기능으로 앱을 향상시킬 수 있는 경로를 제공한다.[3]
따라서 윈도우 앱 SDK는 윈도우 SDK를 대체할 의도가 없다.[3] 생성된 WinMD 메타데이터를 통해 주로 Windows 런타임 (WinRT)을 사용하는 공통 API를 노출함으로써 한때 두 앱 모델 중 하나를 특징지었던 점이 대부분 제거되었다. 버전 1.4용 NuGet 패키지는 약 4개월 간의 개발 끝에 2023년 8월에 출시되었다.[4]
기능 및 구성 요소
[편집]마이크로소프트는 여러 가지 새로운 기능을 개발했지만 아래 나열된 기능 중 일부는 기존 API에서 제공하는 기능을 추상화한 것이다.[3]
WinUI 3
[편집]분리된 UI 스택[5]에 대한 대부분의 투자는[6] 버그 수정, 디버깅 환경 개선, CoreWindow에서 전환하여 가능한 창 관리 기능 단순화 등으로 이용되었다. AppWindow로 알려진 USER32/GDI32 프리미티브를 추상화하는 API는[7] 통합된 창 기능 세트를 노출하고 사용자 정의 윈도우 컨트롤을 지원할 수 있도록 하기 위해 도입되었다.
WebView2
[편집]UWP WebView 컨트롤의 대체품이 일찍 발표되었다.[8] 이는 지원되지 않는 브라우저 엔진을 기반으로 했기 때문이다.[9] WebView2라는 새로운 크로미움 기반 컨트롤이 개발되었으며 WinUI 및 기타 지원되는 앱 유형에서 사용할 수 있다.
패키징
[편집]MSIX는 윈도우 앱 SDK에 포함되어 있으며 권장되는 애플리케이션 패키징 형식으로 간주되지만,[10][11] 디자인 목표는 패키징되지 않은 앱을 허용하는 것이었다. 이러한 앱은 자체 포함 또는 프레임워크 종속형으로 배포될 수 있다. 패키지된 앱과 패키지되지 않은 앱 모두에 대해 앱 종속성의 동적 로드 지원이 포함된다.[12]
그래픽
[편집]DWriteCore는 고품질 텍스트 렌더링을 위한 분리되고 장치 독립적인 솔루션으로 개발되고 있다.[13] Win2D는 WinUI 3 앱에서도 사용할 수 있게 되었다.[14]
리소스 관리
[편집]MRT Core를 사용 하면 현지화 등의 목적을 위한 앱 리소스를 관리할 수 있다. UWP에서 리소스 관리 시스템이 분리된 버전이다.[15]
앱 수명 주기
[편집]초기 출시 이후 안정적인 릴리스가 제공되면서 윈도우 앱 SDK는 이전에 개발자가 Win32 애플리케이션에서 구현하는 데 상당한 노력이 필요했던 여러 앱 수명 주기 기능을 지원한다. 이러한 기능에는 전원 관리 알림, 리치 활성화, 다중 인스턴스 및 프로그래밍 방식 앱 다시 시작이 포함된다.[16]
알림
[편집]푸시 알림에 대한 지원은 처음에는 제한된 액세스인 미리 보기 기능으로 구현되었다.[17] 그러나 이후 API가 안정화되어 앱 사용자에게 푸시 알림을 전달할 수 있다. 공식 문서에는 마이크로소프트의 재량에 따라 이 기능에 대한 액세스가 취소될 수 있다고 명시되어 있다.[17][18] 또한 이제 앱은 XML 페이로드를 생성할 필요 없이 로컬 앱 알림을 쉽게 표시할 수 있다.[19]
위젯
[편집]윈도우 11의 윈도우 위젯 시스템과의 타사 통합이 안정 릴리스 채널의 일부로 포함되었다.[20] 개발자는 적응형 카드[21]를 사용하여 앱에 대한 맞춤형 위젯을 디자인하고 위젯 보드에 표시할 수 있다.[22]
같이 보기
[편집]- DWriteCore
- 우노 플랫폼
- 윈도우 드라이버 키트 (WDK)
각주
[편집]- ↑ “Release 1.6-experimental2”. 2024년 7월 2일. 2024년 7월 2일에 확인함.
- ↑ Ramel, David (2021년 6월 24일). “Windows 11 Development: Open Ecosystem Store, Project Reunion Rebrand and More”. 《Visual Studio Magazine》. 2021년 10월 11일에 확인함.
- ↑ 가 나 다 라 《Windows App SDK - Calling all Windows developers!》, Microsoft, 2023년 5월 25일, 2023년 5월 26일에 확인함
- ↑ “Microsoft.WindowsAppSDK 1.4.230822000”. 《nuget.org》 (영어). 2023년 9월 11일에 확인함.
- ↑ Karl-Bridge-Microsoft (2023년 3월 13일). “Windows UI Library (WinUI) - Windows apps”. 《learn.microsoft.com》 (미국 영어). 2023년 5월 26일에 확인함.
- ↑ “Release v1.3.0 · microsoft/WindowsAppSDK”. 《GitHub》 (영어). 2023년 5월 26일에 확인함.
- ↑ “Discussion #370: Announcement: Proposed approach for windowing in Project Reunion”. 《GitHub》. 2022년 4월 19일에 확인함.
- ↑ Blog, Microsoft Edge; Team, Microsoft Edge (2020년 10월 19일). “Announcing Microsoft Edge WebView2 General Availability”. 《Microsoft Edge Blog》 (미국 영어). 2023년 5월 26일에 확인함.
- ↑ “New Microsoft Edge to replace Microsoft Edge Legacy with April’s Windows 10 Update Tuesday release”. 《TECHCOMMUNITY.MICROSOFT.COM》 (영어). 2021년 2월 10일. 2023년 5월 26일에 확인함.
- ↑ dianmsft (2021년 12월 30일). “What is MSIX? - MSIX”. 《learn.microsoft.com》 (미국 영어). 2023년 5월 26일에 확인함.
- ↑ stevewhims (2023년 3월 3일). “MSIX framework packages and dynamic dependencies - Windows apps”. 《learn.microsoft.com》 (미국 영어). 2023년 5월 26일에 확인함.
- ↑ stevewhims (2023년 4월 19일). “Use the Windows App SDK runtime for apps packaged with external location or unpackaged - Windows apps”. 《learn.microsoft.com》 (미국 영어). 2023년 5월 26일에 확인함.
- ↑ stevewhims (2022년 2월 24일). “DWriteCore (Windows App SDK) - Windows apps”. 《learn.microsoft.com》 (미국 영어). 2023년 5월 26일에 확인함.
- ↑ stevewhims (2023년 5월 25일). “Win2D - Windows apps”. 《learn.microsoft.com》 (미국 영어). 2023년 5월 26일에 확인함.
- ↑ hickeys (2023년 3월 13일). “Manage resources MRT Core (Windows App SDK) - Windows apps”. 《learn.microsoft.com》 (미국 영어). 2023년 5월 26일에 확인함.
- ↑ hickeys (2023년 1월 31일). “App lifecycle and system services - Windows apps”. 《learn.microsoft.com》 (미국 영어). 2023년 5월 26일에 확인함.
- ↑ 가 나 hickeys (2023년 3월 16일). “Push notifications overview - Windows apps”. 《learn.microsoft.com》 (미국 영어). 2023년 5월 26일에 확인함.
- ↑ hickeys (2022년 6월 3일). “Notifications design basics - Windows apps”. 《learn.microsoft.com》 (미국 영어). 2023년 5월 26일에 확인함.
- ↑ vaheeshta (2022년 7월 12일). “App notifications overview - Windows apps”. 《learn.microsoft.com》 (미국 영어). 2023년 5월 26일에 확인함.
- ↑ drewbatgit (2023년 3월 9일). “Widget providers - Windows apps”. 《learn.microsoft.com》 (미국 영어). 2023년 5월 26일에 확인함.
- ↑ drewbatgit (2022년 11월 10일). “Create a widget template with the Adaptive Cards Designer - Windows apps”. 《learn.microsoft.com》 (미국 영어). 2023년 5월 26일에 확인함.
- ↑ drewbatgit (2023년 3월 9일). “Windows Widgets - Windows apps”. 《learn.microsoft.com》 (미국 영어). 2023년 5월 26일에 확인함.
외부 링크
[편집]- 윈도우 앱 SDK
- 공식 웹사이트
- (영어) WindowsAppSDK - 깃허브
- (영어) WindowsAppSDK-Samples - 깃허브