Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Si vous disposez d’une application iOS et que vous souhaitez l’apporter à Windows, les outils IA peuvent effectuer la plupart du travail de mappage. Cette page fournit les traductions de concept clés de UIKit/SwiftUI vers WinUI 3. Utilisez ces tableaux comme contexte lorsque vous sollicitez votre agent d’IA : fournir dès le départ des correspondances d’API exactes produit un résultat bien plus précis que de demander une conversion générique.
Installez d’abord le plug-in de l’agent WinUI pour fournir à votre agent une connaissance précise de WinUI 3 :
gh copilot plugin install winui@awesome-copilot
Mappage de concepts
| iOS (UIKit / SwiftUI) | Équivalent WinUI 3 | Remarques |
|---|---|---|
UIViewController |
Page |
Les pages WinUI sont parcourues via Frame |
UINavigationController |
Frame + NavigationView |
Utiliser Frame.Navigate() pour les transitions de page |
UITabBarController |
NavigationView (onglets en haut ou à gauche) |
|
UITableView |
ListView |
Utiliser ObservableCollection<T> pour la liaison de données |
UICollectionView |
GridView |
|
UIAlertController |
ContentDialog |
Doit avoir pour parent le XamlRoot actuel |
UILabel |
TextBlock |
|
UITextField |
TextBox |
|
UIButton |
Button |
|
UIImageView |
Image |
|
UIStackView |
StackPanel |
Définir Orientation sur Horizontal ou Vertical |
Auto Layout |
Grid / StackPanel / RelativePanel |
La disposition XAML est basée sur des lignes/colonnes |
@State
/
@Binding (SwiftUI) |
INotifyPropertyChanged
/
ObservableProperty (CommunityToolkit.Mvvm) |
|
NSUserDefaults |
ApplicationData.Current.LocalSettings |
|
URLSession |
HttpClient |
Utilisez System.Net.Http.HttpClient. |
NotificationCenter |
Événements ou WeakReferenceMessenger (CommunityToolkit.Mvvm) |
|
DispatchQueue.main.async |
DispatcherQueue.TryEnqueue |
|
AppDelegate.applicationDidFinishLaunching |
App.OnLaunched |
|
SceneDelegate / windowScene |
MainWindow / AppWindow |
|
FileManager |
StorageFolder / StorageFile |
|
UserNotifications |
AppNotificationManager (Microsoft.Windows.AppNotifications) |
Invite de démarrage
Utilisez cette invite pour donner à votre agent IA le contexte dont il a besoin avant de démarrer une migration :
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.
Ce qui ne mappe pas directement
Certains concepts iOS n’ont pas d’équivalent WinUI direct :
-
Achats intégrés : utilisez les API de commerce du Microsoft Store via
Windows.Services.Store - Push notifications (APNs) : utilisez Windows Push Notification Services (WNS)
- HealthKit / ARKit / CoreML : Windows a des domaines technologiques connexes — Windows ML, Windows Mixed Reality et Windows Sensors — mais ils ne sont pas des équivalents directs et nécessitent une implémentation spécifique à la plateforme.
- Clips d’application : aucun équivalent direct : envisagez la liaison web-à-application
Contenu connexe
Windows developer