iOS uygulamasını WinUI 3'e geçirme

Bir iOS uygulamanız varsa ve uygulamayı Windows getirmek istiyorsanız, yapay zeka araçları eşleme çalışmalarının çoğunu yapabilir. Bu sayfada UIKit/SwiftUI'den WinUI 3'e anahtar kavram çevirileri sağlanır. Yapay zeka aracınızı isterken bağlam olarak bu tabloları kullanın; tam API eşlemeleri sağlandığında genel dönüştürme istemekten çok daha doğru çıktılar elde edilir.

Aracınıza doğru WinUI 3 bilgisi vermek için önce WinUI aracı eklentisini yükleyin:

gh copilot plugin install winui@awesome-copilot

Kavram eşleme

iOS (UIKit / SwiftUI) WinUI 3 eşdeğeri Notlar
UIViewController Page WinUI sayfaları arasında Frame aracılığıyla gezinilir
UINavigationController Frame + NavigationView Sayfa geçişleri için Frame.Navigate() kullanın
UITabBarController NavigationView (üst veya sol sekmeler)
UITableView ListView Veri bağlama için ObservableCollection<T> kullanın
UICollectionView GridView
UIAlertController ContentDialog Geçerlinin üst öğesi olmalıdır XamlRoot
UILabel TextBlock
UITextField TextBox
UIButton Button
UIImageView Image
UIStackView StackPanel Orientation değerini Horizontal veya Vertical olarak ayarlayın
Auto Layout Grid / StackPanel / RelativePanel XAML düzeni satır/sütun tabanlıdır
@State / @Binding (SwiftUI) INotifyPropertyChanged / ObservableProperty (CommunityToolkit.Mvvm)
NSUserDefaults ApplicationData.Current.LocalSettings
URLSession HttpClient System.Net.Http.HttpClient komutunu kullanma
NotificationCenter Olaylar veya WeakReferenceMessenger (CommunityToolkit.Mvvm)
DispatchQueue.main.async DispatcherQueue.TryEnqueue
AppDelegate.applicationDidFinishLaunching App.OnLaunched
SceneDelegate / windowScene MainWindow / AppWindow
FileManager StorageFolder / StorageFile
UserNotifications AppNotificationManager (Microsoft.Windows.AppNotifications)

Başlangıç istemi

Geçişe başlamadan önce yapay zeka aracınıza gereken bağlamı vermek için bu istemi kullanın:

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.

Doğrudan eşleşmeyenler

Bazı iOS kavramlarının doğrudan WinUI eşdeğeri yoktur: