Een iOS-app migreren naar WinUI 3

Als u een iOS-app hebt en deze wilt overbrengen naar Windows, kunnen AI-hulpprogramma's het meeste toewijzingswerk doen. Deze pagina bevat de belangrijkste conceptvertalingen van UIKit/SwiftUI naar WinUI 3. Gebruik deze tabellen als context bij het vragen van uw AI-agent. Het leveren van exacte API-toewijzingen vooraf levert veel nauwkeurigere uitvoer op dan wanneer u om een algemene conversie vraagt.

Installeer eerst de WinUI-agentinvoegtoepassing om uw agent nauwkeurige WinUI 3-kennis te geven:

gh copilot plugin install winui@awesome-copilot

Concepttoewijzing

iOS (UIKit / SwiftUI) WinUI 3-equivalent Aantekeningen
UIViewController Page WinUI-pagina's worden genavigeerd via Frame
UINavigationController Frame + NavigationView Gebruiken Frame.Navigate() voor paginaovergangen
UITabBarController NavigationView (tabbladen linksboven of boven)
UITableView ListView Gebruiken ObservableCollection<T> voor gegevensbinding
UICollectionView GridView
UIAlertController ContentDialog Moet een onderliggend element van de huidige XamlRoot zijn
UILabel TextBlock
UITextField TextBox
UIButton Button
UIImageView Image
UIStackView StackPanel Stel Orientation in op Horizontal of Vertical
Auto Layout Grid / StackPanel / RelativePanel XAML-indeling is gebaseerd op rijen/kolommen
@State / @Binding (SwiftUI) INotifyPropertyChanged / ObservableProperty (CommunityToolkit.Mvvm)
NSUserDefaults ApplicationData.Current.LocalSettings
URLSession HttpClient Gebruik System.Net.Http.HttpClient
NotificationCenter Gebeurtenissen of WeakReferenceMessenger (CommunityToolkit.Mvvm)
DispatchQueue.main.async DispatcherQueue.TryEnqueue
AppDelegate.applicationDidFinishLaunching App.OnLaunched
SceneDelegate / windowScene MainWindow / AppWindow
FileManager StorageFolder / StorageFile
UserNotifications AppNotificationManager (Microsoft.Windows.AppNotifications)

Startprompt

Gebruik deze prompt om uw AI-agent de context te geven die nodig is voordat u een migratie start:

I'm migrating an iOS app to WinUI 3 using the Windows App SDK.

The app is written in [Swift / Objective-C] using [UIKit / SwiftUI].

Apply these mappings:
- UIViewController → Page, navigated via Frame
- UINavigationController → Frame + NavigationView
- UITableView → ListView with ObservableCollection<T>
- UIAlertController → ContentDialog (parented to XamlRoot)
- NSUserDefaults → ApplicationData.Current.LocalSettings
- URLSession → System.Net.Http.HttpClient
- DispatchQueue.main.async → DispatcherQueue.TryEnqueue
- @State / @Binding → INotifyPropertyChanged via CommunityToolkit.Mvvm

Use Microsoft.UI.Xaml.* namespaces throughout — never Windows.UI.Xaml.*.
Generate C# — not Swift.

Wat niet direct gekoppeld wordt

Sommige iOS-concepten hebben geen direct WinUI-equivalent: