Microsoft 개발자를 위한 클라이언트 앱 개발 UI 프레임워크 선택 사항 둘러보기
오늘날의 Windows 앱 개발 환경은 선택할 수 있는 다양한 프레임워크와 기술을 제공합니다. 이 FAQ는 Windows 앱 개발 프로젝트에 사용할 프레임워크를 결정하는 방법에 대한 지침을 제공합니다. 다음 항목을 설명합니다.
- Windows 앱 개발 환경입니다.
- WinUI, WPF 및 Windows Forms를 사용한 네이티브 Windows 전용 앱 개발
- 플랫폼 간 개발 전략의 일환으로 Windows를 대상으로 지정합니다.
- .NET MAUI, Blazor 및 ASP.NET Core를 사용한 하이브리드 및 웹앱 개발
- Microsoft의 투자를 이해하면서 접근 방식을 선택하는 방법
Windows 앱 개발 환경
클라우드 서비스 시대에 최신 디지털 변환에 클라이언트 앱 개발이 여전히 중요한 이유는 무엇인가요?
클라우드 서비스 시대에 클라이언트 앱 개발은 최신 디지털 변환의 중요한 구성 요소로 남아 있습니다. 개발자에게 클라이언트 애플리케이션 빌드는 도달 범위뿐만 아니라 사용자 디바이스에서 반응형 의미 있는 상호 작용을 제공하는 데 필수적입니다.
클라이언트 앱이 여전히 중요한 이유는 다음과 같습니다.
- 디바이스 도달률: 전 세계적으로 15억 대 이상의 Windows 디바이스와 50억 개 이상의 Android 및 iOS 디바이스를 통해 클라이언트 앱을 사용하면 애플리케이션을 원하는 디바이스의 사용자에게 직접 가져올 수 있습니다.
- 지능형 서비스에 대한 게이트웨이: 클라이언트 앱은 종종 사용자가 서비스와 갖는 첫 번째 상호 작용입니다. 지능형 기능을 소개하고 제품을 다른 사용자와 차별화할 수 있는 풍부한 대화형 인터페이스를 제공합니다.
- 클라우드 통합을 사용한 확장성: 잘 통합된 클라이언트 앱은 백 엔드 클라우드 서비스와 손쉽게 동기화할 수 있으므로 사용자 기반이 증가함에 따라 실시간 데이터 액세스 및 원활한 확장성을 사용할 수 있습니다.
- 향상된 생산성 및 사용자 충성도: 신중하게 디자인된 앱은 생산성을 향상시키고 사용자가 시간이 지남에 따라 제품 또는 서비스에 계속 참여할 수 있습니다.
네이티브 Windows 전용 앱 개발
Windows 전용 앱을 개발하기 위해 새 팀을 구성하고 있습니다. WinUI, WPF 또는 Windows Forms와 같은 네이티브 Windows 프레임워크를 사용하여 개발하도록 선택해야 하는 이유는 무엇인가요?
Windows 전용 앱에 대한 네이티브 Windows 프레임워크를 선택하는 몇 가지 이유는 다음과 같습니다.
- 성능: 네이티브 Windows 프레임워크는 오늘날의 Windows 하드웨어의 모든 기능을 활용하고 빠르고 응답성이 뛰어난 사용자 환경을 제공하도록 최적화되어 있습니다.
- 통합: Windows는 Windows에서만 사용할 수 있는 정교한 환경을 빌드하기 위해 다양한 API와 함께 제공됩니다. 네이티브 프레임워크는 이러한 기능 및 API와 긴밀한 통합을 제공합니다.
- 네이티브 사용자 환경: 네이티브 Windows 프레임워크는 Windows 장치에서 일관된 사용자 환경을 제공하여 앱이 모든 Windows 디바이스에서 잘 보이고 작동하도록 합니다.
- 오프라인 지원: 네이티브 Windows 프레임워크는 오프라인 시나리오를 지원하므로 사용자가 인터넷에 연결되어 있지 않은 경우에도 앱이 작동할 수 있습니다.
- 수익 창출: 네이티브 Windows 프레임워크는 Microsoft에서 적극적으로 유지 관리 및 지원되므로 최신 업데이트 및 기능에 액세스할 수 있습니다.
Windows 앱 개발에 대한 Microsoft의 최신 투자를 활용하는 데 사용해야 하는 프레임워크는 무엇입니까?
새 Windows 전용 앱을 빌드하는 경우 WinUI를 사용하는 것이 좋습니다. WinUI는 Windows 앱 개발을 위한 최신 네이티브 UI 프레임워크이며 다양한 Windows 디바이스에서 작동하도록 설계되었습니다. WinUI는 시각적으로 매력적이고 대화형 Windows 앱을 만들 수 있는 최신의 유연한 UI 프레임워크를 제공합니다. WinUI는 Windows 앱 SDK 일부이며 최신 버전의 Windows에서 가장 잘 작동하도록 설계되었습니다.
WPF에 이미 많은 투자를 한 경우 WPF를 계속 사용해야 하나요? 아니면 WinUI로 마이그레이션하는 것을 고려해야 하나요?
WPF에 이미 많은 투자를 한 경우 기존 앱에 WPF를 계속 사용할 수 있습니다. WPF는 개발자가 Windows 데스크톱 앱을 빌드하는 데 널리 사용되는 성숙하고 안정적인 프레임워크입니다.
.NET 업그레이드 도우미를 활용하여 .NET Framework WPF 앱을 최신 .NET 플랫폼으로 마이그레이션하는 것이 좋습니다. .NET 업그레이드 도우미는 .NET Framework 앱을 지원되는 최신 버전의 .NET으로 마이그레이션하는 데 도움이 되는 도구입니다. .NET 업그레이드 도우미는 기존 코드베이스를 분석하고 코드를 업데이트하는 방법에 대한 지침을 제공합니다.
새 WPF 앱을 빌드하는 경우 다른 새 Windows 앱과 비교하여 날짜가 지정되었나요?
.NET 9 이상을 사용하여 WPF 애플리케이션을 개발할 때 앱이 Windows 11의 세련되고 현대적인 모양과 일치하는지 확인할 수 있습니다. WPF용 새로운 Fluent 테마는 WPF 애플리케이션에 현대적인 Windows 11 미학을 도입했으며, 통합 조명/어둡게 모드와 시스템 테마 컬러 지원을 제공합니다. 이 업데이트는 앱의 모양을 현대화할 뿐만 아니라 세련되고 응집력 있는 사용자 환경을 제공하여 사용자 참여를 향상시킵니다.
우리 팀은 Windows Forms 앱을 쉽게 빌드할 수 있으며 요구 사항에 적합합니다. WinUI 또는 다른 프레임워크로 마이그레이션하는 것을 고려해야 하나요?
팀이 Windows Forms 앱을 빌드하는 데 익숙하고 Windows Forms가 요구 사항을 충족하는 경우 기존 앱에 Windows Forms를 계속 사용할 수 있습니다. Windows Forms는 개발자가 Windows 데스크톱 앱을 빌드하는 데 널리 사용되는 성숙하고 안정적인 프레임워크입니다.
Windows Forms 팀은 기능 전반에 걸쳐 투자하고 있으며 참여자의 커뮤니티를 보유하고 있습니다. 현재 투자 영역은 다음과 같습니다.
- 공용 컨트롤을 사용하는 비동기 지원
- 어둡게 모드
- 레이아웃 유연성
- 클립보드 액세스와 같은 데스크톱 보안 기능
기존 WPF 또는 Windows Forms 앱의 Windows 앱 SDK API를 활용할 수 있나요?
예, 기존 WPF 또는 Windows Forms 앱의 Windows 앱 SDK 많은 API를 활용할 수 있습니다. 이 Windows 앱 SDK WPF 및 Windows Forms와 같은 기존 Windows 데스크톱 프레임워크에서 작동하도록 설계되었습니다. Windows 앱 SDK 사용하여 기존 앱의 새로운 기능과 기능에 액세스할 수 있습니다.
자세한 내용은 기존 프로젝트에서 Windows 앱 SDK 사용을 참조하세요.
플랫폼 간 네이티브 개발
Windows를 대상으로 하는 플랫폼 간 네이티브 앱을 빌드하는 이유는 무엇인가요?
여러 OS 플랫폼에서 사용자를 대상으로 하는 경우 .NET MAUI 또는 React Native를 사용하여 플랫폼 간 앱을 빌드하면 다음과 같은 몇 가지 이점이 있습니다.
- 도달률: 플랫폼 간 앱을 빌드하면 다양한 플랫폼에서 더 많은 사용자에게 도달할 수 있습니다.
- 코드 재사용: 플랫폼 간 앱을 빌드하면 여러 플랫폼에서 코드를 다시 사용하여 개발 시간과 비용을 줄일 수 있습니다. Windows, iOS, Android, macOS 등에 대한 별도의 앱을 빌드하는 데 비용이 엄청나게 많이 들 수 있습니다.
- 일관된 사용자 환경: 플랫폼 간 앱을 빌드하면 여러 플랫폼에서 일관된 사용자 환경을 제공하여 앱이 모든 디바이스에서 잘 보이고 작동하도록 할 수 있습니다.
- 통합: 플랫폼 간 앱을 빌드하면 다양한 플랫폼 및 서비스와 통합하여 보다 포괄적인 사용자 환경을 제공할 수 있습니다.
.NET MAUI 앱이 Windows에서 잘 실행될 것이라고 확신할 수 있나요?
Windows용 .NET MAUI 앱을 빌드할 때 출력은 WinUI 앱입니다. .NET MAUI는 개발하는 동안 Windows를 비롯한 모든 플랫폼에서 단일 .NET 환경을 제공하지만, 내부적으로 플랫폼별 코드를 생성합니다. 이렇게 하면 .NET MAUI 앱이 각 플랫폼에서 잘 실행되고 네이티브 사용자 환경을 제공합니다.
.NET MAUI는 모든 플랫폼에서 네이티브 디바이스 API를 어떻게 제공할 수 있나요?
.NET MAUI는 Windows, iOS, Android 및 macOS를 비롯한 모든 플랫폼에서 단일 .NET 환경을 제공합니다. .NET MAUI는 60개가 넘는 플랫폼별 API를 .NET MAUI 앱에서 사용할 수 있는 단일 플랫폼 간 API로 추상화합니다. 이러한 API는 스토리지, 네트워킹, 디바이스별 센서 등에 대한 액세스를 다룹니다. 필요한 경우 종속성 주입을 사용하여 추가 플랫폼별 API에 액세스하여 각 플랫폼에 대한 코드를 추상화할 수도 있습니다.
우리 팀은 강력한 웹 프런트 엔드 개발 기술을 보유하고 있습니다. 데스크톱용 React Native 사용을 고려해야 하나요?
팀에 강력한 웹 개발 기술이 있는 경우 데스크톱용 React Native를 사용하는 것이 좋습니다. 데스크톱용 React Native는 Windows 및 macOS 프레임워크용 React Native를 포함합니다. React Native의 모토는 "한 번 학습, 어디서나 쓰기"입니다. 즉, 기존 웹 개발 기술을 사용하여 React Native를 사용하여 네이티브 Windows 앱을 빌드할 수 있습니다. 데스크톱 용 React Native는 React Native를 사용하여 네이티브 Windows 및 macOS 앱을 빌드할 수 있는 오픈 소스 프로젝트입니다. 데스크톱용 React Native는 React Native 앱에서 데스크톱 OS 관련 기능 및 기능에 액세스할 수 있는 API 집합을 제공합니다.
팀은 JavaScript, TypeScript 및 React 기술을 활용하여 네이티브 기본 형식으로 직접 렌더링되는 UI 계층을 빌드할 수 있습니다. 네이티브 앱 성능과 네이티브 플랫폼의 기능에 대한 액세스를 제공합니다.
데스크톱용 React Native 설명서에서 Windows용 React Native 개발을 시작하는 방법에 대해 자세히 알아보세요.
다른 Windows 디바이스가 데스크톱용 React Native에서 지원되는가요?
React Native 앱은 PC, 태블릿, 2-in-1, Xbox 및 혼합 현실 디바이스를 포함하여 Windows 10 이상에서 지원하는 모든 디바이스에 배포할 수 있습니다.
하이브리드 및 웹 개발
하이브리드 앱이란 무엇이며, 왜 빌드를 고려해야 하나요?
하이브리드 앱은 최상의 웹 및 네이티브 앱 개발을 혼합합니다. 앱의 핵심은 HTML, CSS 및 JavaScript와 같은 웹 기술을 사용하여 빌드된 다음, 앱이 특정 네이티브 플랫폼 기능 및 하드웨어를 활용할 수 있도록 하는 네이티브 컨테이너에 래핑됩니다. 앱 스토어를 통해 배포할 수도 있습니다.
하이브리드 앱의 주요 장점은 여러 네이티브 플랫폼과 웹에서 실행할 수 있는 단일 앱을 빌드하여 개발 시간과 비용을 줄일 수 있다는 것입니다. 하이브리드 앱 개발 플랫폼의 몇 가지 예는 다음과 같습니다.
- 데스크톱 앱용 Electron
- 모바일 앱용 Ionic
- 플랫폼 간 앱용 .NET MAUI Blazor 하이브리드
.NET MAUI Blazor 하이브리드 앱이란?
.NET MAUI를 사용하면 Blazor 앱은 Windows, iOS, Android 및 macOS에서도 기본적으로 실행할 수 있습니다. 즉, Blazor 및 .NET MAUI 구성 요소를 단일 네이티브 클라이언트 앱으로 결합하는 하이브리드 클라이언트 앱을 만들 수 있습니다. 이렇게 하면 다른 모든 .NET MAUI 앱에서 사용할 수 있는 동일한 네이티브 플랫폼 기능에 대한 모든 권한이 제공됩니다.
Blazor가 .NET MAUI 앱 내에서 호스팅되는 방법에 대한 자세한 내용은 ASP.NET Core Blazor Hybrid를 참조하세요.
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 및 Windows Forms 앱은 Blazor 하이브리드 구성 요소를 호스트할 수도 있습니다. 이를 통해 기존 WPF 및 Windows Forms 앱에 최신 웹 UI 구성 요소를 추가할 수 있습니다. .NET Framework에서 빌드된 WPF 또는 Windows Forms 앱에서는 이 작업을 수행할 수 없습니다.
전체 앱이 하이브리드 앱이어야 하나요, 아니면 네이티브 및 하이브리드 구성 요소를 혼합하고 일치시킬 수 있나요?
앱에서 네이티브 및 하이브리드 구성 요소를 혼합하고 일치시킬 수 있습니다. 예를 들어 .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 Fresco, Windows용 무료 그리기 및 그리기 앱입니다.
- 애플은 WinUI와 Windows 앱 SDK 애플 뮤직, 애플 TV, 애플 디바이스 앱을 만들었습니다.
Microsoft는 Windows 11 파일 탐색기 및 사진 앱을 포함하여 WinUI를 사용하여 여러 앱을 만들었습니다.
현재 .NET MAUI 앱을 빌드하는 사람은 누구인가요?
오늘날 많은 고객이 .NET MAUI를 사용하여 Microsoft를 포함한 플랫폼 간 앱을 빌드하고 있습니다. 예를 들어 Microsoft Azure 모바일 앱 은 .NET MAUI를 사용하여 빌드되었습니다.
.NET 고객 쇼케이스 사이트에서 .NET MAUI를 사용하여 앱을 빌드하는 다른 사용자를 확인합니다.
현재 WPF 앱을 빌드하는 사람은 누구인가요?
대부분의 Microsoft Visual Studio 사용자 인터페이스는 WPF를 사용하여 빌드됩니다. Visual Studio IDE는 복잡한 고성능 WPF 앱의 좋은 예입니다.
현재 Blazor 앱을 빌드하는 사람은 누구인가요?
GE Digital의 FlightPulse 항공 시스템은 안전과 효율성을 개선하기 위해 센서 데이터와 분석을 조종사의 손에 맡깁니다. 조종사가 보는 모든 것의 백 엔드 구성은 모두 Blazor를 사용하여 수행됩니다.
.NET 사이트에서 Blazor 고객 스토리를 더 자세히 읽을 수 있습니다.
관련 콘텐츠
Windows 개발 옵션에 대한 자세한 내용은 프레임워크 옵션 개요를 참조 하세요.