Visual Studio è un ambiente di sviluppo integrato di Microsoft che supporta la creazione di applicazioni mobili tramite Xamarin e .NET MAUI. L'IDE include editor C#/F#/VB.NET, debugger, profiler, XAML Designer, emulatori Android/iOS e integrazione con Azure DevOps. Visual Studio su Microsoft.com — portale per le edizioni Community, Professional e Enterprise.
Punti chiave
Visual Studio è l'IDE di punta di Microsoft, rilasciato nel 1997. Per lo sviluppo mobile, Visual Studio fornisce due framework principali: Xamarin (legacy, supportato fino al 2028) e .NET MAUI (attuale, a partire da .NET 6 nel 2021). L'IDE è disponibile nelle edizioni Community (gratuita per piccoli team), Professional e Enterprise.
La versione attuale è Visual Studio 2025 (v18.0) con .NET 10 SDK. L'IDE supporta tutte le piattaforme: Android (emulatore + dispositivi fisici), iOS (tramite Mac build host), Windows (debug nativo), macOS (tramite Parallels o Mac Agent). Secondo Stack Overflow 2025, il 32% degli sviluppatori mobili che lavorano con lo stack .NET utilizza Visual Studio.
Caratteristiche principali di VS Mobile: progetti in formato .sln/.csproj con stile SDK (MSBuild), gestione pacchetti tramite NuGet, XAML Designer per la modifica visiva dell'interfaccia utente, IntelliCode (completamento codice AI basato su GPT-4), Live Share per la programmazione in coppia remota.
.NET MAUI (Multi-platform App UI) è un framework Microsoft per creare interfacce utente native da un'unica base di codice C#. A differenza di Xamarin.Forms, MAUI utilizza un unico progetto per tutte le piattaforme invece di progetti separati Android/iOS. Le risorse sono organizzate nelle cartelle Platforms/Android, Platforms/iOS, Platforms/Windows.
<!-- MainPage.xaml — .NET MAUI UI —>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyApp.MainPage">
<VerticalStackLayout Spacing="12" Padding="16">
<Label Text="Hello, .NET MAUI!"
FontSize="24"
HorizontalOptions="Center" />
<Button Text="Load Data"
Clicked="OnLoadClicked"
BackgroundColor="#512BD4" />
<CollectionView x:Name="ItemsList" />
</VerticalStackLayout>
</ContentPage>MVVM e DI in MAUI: il framework include un contenitore DI integrato (Microsoft.Extensions.DependencyInjection), Shell per la navigazione (TabBar, Flyout, Routing) e CommunityToolkit.Mvvm per la generazione di INotifyPropertyChanged. BindableLayout supporta il data binding a elementi non ItemsView tramite BindableLayout.ItemsSource.
// MainPage.xaml.cs — code-behind with DI
public partial class MainPage : ContentPage
{
private readonly IApiService _api;
public MainPage(IApiService api)
{
InitializeComponent();
_api = api;
}
private async void OnLoadClicked(object sender, EventArgs e)
{
var items = await _api.GetItemsAsync();
ItemsList.ItemsSource = items;
}
}Xamarin.Essentials → MAUI Essentials: accesso alle API native: geolocalizzazione, accelerometro, file system, archiviazione sicura (SecureStorage), biometria, vibrazione, effettuare chiamate. Le API vengono chiamate dal codice C# condiviso — MAUI stesso le traduce in Android (binding Java/Kotlin) e iOS (binding Objective-C/Swift).
Xamarin è il predecessore di .NET MAUI, rilasciato nel 2011 e acquisito da Microsoft nel 2016. Xamarin utilizza progetti separati: Xamarin.Android (C# + binding Android), Xamarin.iOS (C# + binding iOS) e Xamarin.Forms (interfaccia utente condivisa tramite XAML). Microsoft ha dichiarato Xamarin SDK obsoleto nel 2023, ma il supporto continua fino a maggio 2028.
Migrazione da Xamarin a MAUI — un processo automatizzato tramite .NET Upgrade Assistant. Principali modifiche: .csproj in stile SDK invece del vecchio stile, progetto unico invece di separati, Shell invece di NavigationPage, WinUI invece di UWP. Microsoft fornisce una guida alla migrazione per Xamarin.Forms → .NET MAUI con istruzioni passo passo e un analizzatore di compatibilità.
Xamarin.Android vs Xamarin.iOS differiscono nell'architettura: Xamarin.Android utilizza JNI Bridge per chiamare codice Java, Xamarin.iOS utilizza la compilazione Ahead-of-Time (AOT) di C# in ARM nativo. Xamarin.iOS non supporta JIT — tutte le applicazioni iOS subiscono la compilazione AOT a causa delle restrizioni Apple.
XAML Designer in Visual Studio è un editor visivo per interfacce XAML con pannello Toolbox (componenti), Properties (proprietà dell'elemento selezionato) e Document Outline (albero degli elementi). Il Designer supporta l'anteprima del data binding (d:DataContext per i dati in fase di progettazione) e diversi temi di progettazione.
XAML Hot Reload — modifica del codice XAML senza fermare l'applicazione. Hot Reload aggiorna l'interfaccia utente su un emulatore o dispositivo in esecuzione in pochi secondi. In Visual Studio 2025, Hot Reload supporta tutti gli elementi MAUI: ContentPage, ContentView, ResourceDictionary, Styles, DataTemplates. Per il code-behind C#, è disponibile .NET Hot Reload (modifiche ai metodi senza riavvio).
Live Visual Tree — un ispettore dell'interfaccia utente in esecuzione: mostra la gerarchia degli elementi, le loro proprietà e lo stato corrente. Combinato con Hot Reload, Live Visual Tree consente di modificare le proprietà degli elementi in fase di esecuzione e vedere immediatamente il risultato sullo schermo del dispositivo.
Lo sviluppo iOS in Visual Studio richiede una connessione a un Mac build host — un computer macOS con Xcode e Apple SDK. Visual Studio si connette tramite SSH a Mac Agent, invia il codice sorgente, il Mac compila il binario iOS e restituisce il risultato. Senza Mac build host, persino la compilazione di progetti iOS in Visual Studio è impossibile.
Configurazione del Mac build host: installare Xcode e Visual Studio for Mac Agent su macOS, abilitare Remote Login in Impostazioni di Sistema, associare in Visual Studio tramite Tools → iOS → Pair to Mac. Per le build cloud, è possibile utilizzare MacStadium o MacinCloud. Microsoft Azure Pipelines supporta anche agenti ospitati su macOS.
iOS Simulator da Visual Studio viene eseguito su Mac e viene trasmesso a Windows tramite Remote Simulator. Visual Studio 2025 utilizza Xcode 16 Simulator su Mac per visualizzare l'emulatore iOS direttamente sul desktop Windows.
Android SDK Manager in Visual Studio gestisce l'installazione di Android SDK, build-tools, piattaforme (API 34, 35, 36) e immagini di sistema dell'emulatore. Visual Studio scarica automaticamente i componenti necessari alla prima apertura di un progetto Android. In alternativa, è possibile utilizzare un Android Studio SDK installato.
Android Emulator è integrato in Visual Studio: avviare l'emulatore da Debug → Start Without Debugging, selezionare un AVD dall'elenco, eseguire il debug con punti di interruzione, profilare tramite Android Profiler. Visual Studio supporta Hyper-V (Windows 11) e WSL2 per un'emulazione più veloce. Android Debug Bridge (ADB) è disponibile tramite la riga di comando di Developer PowerShell.
Google Play Services vengono collegati tramite NuGet (Xamarin.GooglePlayServices.* o MAUI.GooglePlayServices.*). Visual Studio configura automaticamente Google Services JSON/XML per Firebase e Maps. IntelliCode suggerisce direttive using corrette e versioni dei pacchetti in base al .NET TFM del progetto.
Domande frequenti
.NET MAUI è l'evoluzione di Xamarin.Forms con un unico progetto, DI integrato, Shell, supporto WinUI e .csproj in stile SDK moderno. Xamarin.Forms richiede progetti separati per ogni piattaforma e non supporta Windows 11 nativamente. MAUI compila anche più velocemente grazie a .NET 8/10 SDK.
Sì, tramite Native References e Binding Projects. Per Android — Xamarin/MAUI Binding Library (.jar → .dll). Per iOS — .xcframework → Static Library Binding. Le librerie Kotlin/Swift vengono incapsulate in classi proxy C#. .NET MAUI supporta il codice specifico della piattaforma tramite la cartella Platforms/Android/*.java o Platforms/iOS/*.swift.
Utilizzare l'assistente di aggiornamento .NET in Visual Studio: Project → Upgrade. Lo strumento converte .csproj, spazi dei nomi XAML (Xamarin.Forms → MAUI), sostituisce le API obsolete. Per progetti Xamarin.Android/iOS separati — prima unire in Xamarin.Forms, poi migrare. Microsoft stima una migrazione tipica in 2–4 settimane per un progetto medio.
Sì, .NET MAUI supporta watchOS e tvOS tramite Target Framework Monikers (TFM) aggiuntivi. Per watchOS, sono necessari markup XAML con elementi compatibili con watchOS (WKInterfaceLabel, ecc.) e un Mac build host obbligatorio con SDK tvOS/watchOS in Xcode.
Principali alternative: Visual Studio Code con C# Dev Kit (versione leggera, senza XAML Designer), JetBrains Rider (IDE multipiattaforma con supporto MAUI), Rider + Unity (per giochi). Rider è popolare tra gli sviluppatori .NET su macOS, poiché Visual Studio for Mac è stato interrotto nel 2025.
Riepilogo
Svilupperemo un'applicazione mobile chiavi in mano
IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.
Leggi anche