Visual Studio es un entorno de desarrollo integrado de Microsoft que admite la creación de aplicaciones móviles a través de Xamarin y .NET MAUI. El IDE incluye editor de C#/F#/VB.NET, depurador, generador de perfiles, diseñador XAML, emuladores de Android/iOS e integración con Azure DevOps. Visual Studio en Microsoft.com — portal para las ediciones Community, Professional y Enterprise.
Puntos clave
Visual Studio es el IDE insignia de Microsoft, lanzado en 1997. Para el desarrollo móvil, Visual Studio proporciona dos frameworks principales: Xamarin (heredado, compatible hasta 2028) y .NET MAUI (actual, a partir de .NET 6 en 2021). El IDE está disponible en las ediciones Community (gratuita para equipos pequeños), Professional y Enterprise.
La versión actual es Visual Studio 2025 (v18.0) con .NET 10 SDK. El IDE admite todas las plataformas: Android (emulador + dispositivos físicos), iOS (mediante Mac build host), Windows (depuración nativa), macOS (a través de Parallels o Mac Agent). Según Stack Overflow 2025, el 32% de los desarrolladores móviles que trabajan con el stack .NET usan Visual Studio.
Características clave de VS Mobile: proyectos en formato .sln/.csproj con estilo SDK (MSBuild), gestión de paquetes mediante NuGet, XAML Designer para edición visual de UI, IntelliCode (autocompletado de IA basado en GPT-4), Live Share para programación remota en pareja.
.NET MAUI (Multi-platform App UI) es un framework de Microsoft para crear UIs nativas desde una única base de código C#. A diferencia de Xamarin.Forms, MAUI utiliza un proyecto único para todas las plataformas en lugar de proyectos separados para Android/iOS. Los recursos se organizan en las carpetas 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 y DI en MAUI: el framework incluye un contenedor DI integrado (Microsoft.Extensions.DependencyInjection), Shell para navegación (TabBar, Flyout, Routing) y CommunityToolkit.Mvvm para generación de INotifyPropertyChanged. BindableLayout admite enlace de datos a elementos que no son ItemsView mediante 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: acceso a APIs nativas: geolocalización, acelerómetro, sistema de archivos, almacenamiento seguro (SecureStorage), biometría, vibración, realizar llamadas. Las APIs se llaman desde código C# compartido — MAUI mismo las traduce a Android (bindings Java/Kotlin) e iOS (bindings Objective-C/Swift).
Xamarin es el predecesor de .NET MAUI, lanzado en 2011 y adquirido por Microsoft en 2016. Xamarin utiliza proyectos separados: Xamarin.Android (C# + bindings de Android), Xamarin.iOS (C# + bindings de iOS) y Xamarin.Forms (UI compartida mediante XAML). Microsoft declaró Xamarin SDK obsoleto en 2023, pero el soporte continúa hasta mayo de 2028.
Migración de Xamarin a MAUI — un proceso automatizado mediante .NET Upgrade Assistant. Cambios principales: .csproj con estilo SDK en lugar del antiguo estilo, proyecto único en lugar de separados, Shell en lugar de NavigationPage, WinUI en lugar de UWP. Microsoft proporciona una guía de migración para Xamarin.Forms → .NET MAUI con instrucciones paso a paso y un analizador de compatibilidad.
Xamarin.Android vs Xamarin.iOS difieren en arquitectura: Xamarin.Android usa JNI Bridge para llamar a código Java, Xamarin.iOS usa compilación Ahead-of-Time (AOT) de C# a ARM nativo. Xamarin.iOS no admite JIT — todas las aplicaciones iOS pasan por compilación AOT debido a las restricciones de Apple.
XAML Designer en Visual Studio es un editor visual de interfaces XAML con panel Toolbox (componentes), Properties (propiedades del elemento seleccionado) y Document Outline (árbol de elementos). El Designer admite vista previa de Data Binding (d:DataContext para datos en tiempo de diseño) y diferentes temas de diseño.
XAML Hot Reload — modificación de código XAML sin detener la aplicación. Hot Reload actualiza la UI en un emulador o dispositivo en ejecución en cuestión de segundos. En Visual Studio 2025, Hot Reload admite todos los elementos MAUI: ContentPage, ContentView, ResourceDictionary, Styles, DataTemplates. Para C# code-behind, está disponible .NET Hot Reload (cambios de métodos sin reinicio).
Live Visual Tree — un inspector de UI en ejecución: muestra la jerarquía de elementos, sus propiedades y estado actual. Combinado con Hot Reload, Live Visual Tree permite cambiar propiedades de elementos en tiempo de ejecución y ver el resultado inmediatamente en la pantalla del dispositivo.
Desarrollo iOS en Visual Studio requiere conexión a un Mac build host — una computadora macOS con Xcode y Apple SDK. Visual Studio se conecta vía SSH a Mac Agent, envía el código fuente, el Mac compila el binario iOS y devuelve el resultado. Sin Mac build host, incluso la compilación de proyectos iOS en Visual Studio es imposible.
Configuración de Mac build host: instalar Xcode y Visual Studio for Mac Agent en macOS, habilitar Remote Login en System Settings, vincular en Visual Studio mediante Tools → iOS → Pair to Mac. Para compilaciones en la nube, se puede usar MacStadium o MacinCloud. Microsoft Azure Pipelines también admite agentes alojados en macOS.
iOS Simulator desde Visual Studio se ejecuta en Mac y se transmite a Windows mediante Remote Simulator. Visual Studio 2025 usa Xcode 16 Simulator en Mac para mostrar el emulador iOS directamente en el escritorio de Windows.
Android SDK Manager en Visual Studio gestiona la instalación de Android SDK, build-tools, plataformas (API 34, 35, 36) e imágenes de sistema del emulador. Visual Studio descarga automáticamente los componentes necesarios al abrir por primera vez un proyecto Android. Alternativamente, se puede usar un Android Studio SDK instalado.
Android Emulator está integrado en Visual Studio: iniciar el emulador desde Debug → Start Without Debugging, seleccionar un AVD de la lista, depurar con puntos de interrupción, perfilar mediante Android Profiler. Visual Studio admite Hyper-V (Windows 11) y WSL2 para acelerar la emulación. Android Debug Bridge (ADB) está disponible a través de la línea de comandos de Developer PowerShell.
Google Play Services se conectan mediante NuGet (Xamarin.GooglePlayServices.* o MAUI.GooglePlayServices.*). Visual Studio configura automáticamente Google Services JSON/XML para Firebase y Maps. IntelliCode sugiere directivas using correctas y versiones de paquetes basadas en el .NET TFM de su proyecto.
Preguntas frecuentes
.NET MAUI es la evolución de Xamarin.Forms con un proyecto único, DI integrado, Shell, compatibilidad con WinUI y .csproj con estilo SDK moderno. Xamarin.Forms requiere proyectos separados para cada plataforma y no es compatible de forma nativa con Windows 11. MAUI también compila más rápido gracias a .NET 8/10 SDK.
Sí, mediante Native References y Binding Projects. Para Android — Xamarin/MAUI Binding Library (.jar → .dll). Para iOS — .xcframework → Static Library Binding. Las bibliotecas Kotlin/Swift se envuelven en clases proxy C#. .NET MAUI admite código específico de plataforma a través de la carpeta Platforms/Android/*.java o Platforms/iOS/*.swift.
Use el .NET Upgrade Assistant en Visual Studio: Project → Upgrade. La herramienta convierte .csproj, espacios de nombres XAML (Xamarin.Forms → MAUI), reemplaza APIs obsoletas. Para proyectos separados de Xamarin.Android/iOS — primero fusionar en Xamarin.Forms, luego migrar. Microsoft estima una migración típica en 2–4 semanas para un proyecto promedio.
Sí, .NET MAUI admite watchOS y tvOS mediante Target Framework Monikers (TFM) adicionales. Para watchOS, se requiere marcado XAML con elementos compatibles con watchOS (WKInterfaceLabel, etc.) y un Mac build host obligatorio con SDK de tvOS/watchOS en Xcode.
Principales alternativas: Visual Studio Code con C# Dev Kit (versión ligera, sin XAML Designer), JetBrains Rider (IDE multiplataforma con soporte MAUI), Rider + Unity (para juegos). Rider es popular entre desarrolladores .NET en macOS, ya que Visual Studio for Mac se suspendió en 2025.
Resumen
Desarrollaremos una aplicación móvil llave en mano
IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.
Lea también