Windows 앱 SDK는 Windows 앱 개발 플랫폼의 다음 진화를 나타내는 새로운 개발자 구성 요소 및 도구 집합입니다. Windows 앱 SDK는 Windows 11과 Windows 10 버전 1809 이상의 모든 데스크톱 앱에서 일관되게 사용할 수 있는 통합된 API 및 도구 집합을 제공합니다.
Windows 앱 SDK는 Windows SDK 또는 .NET(Windows Forms 및 WPF 포함) 및 데스크톱 Win32와 같은 기존 데스크톱 Windows 앱 유형을 C++로 대체하지 않습니다. 대신 Windows 앱 SDK는 개발자가 이러한 플랫폼에서 사용할 수 있는 공통 API 집합을 사용하여 기존 도구 및 앱 유형을 보완합니다. 자세한 내용은 Windows 앱 SDK 혜택을 참조하세요.
중요합니다
UWP 앱에서 작업하는 경우 UWP에서 Windows 앱 SDK 마이그레이션을 참조하세요.
Windows 앱 SDK 시작
Windows 앱 SDK는 새 프로젝트에서 Windows 앱 SDK 구성 요소를 사용하도록 구성된 프로젝트 템플릿을 포함하는 Visual Studio 2022용 확장을 제공합니다. Windows 앱 SDK 라이브러리는 기존 프로젝트에 설치할 수 있는 NuGet 패키지를 통해서도 사용할 수 있습니다.
필요한 워크로드 및 구성 요소를 포함하여 새 Windows 앱 SDK 프로젝트를 만들기 위해 Visual Studio를 구성하는 방법에 대한 자세한 내용은 WinUI 시작을 참조하세요.
필요한 개발자 도구를 이미 설치한 경우 첫 번째 WinUI 3 프로젝트를 만들 준비가 된 것입니다. 기존 프로젝트에서 Windows 앱 SDK를
특정 Windows 앱 SDK 버전에 대한 지침은 릴리스 채널 및다운로드를 참조하세요.
Windows 앱 SDK 기능
다음 표에서는 Windows 앱 SDK의 현재 릴리스에서 제공하는 개발 기능을 강조 표시합니다. Windows 앱 SDK의 릴리스 채널별로 제공되는 각 기능에 대한 자세한 내용은 릴리스 채널에서 확인하세요.
특징 | 설명 |
---|---|
WinUI 3 | C# 및 .NET을 사용하는 관리되는 앱과 Win32 API와 함께 C++를 사용하는 네이티브 앱을 포함하여 Windows 데스크톱 앱용 프리미어 네이티브 UI(사용자 인터페이스) 프레임워크입니다. WinUI 3은 최신 UI(사용자 인터페이스) 패턴을 사용하여 일관되고 직관적이며 액세스할 수 있는 환경을 제공합니다. |
DWriteCore 사용하여 텍스트 렌더링 | 디바이스 독립적 텍스트 레이아웃 시스템, 고품질의 서브 픽셀 Microsoft ClearType 텍스트 렌더링, 하드웨어 가속 텍스트, 다중 서식 텍스트, 폭넓은 언어 지원 등을 사용하여 텍스트를 렌더링합니다. |
MRT Core를 사용한 리소스 관리 | 앱 논리와 독립적으로 여러 언어, 크기 조정 및 대비 변형의 문자열 및 이미지와 같은 앱 리소스를 관리합니다. |
앱 수명 주기: 앱 인스턴싱 | 앱 프로세스의 여러 인스턴스를 동시에 실행할 수 있는지 여부를 제어합니다. |
앱 수명 주기: 다양한 활성화 | 앱의 다양한 활성화 유형에 대한 정보를 처리합니다. |
앱 수명 주기: 전원 관리 | 앱이 디바이스의 전원 상태에 미치는 영향을 파악하고 앱이 리소스 사용에 대한 지능적인 결정을 내릴 수 있도록 합니다. |
앱 창 관리하기 | 앱과 연결된 창을 만들고 관리합니다. |
푸시 알림 | Azure 앱 등록 ID를 사용하여 클라우드에서 원시 알림 및 앱 알림을 앱에 보냅니다. |
앱 알림 | 로컬로 앱에 앱 알림을 보냅니다. |
배포 | 패키지되지 않은 앱과 패키지된 앱에 Windows 앱 SDK 런타임 배포 |
Windows 앱 SDK 릴리스 채널
다음 표에서는 다양한 릴리스 채널에 대한 개요를 제공합니다.
릴리스 채널 | 설명 |
---|---|
안정 | 이 채널은 프로덕션 환경의 앱에서 사용할 수 있습니다. 안정적인 API만 포함됩니다. 기본적으로 Windows 앱 SDK 문서는 안정적인 채널에 초점을 맞춥니다. |
미리 보기 | 이 채널은 안정적인 다음 릴리스의 미리 보기를 제공합니다. 지정된 미리 보기 채널 릴리스와 다음 안정적인 릴리스 사이의 API에는 중대한 변경이 있을 수 있습니다. 미리 보기 릴리스 사용에 대한 설명서는 Windows 앱 SDK의 미리 보기 및 실험 채널용 설치 도구를 참조하세요. |
실험적 | 이 채널에는 개발 초기 단계에 있는 실험적 기능이 포함되어 있습니다. 실험적 기능은 다음 릴리스에서 제거되거나 릴리스되지 않을 수 있습니다. 실험적 릴리스 사용에 대한 설명서는 Windows 앱 SDK의 미리 보기 및 실험 채널용 설치 도구를 참조하세요. |
Windows 앱 SDK의 릴리스 채널에 대한 자세한 내용은 Windows 앱 SDK 릴리스 채널을 참조하세요.
Windows 개발자를 위한 Windows 앱 SDK의 이점
Windows 앱 SDK는 OS에서 분리되고 NuGet 패키지를 통해 개발자에게 릴리스되는 구현이 포함된 광범위한 Windows API 집합을 제공합니다. Windows 앱 SDK는 Windows SDK를 대체하지 않습니다. Windows SDK는 그대로 계속 작동하며, OS 및 Windows SDK 릴리스를 통해 제공되는 API를 통해 계속 발전할 Windows의 많은 핵심 구성 요소가 있습니다. 개발자는 자신의 속도로 Windows 앱 SDK를 채택하는 것이 좋습니다.
데스크톱 앱 플랫폼의 통합 API 표면
데스크톱 Windows 앱을 만들려는 개발자는 여러 앱 플랫폼과 프레임워크 중에서 선택해야 합니다. 각 플랫폼은 다른 플랫폼을 사용하여 빌드된 앱에서 사용할 수 있는 많은 기능과 API를 제공하지만 일부 기능 및 API는 특정 플랫폼에서만 사용할 수 있습니다. Windows 앱 SDK는 데스크톱 Windows 11 및 Windows 10 앱용 Windows API에 대한 액세스를 통합합니다. 어떤 앱 모델을 선택하든 Windows 앱 SDK에서 사용할 수 있는 동일한 Windows API 집합에 액세스할 수 있습니다.
시간이 지남에 따라 다양한 앱 모델 간에 더 많은 차이점을 제거하는 Windows 앱 SDK에 추가로 투자할 계획입니다. 예를 들어 앱은 WinUI 데스크톱 모델을 사용하거나, XAML Islands 모델을 사용하거나, WPF를 사용하거나, 컴포지션 아일랜드 또는 Windows App SDK의 다른 측면을 사용하는 XAML을 사용하지 않는 앱일 수 있습니다. 이러한 경우에서 Windows 앱 SDK의 Windows API에 대한 액세스를 동일한 쉬운 환경으로 만드는 것을 목표로 합니다. Windows 앱 SDK에는 WinRT API와 네이티브 C API가 모두 포함됩니다.
Windows 버전 간 일관된 환경
Windows API가 새로운 OS 버전과 함께 계속 발전함에 따라 개발자는 버전 적응 코드 와 같은 기술을 사용하여 애플리케이션 대상에 도달하기 위해 버전의 모든 차이점을 고려해야 합니다. 이렇게 하면 코드 및 개발 환경이 복잡해질 수 있습니다.
Windows 앱 SDK API는 Windows 11에서 작동하며, Windows 10 버전 1809까지 하위 호환성을 갖습니다. 즉, 고객이 Windows 10, 버전 1809 또는 이후 버전의 Windows에 있는 한 버전 적응 코드를 작성하지 않고도 릴리스되는 즉시 새 Windows 앱 SDK API 및 기능을 사용할 수 있습니다.
빠른 배포 주기
새 Windows API 및 기능은 일반적으로 약 1년마다 릴리스되는 주요 Windows OS 업데이트 내에 제공됩니다(종종 덜 자주). Windows 앱 SDK는 약 6개월마다 한 번씩 새로운 릴리스를 제공합니다. 이 릴리스 주기를 통해 Windows 개발 플랫폼의 최신 혁신에 지속적으로 액세스할 수 있습니다.
피드백 제공 및 기여
Windows 앱 SDK를 오픈 소스 프로젝트로 빌드하고 있습니다. 저희의 Github 페이지에는 Windows 앱 SDK를 구축하는 방법과 개발 프로세스에 참여할 수 있는 방법에 대한 훨씬 더 많은 정보가 있습니다. 참가자 가이드를 확인하여 질문을 하거나, 토론을 시작하거나, 기능 제안을 합니다. Windows 앱 SDK가 사용자와 같은 개발자에게 가장 큰 이점을 제공하는지 확인하려고 합니다.
관련 항목
Windows developer