이 문서는 Windows 개발 환경 및 제품 방향에 대한 일반적인 이해를 돕기 위해 작성되었습니다.
오늘날의 Windows 앱 개발 환경은 선택할 수 있는 다양한 프레임워크와 기술을 제공합니다. 이 FAQ는 Windows 앱 개발 프로젝트에 사용할 프레임워크를 결정하는 방법에 대한 지침을 제공합니다. 다음 항목에 대해 설명합니다.
- 시작 및 Windows 앱 개발 환경
- WinUI, WPF(Windows Presentation Foundation) 및 WinForms(Windows Forms)를 사용한 네이티브 Windows 전용 앱 개발.
- Windows SDK(소프트웨어 개발 키트) 및 Windows 앱 SDK.
- 플랫폼 간 개발 전략의 일환으로 Windows를 대상으로 지정합니다.
- .NET MAUI, Blazor 및 ASP.NET Core를 사용한 하이브리드 및 웹앱 개발
- Microsoft의 투자를 이해하면서 접근 방식을 선택하는 방법
Windows 앱 개발 환경
Windows 개발 기술에 대한 간단한 개요는 어디에서 찾을 수 있나요?
앱 개발 옵션 개요를 참조하세요.
클라우드 서비스 시대에 최신 디지털 변환에 클라이언트 앱 개발이 여전히 중요한 이유는 무엇인가요?
클라우드 서비스 시대에 클라이언트 앱 개발은 최신 디지털 변환의 중요한 구성 요소로 남아 있습니다. 개발자에게 클라이언트 애플리케이션 빌드는 도달 범위뿐만 아니라 사용자 디바이스에서 반응형 의미 있는 상호 작용을 제공하는 데 필수적입니다.
클라이언트 앱이 여전히 중요한 이유는 다음과 같습니다.
- 디바이스 도달률: 전 세계적으로 15억 개 이상의 Windows 디바이스와 50억 개 이상의 Android 및 iOS 디바이스를 사용하여 클라이언트 앱을 통해 사용자가 선택한 디바이스에서 사용자에게 애플리케이션을 직접 가져올 수 있습니다.
- Gateway to Intelligent Services: 클라이언트 앱은 종종 사용자가 서비스와의 첫 번째 상호 작용입니다. 지능형 기능을 소개하고 제품을 다른 사용자와 차별화할 수 있는 풍부한 대화형 인터페이스를 제공합니다.
- 클라우드 통합을 사용한 확장성 : 잘 통합된 클라이언트 앱은 백 엔드 클라우드 서비스와 손쉽게 동기화할 수 있으므로 사용자 기반이 증가함에 따라 실시간 데이터 액세스 및 원활한 확장성을 사용할 수 있습니다.
- 향상된 생산성 및 사용자 충성도: 신중하게 디자인된 앱은 생산성을 향상시키고 사용자가 시간이 지남에 따라 제품 또는 서비스에 계속 참여할 수 있습니다.
네이티브 Windows 전용 앱 개발
Windows 앱 SDK란?
Windows 앱 SDK는 이전 버전(Windows 10 1809까지)과 호환되는 아름다운 최신 데스크톱 앱을 만들 수 있는 Windows 애플리케이션 개발 플랫폼입니다. WinUI 3은 Windows 앱 SDK와 함께 제공되는 UI 프레임워크입니다.
Windows 앱 SDK와 Windows SDK의 차이점은 무엇인가요?
둘 다 Windows 앱을 빌드할 수 있는 SDK(소프트웨어 개발 키트)입니다.
Windows 앱 SDK는 Windows 버전(Windows 10 1809까지)에 설치할 수 있는 최신 데스크톱 앱을 빌드할 수 있는 새로운 개발 플랫폼입니다. Windows 앱 SDK를 사용하여 앱을 빌드하면 최신 Windows 개발 플랫폼 기능에 액세스할 수 있습니다. Windows 앱 SDK에는 WinUI 3이 포함됩니다.
Windows SDK는 UWP 앱 및 Win32/데스크톱 앱을 빌드할 수 있는 개발 플랫폼입니다. 특정 버전의 OS에 결합된 Windows API를 중심으로 설계되었습니다.
Windows 앱 SDK는 Windows SDK를 대체하지 않습니다. 대신 Windows 앱 SDK는 Windows SDK를 보완합니다. Windows SDK를 사용하여 이미 액세스할 수 있는 Windows OS API의 풍부한 카탈로그를 중심으로 편리하고 OS 분리된 추상화를 제공합니다. Windows 앱 SDK를 사용하여 앱을 빌드할 때 필요한 기능에 따라 결국 Windows SDK API를 사용하게 될 수 있습니다. 시간이 지나면 점점 더 많은 Windows SDK 기능이 Windows 앱 SDK에 리프트될 것입니다.
Windows 전용 앱을 개발하기 위해 새 팀을 구성하고 있습니다. WinUI, WPF 또는 WinForms와 같은 네이티브 Windows 프레임워크를 사용하여 개발하도록 선택해야 하는 이유는 무엇인가요?
Windows 전용 앱에 대한 네이티브 Windows 프레임워크를 선택하는 몇 가지 이유는 다음과 같습니다.
- 성능: 네이티브 Windows 프레임워크는 오늘날의 Windows 하드웨어의 모든 기능을 활용하고 빠르고 응답성이 뛰어난 사용자 환경을 제공하도록 최적화되어 있습니다.
- 통합: Windows는 다양한 종류의 API를 제공하여 Windows에서만 사용할 수 있는 정교한 환경을 빌드합니다. 네이티브 프레임워크는 이러한 기능 및 API와 긴밀한 통합을 제공합니다.
- 네이티브 사용자 환경: 네이티브 Windows 프레임워크는 Windows 장치에서 일관된 사용자 환경을 제공하여 앱이 모든 Windows 디바이스에서 잘 보이고 작동하도록 합니다.
- 오프라인 지원 : 네이티브 Windows 프레임워크는 오프라인 시나리오를 지원하므로 사용자가 인터넷에 연결되어 있지 않은 경우에도 앱이 작동할 수 있습니다.
- 수익 창출: 네이티브 Windows 프레임워크는 Microsoft에서 적극적으로 유지 관리 및 지원되므로 최신 업데이트 및 기능에 액세스할 수 있습니다.
Windows 앱 개발에 대한 Microsoft의 최신 투자를 활용하는 데 사용해야 하는 프레임워크는 무엇입니까?
새 Windows 전용 앱을 빌드하는 경우 WinUI를 사용하는 것이 좋습니다. WinUI는 Windows 앱 개발을 위한 최신 네이티브 UI 프레임워크이며 다양한 Windows 디바이스에서 작동하도록 설계되었습니다. WinUI는 시각적으로 매력적이고 대화형 Windows 앱을 만들 수 있는 최신의 유연한 UI 프레임워크를 제공합니다. WinUI는 Windows 앱 SDK의 일부이며 최신 버전의 Windows에서 가장 잘 작동하도록 설계되었습니다.
기존 Windows 앱에서 Windows 앱 SDK/WinUI를 사용할 수 있나요?
WinUI(UI 프레임워크)는 Windows 앱 SDK(Windows 플랫폼 개발 프레임워크)와 함께 제공됩니다.
일반적으로 UI 프레임워크를 완전히 마이그레이션할 준비가 되지 않으면 WinUI를 사용할 수 없습니다. 다른 UI 프레임워크(WPF, Win32)에서 WinUI 콘텐츠를 호스트할 수 있는 XAML 아일랜드 기능으로 작업 중입니다.
기존 앱이 빌드된 방식에 따라 모든 데스크톱 앱에서 Windows 앱 SDK의 요소를 사용할 수 있어야 합니다. UWP 앱은 Windows 앱 SDK에서 지원되지 않습니다.
즉, WPF/MFC/WinForms 앱은 WinUI와 관련이 없는 Windows 앱 SDK API를 사용할 수 있습니다. 이러한 API의 예로는 앱 수명 주기, 창 및 알림 메시지가 있습니다.
자세한 내용은 기존 프로젝트 Windows 앱 SDK 사용을 참조하세요.
Visual Studio를 사용하여 WinUI 앱을 빌드해야 하나요?
WinUI 앱을 개발하려면 Visual Studio 2022 버전 17.10 이상을 사용하는 것이 좋습니다. 최신 버전의 Visual Studio를 사용하면 핫 다시 로드와 같은 풍부한 개발 기능을 사용할 수 있습니다. 최신 Visual Studio 설치 관리자에는 Windows 애플리케이션 개발 워크로드가 포함되어 있으므로 WinUI 개발을 쉽게 시작할 수 있습니다.
다른 IDE 및 개발 워크플로를 사용할 수 있지만 Visual Studio 현재 WinUI에 대해 공식적으로 지원되는 유일한 IDE입니다. XAML 또는 WinUI를 사용하는 프로젝트를 컴파일하려면 MSBuild 필요합니다.
Windows 앱 SDK 및 WinUI 3을 사용하여 앱을 빌드할 때 "WinUI 앱"을 빌드하고 있나요?
예 - "WinUI 앱"은 사용하는 것이 좋습니다. WinUI 2는 앱 유형이 아니라 UWP 앱에서 사용할 수 있는 구성 요소 집합이므로 WinUI 3 앱은 일반적으로 "WinUI 앱"이라고 합니다.
WinUI 2 구성 요소를 WinUI 3 구성 요소로 점진적으로 대체하여 WinUI 2 컨트롤로 UWP 앱을 WinUI 3으로 증분 업데이트할 수 있나요?
아니요 Windows 앱 SDK는 UWP 앱에서 사용할 수 없고, WinUI 2는 WinUI 3과 혼합할 수 없습니다. UWP에서 Windows 앱 SDK로 마이그레이션을 참조하세요.
UWP 앱을 WinUI로 마이그레이션하는 것이 얼마나 어려운가요?
UI 구성 요소 마이그레이션은 일반적으로 간단합니다(C# 및 C++/WinRT의 경우). 그렇지 않으면 UWP에서 WinUI로 마이그레이션하는 비용은 주로 다음 요인에 따라 달라집니다.
- 프로젝트 파일 및 MSBuild 사용자 지정: 프로젝트를 마이그레이션하려면 고급 MSBuild 기능을 사용했는지 여부에 따라 상당한 수고가 필요할 수 있습니다.
- .NET API 마이그레이션: UWP 앱이 .NET을 사용하는 경우 .NET 6나 그 이후 버전으로 업그레이드해야 합니다. 대부분의 경우 .NET 6 채택은 간단합니다.
- UI 구성 요소 라이브러리: UI 구성 요소 라이브러리를 사용하는 경우 WinUI 3을 대상으로 하는 새 버전이 필요합니다.
- UWP 소스 코드가 현재 대체된 C++/CX로 작성된 경우 일부 소스 코드 포팅이 관련됩니다. C++/CX에서 C++/WinRT로 이동을 참조하세요.
UWP 마이그레이션에 대한 자세한 내용은 UWP에서 Windows 앱 SDK로 마이그레이션을 참조하세요.
스토어에 기존 UWP 앱이 있는 경우 동일한 식별자를 사용하여 패키지된 새 WinUI 앱을 게시할 수 있나요?
예, 업그레이드된 앱은 애플리케이션의 ID를 업데이트하지 않고 게시할 수 있습니다. 이전 버전을 사용하는 사용자는 새 버전으로 업데이트됩니다. 이 지침은 데스크톱 앱에만 적용됩니다. Xbox, HoloLens 및 Surface Hub 앱은 WinUI로 마이그레이션할 수 없습니다.
WinUI 앱을 패키지/배포하려면 어떻게 해야 하나요?
배포 개요를 참조하세요.
Windows 앱 SDK 마이그레이션 지침은 어디서 찾을 수 있나요?
UWP에서 Windows 앱 SDK로 마이그레이션을 참조하세요.
WinUI를 사용하려면 XAML 태그를 사용해야 하나요?
아니요 코드에서 UI 컨트롤을 만들 수 있습니다. 그러나 향상된 개발자 환경과 같이 선언적 XAML 태그 형식으로 WinUI 사용자 인터페이스를 나타내는 데는 많은 이점이 있습니다.
UWP에서 WinUI로 마이그레이션하는 경우 XAML 태그 및 UI 관련 코드를 많이 다시 사용할 수 있습니다(하지만 일부 구문을 업데이트해야 합니다). WPF에서 WinUI로 마이그레이션하는 경우 많은 개념을 다시 사용할 수 있지만 컨트롤 집합과 API는 다릅니다.
Visual Studio에 WinUI용 디자인 화면/UI 디자이너가 있나요?
아직 아니에요. WinUI 개발자 환경의 차이임을 알고 있습니다. XAML 핫 다시 로드와 같은 도구는 여러 시나리오에서 도움이 될 수 있습니다. Work는 Windows 앱 SDK 1.7의 WinUI용 Visual Studio UI 디자이너에서 시작했지만 이 기능의 릴리스 일정은 아직 없습니다.
Windows 앱 SDK에 WinUI 3이 포함되나요?
있음. WinUI 3은 Windows 앱 SDK의 일부로 제공됩니다.
Windows 앱 SDK에 WinUI 2가 포함되나요?
아니요 WinUI 2는 UWP 플랫폼의 일부입니다.
WinUI 2와 WinUI 3은 동일한 기술을 기반으로 하나요?
그렇지 않습니다. WinUI 3은 WinUI 2 코드베이스에서 시작되었지만, 둘은 뚜렷이 구별되는 기술입니다. WinUI 2와 WinUI 3은 둘 다 .NET 및 C++에서 작동하는 XAML 기반 UI 프레임워크입니다. WinUI 2와 WinUI 3은 서로 호환되지 않습니다.
Windows 앱 SDK를 사용하지 않고 WinUI 3을 사용할 수 있나요?
아니요 WinUI 3은 Windows 앱 SDK의 일부로 제공됩니다.
패키지되지 않은 앱에서 WinUI 3를 사용할 수 있나요?
있음. Windows 앱 SDK의 모든 기술은 WinUI 3을 포함한 비 패키지 앱에서 작동합니다.
XAML Islands와 WinUI 3의 차이점은 무엇인가요?
XAML Islands를 사용하면 WinForms 및 WPF와 같은 다른 프레임워크의 기존 Win32 UI와 함께 최신 WinUI 컨트롤을 호스트할 수 있습니다. 현재 XAML Islands는 대부분의 시스템 XAML 및 WinUI 2 컨트롤에서 지원됩니다. 자세한 정보는 데스크톱 앱에서 WinRT XAML 컨트롤 호스트(XAML Islands)를 참조하세요. WinUI 3 컨트롤에 대한 XAML Islands 지원은 Windows 앱 SDK 1.4부터 사용할 수 있습니다.
WinUI 앱을 만드는 경우 Windows 11 및 Windows 10 모두에서 최신으로 표시될까요?
예, 앱의 UI는 패키지 및 비 패키지 시나리오에서 지원되는 모든 Windows 11 및 Windows 10 버전(1809까지)의 최신 Fluent UI 디자인 원칙을 상속합니다.
Windows 앱 SDK로 빌드 된 앱에서 Mica 또는 아크릴 배경을 사용할 수 있나요?
있음. Windows 11용 데스크톱 앱에서 Mica 또는 Acrylic 자료 적용을 참조하십시오.
WinUI 샘플은 어디에서 찾을 수 있나요?
샘플 및 리소스를 참조하십시오. 주목할 만한 리포지토리:
- WindowsAppSDK 샘플: 특정 Windows 앱 SDK API 세트를 사용하는 방법을 보여줍니다.
- WinUI 3 데모: Microsoft의 WinUI 프레젠테이션 중에 사용되는 데모를 포함합니다.
- WinUI 갤러리: WinUI 및 Windows 앱 SDK를 소개합니다. Microsoft Store에서 WinUI 갤러리를 가져올 수도 있습니다.
WPF에 이미 많은 투자를 한 경우 WPF를 계속 사용해야 하나요? 아니면 WinUI로 마이그레이션하는 것을 고려해야 하나요?
WPF에 이미 많은 투자를 한 경우 기존 앱에 WPF를 계속 사용할 수 있습니다. WPF는 개발자가 Windows 데스크톱 앱을 빌드하는 데 널리 사용되는 성숙하고 안정적인 프레임워크입니다.
.NET 업그레이드 도우미
새 WPF 앱을 빌드하는 경우 다른 새 Windows 앱과 비교하여 날짜가 지정되었나요?
.NET 9 이상을 사용하여 WPF 애플리케이션을 개발할 때 앱이 Windows 11의 세련되고 현대적인 모양과 일치하는지 확인할 수 있습니다. WPF용 새로운 Fluent 테마는 WPF 애플리케이션에 현대적인 Windows 11 미학을 도입했으며, 통합 조명/어둡게 모드와 시스템 테마 컬러 지원을 제공합니다. 이 업데이트는 앱의 모양을 현대화할 뿐만 아니라 세련되고 응집력 있는 사용자 환경을 제공하여 사용자 참여를 향상시킵니다.
우리 팀은 WinForms 앱을 쉽게 빌드할 수 있으며 요구 사항에 적합합니다. WinUI 또는 다른 프레임워크로 마이그레이션하는 것을 고려해야 하나요?
팀이 WinForms 앱을 빌드하는 것이 편하고 WindForms가 요구 사항을 충족하는 경우 기존 앱에 WinForms를 계속 사용할 수 있습니다. WinForms는 개발자가 Windows 데스크톱 앱을 빌드하는 데 널리 사용되는 성숙하고 안정적인 프레임워크입니다.
WinForms 팀은 기능 전반에 걸쳐 투자하고 있으며 참여자로 구성된 커뮤니티를 보유하고 있습니다. 현재 투자 영역은 다음과 같습니다.
- 공용 컨트롤을 사용하는 비동기 지원
- 어둡게 모드
- 레이아웃 유연성
- 클립보드 액세스와 같은 데스크톱 보안 기능
플랫폼 간 네이티브 개발
Windows를 대상으로 하는 플랫폼 간 네이티브 앱을 빌드하는 이유는 무엇인가요?
여러 OS 플랫폼에서 사용자를 대상으로 하는 경우 .NET MAUI 또는 React Native를 사용하여 플랫폼 간 앱을 빌드하면 다음과 같은 몇 가지 이점이 있습니다.
- 도달률: 플랫폼 간 앱을 빌드하면 다양한 플랫폼에서 더 많은 사용자에게 도달할 수 있습니다.
- 코드 재사용: 플랫폼 간 앱을 빌드하면 여러 플랫폼에서 코드를 다시 사용하여 개발 시간과 비용을 줄일 수 있습니다. Windows, iOS, Android, macOS 등에 대한 별도의 앱을 빌드하는 데 비용이 엄청나게 많이 들 수 있습니다.
- 일관된 사용자 환경: 플랫폼 간 앱을 빌드하면 다양한 플랫폼에서 일관된 사용자 환경을 제공하여 앱이 모든 디바이스에서 잘 보이고 작동하도록 할 수 있습니다.
- 통합: 플랫폼 간 앱을 빌드하면 다양한 플랫폼 및 서비스와 통합하여 보다 포괄적인 사용자 환경을 제공할 수 있습니다.
.NET MAUI 앱이 Windows에서 잘 실행될 것이라고 확신할 수 있나요?
Windows대한
.NET MAUI는 모든 플랫폼에서 네이티브 디바이스 API를 어떻게 제공할 수 있나요?
.NET MAUI는 Windows, iOS, Android 및 macOS를 비롯한 모든 플랫폼에서 단일 .NET 환경을 제공합니다. .NET MAUI는 60개가 넘는 플랫폼별 API를 .NET MAUI 앱에서 사용할 수 있는 단일 플랫폼 간 API로 추상화합니다. 이러한 API는 스토리지, 네트워킹, 디바이스별 센서 등에 대한 액세스를 다룹니다. 필요한 경우 종속성 주입을 사용하여 추가 플랫폼별 API에 액세스하여 각 플랫폼에 대한 코드를 추상화할 수도 있습니다.
WinUI로 시작하고, 결국 플랫폼 간 시나리오를 대상으로 지정하려는 경우 나중에 .NET MAUI를 통합할 수 있나요?
현재는 불가능합니다. .NET MAUI 앱은 Windows에서 실행할 때 WinUI를 사용하지만 여러 플랫폼을 대상으로 해야 할 필요가 있을 것으로 예상되는 경우 .NET MAUI 또는 React Native for Desktop부터 시작하는 것이 좋습니다.
우리 팀은 강력한 웹 프런트 엔드 개발 기술을 보유하고 있습니다. 데스크톱용 React Native 사용을 고려해야 하나요?
팀에 강력한 웹 개발 기술이 있는 경우 데스크톱용 React Native를 사용하는 것이 좋습니다. 데스크톱용 React Native는 Windows 및 macOS 프레임워크용 React Native를 포함합니다. React Native의 모토는 "한 번 학습, 어디서나 쓰기"입니다. 즉, 기존 웹 개발 기술을 사용하여 React Native를 사용하여 네이티브 Windows 앱을 빌드할 수 있습니다. React Native for Desktop React Native를 사용하여 네이티브 Windows 및 macOS 앱을 빌드할 수 있는 오픈 소스 프로젝트입니다. 데스크톱용 React Native는 React Native 앱에서 데스크톱 OS 관련 기능 및 기능에 액세스할 수 있는 API 집합을 제공합니다.
팀은 JavaScript, TypeScript 및 React 기술을 활용하여 네이티브 기본 형식으로 직접 렌더링되는 UI 계층을 빌드할 수 있습니다. 네이티브 앱 성능과 네이티브 플랫폼의 기능에 대한 액세스를 제공합니다.
React Native for Desktop 설명서Windows용 React Native 개발을 시작하는 방법에 대해 자세히 알아보세요.
다른 Windows 디바이스가 데스크톱용 React Native에서 지원되는가요?
React Native 앱은 PC, 태블릿, 2-in-1, Xbox 및 혼합 현실 디바이스를 포함하여 Windows 10 이상에서 지원하는 모든 디바이스에 배포할 수 있습니다.
Windows 및 Xbox에서 작동하는 앱을 빌드하려면 무엇을 사용해야 하나요?
앱에서 Xbox, HoloLens 또는 IoT를 지원해야 하는 경우 UWP를 사용하는 것이 좋습니다. Windows 앱 SDK는 이러한 플랫폼을 지원하지 않습니다. 게임 개발의 경우 Microsoft 게임 개발 키트를 사용하는 것이 좋습니다.
Windows 및 Surface Hub에서 작동하는 앱을 빌드하려면 무엇을 사용해야 하나요?
Windows 및 Surface Hub를 모두 대상으로 하는 경우 UWP를 사용하는 것이 좋습니다.
하이브리드 및 웹 개발
하이브리드 앱이란 무엇이며, 왜 빌드를 고려해야 하나요?
하이브리드 앱은 최상의 웹 및 네이티브 앱 개발을 혼합합니다. 앱의 핵심은 HTML, CSS 및 JavaScript와 같은 웹 기술을 사용하여 빌드된 다음, 앱이 특정 네이티브 플랫폼 기능 및 하드웨어를 활용할 수 있도록 하는 네이티브 컨테이너에 래핑됩니다. 앱 스토어를 통해 배포할 수도 있습니다.
하이브리드 앱의 주요 장점은 여러 네이티브 플랫폼과 웹에서 실행할 수 있는 단일 앱을 빌드하여 개발 시간과 비용을 줄일 수 있다는 것입니다. 하이브리드 앱 개발 플랫폼의 몇 가지 예는 다음과 같습니다.
- 데스크톱 앱용 Electron
- 모바일 앱용 Ionic
- 플랫폼 간 앱용 .NET MAUI Blazor 하이브리드
Windows에서 네이티브 느낌의 PWA(프로그레시브 웹앱)를 빌드하려면 어떻게 해야 하나요?
Windows에서 웹 개발 및 프로그레시브 Web Apps 개요를 참조하세요.
.NET MAUI Blazor 하이브리드 앱이란?
.NET MAUI를 사용하면 Blazor 앱은 Windows, iOS, Android 및 macOS에서도 기본적으로 실행할 수 있습니다. 즉, Blazor 및 .NET MAUI 구성 요소를 단일 네이티브 클라이언트 앱으로 결합하는 하이브리드 클라이언트 앱을 만들 수 있습니다. 이렇게 하면 다른 모든 .NET MAUI 앱에서 사용할 수 있는 동일한 네이티브 플랫폼 기능에 대한 모든 권한이 제공됩니다.
Blazor가 .NET MAUI 앱 내에서 호스팅되는 방법에 대한 자세한 내용은 ASP.NET Core Blazor 하이브리드참조하세요.
Blazor를 사용하여 .NET MAUI 하이브리드 앱의 웹 구성 요소를 만들어야 합니까?
아니요. .NET MAUI 하이브리드 앱의 웹 구성 요소는 Blazor를 사용하여 만들 필요가 없습니다. .NET 9부터 .NET MAUI는 네이티브 앱에서 다른 JavaScript UI를 호스트할 수 있는 HybridWebView 컨트롤을 제공합니다.
즉, Angular, React, Vue 또는 기타 HTML & JavaScript 웹앱을 사용하여 .NET MAUI 앱 내에서 호스트할 수 있습니다. 하이브리드 컨트롤은 C# 및 JavaScript 계층 간에 interop를 제공하므로 C#에서 JavaScript 함수를 호출할 수 있고 그 반대의 경우도 마찬가지입니다.
다른 네이티브 앱 형식이 Blazor 하이브리드 구성 요소를 호스트할 수 있나요?
예, WPF 및 WinForms 앱은 Blazor 하이브리드 구성 요소를 호스트할 수도 있습니다. 이를 통해 기존 WPF 및 WinForms 앱에 최신 웹 UI 구성 요소를 추가할 수 있습니다. .NET Framework에서 빌드된 WPF 또는 WinForms 앱에서는 이 작업을 수행할 수 없습니다.
전체 앱이 하이브리드 앱이어야 하나요, 아니면 네이티브 및 하이브리드 구성 요소를 혼합하고 일치시킬 수 있나요?
앱에서 네이티브 및 하이브리드 구성 요소를 혼합하고 일치시킬 수 있습니다. 예를 들어 .NET MAUI 구성 요소를 사용하여 앱의 핵심을 빌드한 다음 하이브리드 구성 요소를 추가하여 추가 기능을 제공할 수 있습니다. 이를 통해 네이티브 구성 요소의 성능과 기능, 하이브리드 구성 요소의 유연성 및 비용 절감 등 두 가지 면에서 가장 좋은 기능을 활용할 수 있습니다.
빌드에 대한 나의 선택은 무엇입니까. Windows의 최신 브라우저에서 잘 보이는 NET 기반 웹앱
웹앱은 모든 클라이언트 앱 플랫폼의 범위가 가장 넓습니다. Windows에서 아름다운 .NET 웹앱을 만들려는 경우 다음과 같은 몇 가지 옵션이 있습니다.
- Razor Pages를 사용하여 핵심 앱 ASP.NET
- Core MVC 앱 ASP.NET
- ASP.NET Core Blazor 앱, 호스팅 모델 옵션 포함:
- Blazor WebAssembly 앱
- Blazor Server 앱
Blazor에 대한 호스팅 모델은 이제 구성 요소 수준에서 구성할 수 있습니다. 따라서 Blazor Server 앱에서 Blazor WebAssembly 구성 요소를 호스트할 수 있습니다.
ASP.NET Core 설명서ASP.NET Core 개발 옵션에 대해 자세히 알아보세요.
접근 방식을 선택하고 Microsoft의 투자 이해
Windows를 대상으로 하는 앱을 빌드하기 위한 프레임워크 옵션이 너무 많습니다. 어떻게 결정합니까?
Windows는 많은 기술을 지원하는 개방형 플랫폼입니다. 사용할 플랫폼을 결정하는 데 도움이 되는 몇 가지 기준은 다음과 같습니다.
- Windows 우선 또는 플랫폼 간을 빌드하고 있나요?
- .NET 경험이 있나요? JavaScript? 다른 언어?
- Windows 관련 API에 액세스해야 합니까?
- 앱의 요구 사항과 가장 일치하는 프레임워크의 기능은 무엇입니까?
- 다른 의사 결정 요인은 이 테이블
참조하세요.
비즈니스 앱의 경우 대부분의 팀은 기존 기술과 팀이 편안하게 사용할 수 있는 것에 따라 선택하려고 합니다.
웹앱에 가장 적합한 개발 방법을 선택하려면 어떻게 해야 하나요?
웹앱에 대한 개발 방법을 선택할 때 고려해야 할 몇 가지 사항은 다음과 같습니다.
- Blazor는 .NET을 사용하여 프런트 엔드 웹앱을 빌드하는 데 권장됩니다. Blazor를 사용하면 이제 .NET으로 전체 프런트 엔드 및 백 엔드를 빌드하여 시간과 비용을 절약할 수 있습니다. 특히 오늘날의 디바이스에서 엔터프라이즈 기간 업무 앱에 적합합니다.
- JavaScript 웹앱은 팀의 기존 기술이나 JavaScript에 대한 투자를 활용하거나 기존 JavaScript 라이브러리 또는 프레임워크와 통합해야 하는 경우에도 여전히 의미가 있습니다.
- Web Forms, MVC 또는 Razor Pages와 같은 이전 프레임워크를 사용하는 기존 앱은 여전히 지원되며 이러한 프레임워크를 사용하여 계속 개발 및 유지 관리할 수 있습니다.
현재 WinUI를 사용하여 앱을 빌드하는 사람은 누구인가요?
현재 Adobe 및 Apple을 비롯한 많은 고객이 WinUI를 사용하여 빌드하고 있습니다.
- Adobe FrescoWindows용 무료 그리기 및 그리기 앱입니다.
- Apple은 Apple Music, apple TV
, Apple Devices 앱을 WinUI 및 Windows 앱 SDK와 만들었습니다.
Microsoft는 Windows 11 파일 탐색기 및 사진 앱을 포함하여 WinUI를 사용하여 여러 앱을 만들었습니다.
현재 .NET MAUI 앱을 빌드하는 사람은 누구인가요?
오늘날 많은 고객이 .NET MAUI를 사용하여 Microsoft를 포함한 플랫폼 간 앱을 빌드하고 있습니다. 예를 들어 Microsoft Azure 모바일 앱 .NET MAUI를 사용하여 빌드되었습니다.
.NET 고객이 사이트를 소개하는
현재 WPF 앱을 빌드하는 사람은 누구인가요?
대부분의 Microsoft Visual Studio 사용자 인터페이스는 WPF를 사용하여 빌드됩니다. Visual Studio IDE는 복잡한 고성능 WPF 앱의 좋은 예입니다.
현재 Blazor 앱을 빌드하는 사람은 누구인가요?
GE Digital의 FlightPulse 항공 시스템은 안전과 효율성을 개선하기 위해 센서 데이터와 분석을 조종사의 손에 맡깁니다. 조종사가 보는 모든 것의 백 엔드 구성은 모두 Blazor를 사용하여 수행됩니다.
.NET 사이트에서 Blazor 고객 스토리에
UWP 및 WinUI 2
UWP 앱을 Microsoft Store 외부에서 배포할 수 있나요?
있음. MSIX 패키지가 서명된 경우, 서명 인증서는 대상 디바이스에서 유효하고 신뢰할 수 있어야 합니다.
UWP XAML UI 컨트롤을 Win32, WPF 또는 WinForms UI 컨트롤과 혼합할 수 있나요?
예 - XAML Islands를 사용하면 가능합니다. XAML Islands에 대해 자세히 알아보세요.
패키징, 배포 및 업데이트
패키지된 앱, 패키지되지 않은 앱 및 외부 위치로 패키지되는 앱의 차이점은 무엇인가요?
패키지된 앱, 패키지되지 않은 앱 및 외부 위치로 패키지되는 앱의 정의는 배포 개요를 참조하세요. 이 항목에서는 각 옵션의 장점과 단점도 설명합니다.
최종 사용자에 대해 WinUI 앱이 자동으로 업데이트될까요?
WinUI 앱은 스토어, .appinstaller 파일 또는 기존 MSI 또는 setup.exe 패키지를 통해 배달할 수 있습니다. Microsoft Store 및 AppInstaller는 자동 업데이트를 사용하도록 설정한 최종 사용자를 위한 자동 업데이트를 지원하지만, MSI/setup.exe 앱에는 자체 업데이트 관리자가 있어야 합니다.
MSBuild를 사용하지 않고 Windows 앱 SDK를 사용할 수 있나요?
일반적으로는 그렇지 않습니다. WinUI 및 Windows 앱 SDK에는
성능 및 최적화
Windows 앱이 최종 사용자에게 좋은 느낌을 주려면 어떻게 해야 하나요?
Windows에 적합한 앱 만들기를 참조하세요.
호환성
내 사용자가 내 WinUI 앱을 사용하도록 Windows를 업데이트해야 합니까?
Windows 10 버전 1809 이상 사용자는 OS를 업데이트하지 않고 WinUI 앱을 설치할 수 있습니다.
WinUI 앱으로 Arm64를 대상으로 지정할 수 있나요?
있음.
사용 중단 및 마이그레이션
UWP/WinUI 2는 더 이상 사용되지 않나요?
아니요 UWP 및 WinUI 2는 여전히 지원되며 버그, 안정성 및 보안 수정 픽스를 받게 됩니다. 그러나 대부분의 새로운 기능과 기능은 WinUI 3에만 추가됩니다.
메모
.NET 9에 대한 UWP 지원은 미리 보기로 제공됩니다. 이 미리 보기 지원은 UWP 앱이 최신 버전의 .NET을 사용하여 현대화할 수 있는 경로를 제공합니다.
.NET 9 UWP 지원의 두 가지 주요 목표가 있습니다. 먼저 WinUI 3으로 마이그레이션하려는 UWP 개발자에게 더 나은 마이그레이션 경로를 제공합니다. 둘째, 개발자는 .NET 네이티브에 대한 종속성을 제거할 수 있으므로 앱 모델이 무엇인지에 관계없이 최신 .NET 및 C# 기능을 활용할 수 있습니다.
자세한 내용은 .NET 9 및 Native AOT 블로그 게시물에 대한 미리 보기 UWP 지원을 사용하여 UWP 앱 현대화
어떤 경우에 UWP/WinUI 2 앱을 WinUI 3으로 마이그레이션해야 하나요?
UWP 개발자는 UWP 및 해당 기능 집합에 만족하는 경우 앱을 WinUI 3으로 마이그레이션해야 한다는 압박감을 느끼지 않아야 합니다. 일부 앱은 마이그레이션하지 않는 것이 가장 적합한 선택일 수 있습니다. 최신 Windows 플랫폼과 Microsoft의 .NET 투자를 활용하려는 앱은 Windows 앱 SDK로 전환하는 것이 좋습니다. UWP에서 Windows 앱 SDK로 마이그레이션을 참조하세요.
어떤 경우에 UWP + WinUI 2 앱을 WinUI 3으로 마이그레이션하면 *안* 되나요?
Xbox, Surface Hub 또는 HoloLens 앱을 빌드하는 경우 UWP를 계속 사용하는 것이 좋습니다.
WPF는 더 이상 사용되지 않나요?
아니요 WPF는 여전히 지원되고 권장되며 기능 업데이트도 받습니다. GitHub
WinForms는 더 이상 사용되지 않나요?
아니요 WinForms는 여전히 지원되며 기능 업데이트를 받습니다. GitHub
WinRT(Windows 런타임)는 더 이상 사용되지 않나요?
아니요 WinRT는 여러 언어 간에 상호 운용할 수 있게 해주는 ABI(애플리케이션 이진 파일 인터페이스)를 나타냅니다. WinRT는 COM이 발전된 것입니다. Windows 앱 SDK는 WinRT API를 통해 대부분의 기능을 제공합니다.
릴리스 정보
Windows 앱 SDK의 릴리스 정보는 어디서 찾을 수 있나요?
안정적인 채널 릴리스 정보 및 채널 릴리스 정보 미리 보기를 참조하세요.