Keretrendszerközi alkalmazásokkal kapcsolatos szempontok

Előfordulhat, hogy a React Native Windowsról, az Electronról, a Flutterről vagy a .NET MAUI-ról vált a WinUI 3-ra. Ez az oldal a WinUI 3 konkrét megcélzásakor várható tudnivalókat és az AI-ügynök sikeres beállításának módját ismerteti.

A legfontosabb döntés: platformfüggetlen felületet szeretne tartani, vagy Windows-első alkalmazást szeretne létrehozni? Adjon egyértelmű határt az AI-ügynöknek – melyik üzleti logika maradjon megosztva, és melyik felhasználói felületet kell natív WinUI 3-ként újraírni.

React Native for Windows

A React Native for Windows a háttérben egy WinUI megjelenítési réteget használ. Natív Windows vezérlőket integrálhat <WindowsXamlView> vagy NativeModules használatával.

A teljes natív Windows élmény érdekében a közvetlenül a WinUI 3-ba történő portolás jobb teljesítményt és teljes Windows API-hozzáférést biztosít. Tartsa meg az üzleti logikát és a szolgáltatásokat, de írja át a felhasználói felület összetevőit XAML-ként és C#-ként.

Kezdő parancssor:

I have a React Native for Windows component. Rewrite it as a WinUI 3 UserControl using C# and XAML.

Elektron

Az Electron-alkalmazások héjba csomagolt webes technológiákra épülnek; a WinUI 3 natív Win32. A gyakorlati növekményes elérési út az, ha a meglévő webes felhasználói felületet egy WinUI 3-ablakban üzemelteti a WebView2 használatával, majd a funkciókat natív vezérlőkre migrálja idővel.

Kezdő parancssor:

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

A .NET MAUI már a WinUI 3 használatával a Windowst is támogatja. Ha Windows csak a WinUI 3 képességeihez való teljes hozzáféréssel rendelkező élményt szeretne, távolítsa el a MAUI-t, és célozza meg közvetlenül a WinUI 3-at.

  • A nézetmodellek és a szolgáltatások zökkenőmentesen átvihetők
  • A MAUI XAML (Microsoft.Maui.Controls.*) újraírást igényel a WinUI 3 XAML-re (Microsoft.UI.Xaml.*)
  • A megosztott .NET osztálytárak változatlanul megőrzése

Kezdő parancssor:

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.

Lebeg

A Flutter for Windows a saját renderelő motorját használja, nem a WinUI 3-at. A platformcsatornák lehetővé teszik, hogy a Flutter natív Win32- vagy WinRT API-kat hívhasson meg, de a teljes átültetés a Flutter renderelését natív XAML-re cseréli.

Kezdő parancssor:

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.

Kód megosztása platformok között

  • Az üzleti logika megőrzése egy külön .NET osztálykönyvtárban – platformfüggetlen
  • Ossza meg ezt a tárat a WinUI 3, a MAUI, a Blazor vagy bármely más .NET cél között
  • Modellek, szolgáltatások és ViewModels újraírása a felhasználói felület újraírása előtt
  • A #if WINDOWS feltételes fordítást csak végső esetben használja