React Native Windows, Electron, Flutter 또는 .NET MAUI에서 WinUI 3로 전환하셨을 수도 있습니다. 이 페이지에서는 WinUI 3을 대상으로 지정할 때 예상되는 사항과 성공을 위해 AI 에이전트를 설정하는 방법을 설명합니다.
주요 결정: 플랫폼 간 셸을 유지하거나 Windows 우선 앱을 빌드하시겠습니까? AI 에이전트에 명확한 경계를 설정하세요. 어떤 비즈니스 로직을 공통으로 유지하고, 어떤 UI를 네이티브 WinUI 3로 다시 작성할지 명확히 구분하세요.
Windows용 React Native
Windows React Native는 내부적으로 WinUI 렌더링 계층을 사용합니다.
<WindowsXamlView> 또는 NativeModules를 통해 네이티브 Windows 컨트롤을 통합할 수 있습니다.
완전히 네이티브 Windows 환경을 위해 WinUI 3으로 직접 포팅하면 성능이 향상되고 전체 Windows API 액세스가 가능합니다. 비즈니스 논리 및 서비스를 유지하지만 UI 구성 요소를 XAML 및 C#으로 다시 작성합니다.
시작 프롬프트:
I have a React Native for Windows component. Rewrite it as a WinUI 3 UserControl using C# and XAML.
전자
전자 앱은 셸에 래핑된 웹 기술입니다. WinUI 3은 기본 Win32입니다. 실제 증분 경로는 WebView2를 사용하여 WinUI 3 창에서 기존 웹 UI를 호스트한 다음 시간이 지남에 따라 기능을 네이티브 컨트롤로 마이그레이션하는 것입니다.
시작 프롬프트:
I have an Electron app. Create a WinUI 3 shell that hosts a WebView2, and show me how to call native Windows APIs from the web layer using window.chrome.webview.postMessage.
.NET MAUI
.NET MAUI 이미 WinUI 3을 통해 Windows 대상으로 합니다. WinUI 3 기능에 대한 모든 권한이 있는 Windows 전용 환경을 원하는 경우 MAUI를 제거하고 WinUI 3을 직접 대상으로 지정합니다.
- ViewModels와 서비스가 원활하게 이전됩니다.
- MAUI XAML(
Microsoft.Maui.Controls.*)을 WinUI 3 XAML로 다시 작성해야 합니다(Microsoft.UI.Xaml.*). - 공유 .NET 클래스 라이브러리를 있는 그대로 유지하세요
시작 프롬프트:
I have a .NET MAUI ViewModel and service layer. Reuse them in a WinUI 3 project targeting Windows only. Keep the ViewModel unchanged and update only the View.
떨림
Windows 플러터는 WinUI 3이 아닌 자체 렌더링 엔진을 사용합니다. 플랫폼 채널을 사용하면 Flutter가 네이티브 Win32 또는 WinRT API를 호출할 수 있지만 전체 포트는 Flutter 렌더링을 네이티브 XAML로 대체합니다.
시작 프롬프트:
I have a Flutter screen with a list and a detail view. Rewrite it as a WinUI 3 page using NavigationView and a master/detail layout.
플랫폼 간에 코드 공유
- 별도의 .NET 클래스 라이브러리에 비즈니스 논리를 유지합니다. 플랫폼에 구애받지 않습니다.
- WinUI 3, MAUI, Blazor 또는 다른 .NET 대상 간에 해당 라이브러리 공유
- UI를 다시 쓰기 전에 모델, 서비스 및 ViewModel을 다시 사용합니다.
- 조건부 컴파일만 최후의 수단으로 사용
#if WINDOWS
관련 콘텐츠
Windows developer