Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Se tens uma aplicação iOS e quiseres trazê-la para o Windows, as ferramentas de IA podem fazer a maior parte do trabalho de mapeamento. Esta página fornece as principais traduções conceituais do UIKit/SwiftUI para o WinUI 3. Use estas tabelas como contexto ao solicitar o seu agente de IA — fornecer mapeamentos exatos da API desde o início produz resultados muito mais precisos do que pedir uma conversão genérica.
Instale primeiro o plugin do agente WinUI para dar ao seu agente conhecimento preciso sobre o WinUI 3:
gh copilot plugin install winui@awesome-copilot
Mapeamento conceitual
| iOS (UIKit / SwiftUI) | Equivalente ao WinUI 3 | Observações |
|---|---|---|
UIViewController |
Page |
As páginas do WinUI são navegadas através de Frame |
UINavigationController |
Frame + NavigationView |
Utilização Frame.Navigate() para transições de página |
UITabBarController |
NavigationView (abas no topo ou à esquerda) |
|
UITableView |
ListView |
Utilize ObservableCollection<T> para associação de dados |
UICollectionView |
GridView |
|
UIAlertController |
ContentDialog |
Tem de estar associado ao elemento atual XamlRoot |
UILabel |
TextBlock |
|
UITextField |
TextBox |
|
UIButton |
Button |
|
UIImageView |
Image |
|
UIStackView |
StackPanel |
Definir Orientation para Horizontal ou Vertical |
Auto Layout |
Grid / StackPanel / RelativePanel |
O layout XAML é baseado em linhas/colunas |
@State
/
@Binding (SwiftUI) |
INotifyPropertyChanged
/
ObservableProperty (CommunityToolkit.Mvvm) |
|
NSUserDefaults |
ApplicationData.Current.LocalSettings |
|
URLSession |
HttpClient |
Utilizar o comando System.Net.Http.HttpClient |
NotificationCenter |
Eventos 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) |
Prompt inicial
Use este prompt para dar ao seu agente de IA o contexto de que precisa antes de iniciar uma migração:
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.
O que não mapeia diretamente
Alguns conceitos do iOS não têm um equivalente direto ao WinUI:
-
Compras na aplicação: Utilize as APIs de comércio da Microsoft Store via
Windows.Services.Store - Notificações push (APNs): Utilizar Windows Serviços de Notificações Push (WNS)
- HealthKit / ARKit / CoreML: Windows tem áreas tecnológicas relacionadas — Windows ML, Windows Mixed Reality e Windows Sensores — mas estas não são equivalentes diretas e requerem implementação específica da plataforma
- App Clips: Não há equivalente direto — considere a ligação web para aplicação
Conteúdo relacionado
Windows developer