사용자 인터페이스 및 입력
이 문서에서는 현재 Microsoft에서 유지 관리되는 Windows UI 프레임워크의 개요를 제공하고 해당 기능을 비교합니다.
Microsoft는 UI 프레임워크와 앱 플랫폼을 모두 생산합니다. 앱 플랫폼에는 일반적으로 UI 프레임워크가 포함되지만 UI 프레임워크는 독립 실행형(앱 플랫폼과 함께 제공되지 않음) 또는 여러 앱 플랫폼과 함께 사용할 수 있습니다(앱 플랫폼 선택 참조).
여기서 설명하는 프레임워크에는 Windows 앱 SDK(WinUI 3) 및 UWP(WinUI 2)에 대한 WinUI, 그리고 WPF(Windows Presentation Foundation) 및 WinForms(Windows Forms)가 포함됩니다.
사용자 인터페이스 기본 사항
최신 Windows 앱을 빌드할 때 선택할 수 있는 UI 프레임워크가 있습니다. UI 프레임워크는 기본 제공 컨트롤, 스타일, 애니메이션, 입력 처리 등을 앱에 제공합니다.
Windows 앱용 사용자 인터페이스를 만드는 데 필요한 5가지 주요 구성 요소가 있습니다. 이러한 구성 요소는 일반적으로 각 UI 프레임워크에 기본 제공됩니다.
-
컨트롤은 콘텐츠를 표시하거나 상호 작용을 활성화하는 UI 요소입니다. 컨트롤은 사용자 인터페이스의 구성 요소입니다.
UWP, WinUI 2, WinUI 3에서 사용할 수 있는 Button 컨트롤의 예는 다음과 같습니다. 이 컨트롤을 앱에 배치하면 UI 프레임워크에서 제공하는 기본 디자인이 자동으로 수신됩니다.
스타일은 색, 입력 체계, 아이콘, Fluent 재질 등으로 구성되며, 앱 디자인 전체에서 사용하여 진정한 고유한 환경을 만들 수 있습니다.
WinUI 2 및 WinUI 3에서 사용할 수 있는 Acrylic이라는 스타일 구성 요소의 예는 다음과 같습니다. Acrylic은 앱 내의 화면이나 앱의 배경으로 사용할 수 있는 브러시입니다. 반투명 질감을 제공합니다.
-
최종 사용자는 다양한 방법을 통해 앱과 상호 작용하고 앱에 입력(예: 선택 또는 입력)을 제공할 수 있습니다. 입력의 몇 가지 예는 다음과 같습니다.
- 마우스
- 터치
- Gamepad
- 펜
- Keyboard
- Surface Dial
- 터치패드
- 음성
-
최종 사용자는 다양한 디바이스에서 Windows 앱에 액세스하며, UI 프레임워크는 특정 앱만 지원할 수 있습니다. 실행할 Windows 앱에 대한 몇 가지 일반적인 디바이스는 다음과 같습니다.
- PC(“데스크톱”이라고도 하지만 노트북도 포함)
- 태블릿
- HoloLens
- Xbox
- Surface Hub
-
기본 제공 애니메이션은 실제로 앱에 멋진 모양과 느낌을 제공하고 Windows 전체에서 타사 앱과 일관성을 제공할 수 있습니다.
UWP, WinUI 2, WinUI 3의 기본 제공 애니메이션 예제는 최종 사용자가 밝은 모드와 어두운 모드 사이를 전환할 때 발생하는 애니메이션입니다. 최종 사용자가 전체 PC에 대한 모드를 전환하면 앱의 UI가 전환 애니메이션과 함께 자동으로 업데이트됩니다.
-
모든 단일 사용자가 앱을 즐겁게 사용하도록 하려면 접근성을 고려해야 합니다.
UI 프레임워크는 의도적인 키보드 동작, 화면 판독기 지원 등을 통해 컨트롤 및 스타일에 대한 기본 접근성을 제공합니다. 또한 많은 사용자 지정 컨트롤에서 액세스 가능한 작업(예: 화면 판독기 조작)을 위한 API도 제공합니다.
UI frameworks
Microsoft에서 릴리스된 각 UI 프레임워크에는 고유한 기능이 있고, 다양한 디자인 언어를 따르며, 최종 사용자에게 다양한 환경을 제공합니다. 이 섹션에서는 앱 빌드를 시작할 때 선택할 모든 주요 UI 프레임워크를 비교합니다.
아래 표에서는 이러한 UI 프레임워크 간의 몇 가지 주요 기능에 대한 간략한 요약을 보여 줍니다. 각 프레임워크에 대한 자세한 내용은 아래 탭을 탐색하여 확인합니다.
기능 | Windows 앱 SDK (WinUI 3) | UWP용 WinUI 2 | WPF | WinForms |
---|---|---|---|---|
지원되는 언어 | C#/.NET 6 이상, C++/WinRT | C#/.NET Native, C++/WinRT, C++/CX, VB | C#/.NET 6 이상 및 .NET Framework, C++/CLI(Managed Extensions for C++), F#, VB | C#/.NET 6 이상 및 .NET Framework, C++/CLI(Managed Extensions for C++), F#, VB |
지원되는 장치 | PC(노트북 및 태블릿 포함), 곧 출시될 모든 Windows 10 디바이스 지원 | 모든 Windows 10 디바이스(PC, 태블릿, HoloLens, Xbox, Surface Dial 등) | 데스크톱 PC 및 노트북 | 데스크톱 PC 및 노트북 |
지원되는 입력 | 지원되는 모든 Windows 10 입력 | 지원되는 모든 Windows 10 입력 | 마우스 및 키보드 | 마우스 및 키보드 |
지원되는 Windows OS 버전 | Windows 10, 버전 1809 이상 | Windows 10, 버전 1703 이상 | Windows XP 이상 | Windows XP 이상 |
WebView 지원 | Chromium 기반 WebView2 | 비 chromium WebView | WebView2 지원 예정 | WebView2 지원 예정 |
오픈 소스 | 서비스 예정 | 예 | 네 (.NET 6 이상만 해당) | 네 (.NET 6 이상만 해당) |
이러한 각 UI 프레임워크에 대한 자세한 내용은 다음 탭의 정보를 참조하세요.
Windows 앱 SDK (WinUI 3)
대부분의 새 Windows 앱의 경우 WinUI 3(Windows 앱 SDK)을 사용하여 WinUI를 사용하여 사용자 인터페이스를 빌드하는 것이 좋습니다. WinUI 3는 최신 UI(사용자 인터페이스) 패턴을 사용하여 일관되고 직관적이며 액세스 가능한 경험을 제공합니다.
WinUI 3은 Windows OS에서 완전히 분리되며 Windows 앱 개발 플랫폼의 다음 진화를 나타내는 도구 및 구성 요소 집합인 Windows App SDK의 일부로 제공합니다.
WinUI 3은 WinUI의 최신 세대입니다. WinUI 2 및 3은 동일한 컨트롤, 스타일 및 기타 UI 기본 사항을 많이 공유합니다(WinUI 2 및 WinUI 3 비교 참조).
WinUI 3에서 사용하도록 설정된 주요 앱 시나리오
- 다양한 최신 입력을 사용하여 다양한 최신 디바이스에서 실행해야 하는 최신 Windows 앱
- C++로 작성된 데스크톱/Win32 앱
- DirectX 및 Win2D를 활용하려는 그래픽이 많은 앱 또는 게임
- 고성능이 필요한 통합 웹 콘텐츠가 많은 앱
- Windows OS 및 기타 타사 Windows 앱에서 “적합한” 환경을 제공하려는 앱
WinUI 3에 대한 유용한 설명서
- 개요: WinUI 3
- 시작: 첫 번째 WinUI 3 프로젝트 만들기
- XAML 작성: XAML 플랫폼
- API 참조: WinUI API 참조
- 컨트롤: 컨트롤 개요
- 입력: 입력 및 상호 작용
- 동작: Windows 앱의 동작
- 접근성: Windows 앱의 유용성
- 예제: WinUI 3 Gallery 앱
Windows developer