Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Si tiene una aplicación para iOS y quiere llevarla a Windows, las herramientas de inteligencia artificial pueden encargarse de la mayor parte del trabajo de adaptación. En esta página se proporcionan las traducciones de los conceptos clave de UIKit/SwiftUI a WinUI 3. Utiliza estas tablas como contexto al dar instrucciones a tu agente de IA: proporcionar de antemano asignaciones exactas de la API produce resultados mucho más precisos que pedir una conversión genérica.
Instale primero el complemento del agente de WinUI para proporcionar al agente conocimientos precisos de WinUI 3:
gh copilot plugin install winui@awesome-copilot
Mapa conceptual
| iOS (UIKit / SwiftUI) | Equivalente a WinUI 3 | Notas |
|---|---|---|
UIViewController |
Page |
Las páginas de WinUI se navegan a través de Frame |
UINavigationController |
Frame + NavigationView |
Uso Frame.Navigate() para transiciones de página |
UITabBarController |
NavigationView (pestañas superior o izquierda) |
|
UITableView |
ListView |
Use ObservableCollection<T> para el enlace de datos |
UICollectionView |
GridView |
|
UIAlertController |
ContentDialog |
Debe ser hijo del actual XamlRoot |
UILabel |
TextBlock |
|
UITextField |
TextBox |
|
UIButton |
Button |
|
UIImageView |
Image |
|
UIStackView |
StackPanel |
Establecer Orientation en Horizontal o Vertical |
Auto Layout |
Grid / StackPanel / RelativePanel |
El diseño XAML se basa en filas o columnas |
@State
/
@Binding (SwiftUI) |
INotifyPropertyChanged
/
ObservableProperty (CommunityToolkit.Mvvm) |
|
NSUserDefaults |
ApplicationData.Current.LocalSettings |
|
URLSession |
HttpClient |
Utilice System.Net.Http.HttpClient |
NotificationCenter |
Eventos o WeakReferenceMessenger (CommunityToolkit.Mvvm) |
|
DispatchQueue.main.async |
DispatcherQueue.TryEnqueue |
|
AppDelegate.applicationDidFinishLaunching |
App.OnLaunched |
|
SceneDelegate / windowScene |
MainWindow / AppWindow |
|
FileManager |
StorageFolder / StorageFile |
|
UserNotifications |
AppNotificationManager (Microsoft.Windows.AppNotifications) |
Mensaje de inicio
Use este mensaje para proporcionar al agente de IA el contexto que necesita antes de iniciar una migració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.
Lo que no se asigna directamente
Algunos conceptos de iOS no tienen un equivalente directo de WinUI:
-
Compras desde la aplicación: Use las API de comercio de Microsoft Store a través de
Windows.Services.Store - Notificaciones push (APNs): Use Windows Push Notification Services (WNS)
- HealthKit / ARKit / CoreML: Windows tiene áreas tecnológicas relacionadas : Windows ML, Windows Mixed Reality y Windows Sensors, pero no son equivalentes directos y requieren implementación específica de la plataforma y requieren implementación específica de la plataforma
- App Clips: sin equivalente directo — considere los enlaces de la web a la app