Visual Studio — интегрированная среда разработки от Microsoft, поддерживающая создание мобильных приложений через Xamarin и .NET MAUI. IDE включает редактор C#/F#/VB.NET, отладчик, профилировщик, дизайнер XAML, эмуляторы Android/iOS и интеграцию с Azure DevOps. Visual Studio на Microsoft.com — портал для Community, Professional и Enterprise редакций.
Главное
Visual Studio — флагманская IDE Microsoft, выпущенная в 1997 году. Для мобильной разработки Visual Studio предоставляет два основных фреймворка: Xamarin (легаси, поддержка до 2028) и .NET MAUI (актуальный, начиная с .NET 6 в 2021). IDE доступна в редакциях Community (бесплатно для малых команд), Professional и Enterprise.
Актуальная версия — Visual Studio 2025 (v18.0) с .NET 10 SDK. IDE поддерживает все платформы: Android (эмулятор + физические устройства), iOS (через Mac build host), Windows (нативная отладка), macOS (через Parallels или Mac Agent). По данным Stack Overflow 2025, Visual Studio используют 32% мобильных разработчиков, работающих с .NET-стеком.
Ключевые особенности VS Mobile: проекты в формате .sln/.csproj с SDK-стилем (MSBuild), управление пакетами через NuGet, XAML Designer для визуального редактирования UI, IntelliCode (AI code completion на базе GPT-4), Live Share для удалённой парной разработки.
.NET MAUI (Multi-platform App UI) — фреймворк Microsoft для создания нативных UI из единой кодовой базы C#. В отличие от Xamarin.Forms, MAUI использует единый проект (single project) для всех платформ, а не раздельные проекты Android/iOS. Ресурсы раскладываются по папкам 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 и DI в MAUI: фреймворк включает встроенный DI-контейнер (Microsoft.Extensions.DependencyInjection), Shell для навигации (TabBar, Flyout, Routing), и CommunityToolkit.Mvvm для генерации INotifyPropertyChanged. BindableLayout поддерживает привязку данных к не-ItemsView элементам через BindableLayout.ItemsSource.
// MainPage.xaml.cs — code-behind с 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: доступ к нативным API: геолокация, акселерометр, файловая система, безопасное хранение (SecureStorage), биометрия, вибрация, Make Phone Call. API вызываются из общего C# кода — MAUI сам транслирует их в Android (Java/Kotlin bindings) и iOS (Objective-C/Swift bindings).
Xamarin — предшественник .NET MAUI, выпущенный в 2011 году и купленный Microsoft в 2016. Xamarin использует раздельные проекты: Xamarin.Android (C# + Android bindings), Xamarin.iOS (C# + iOS bindings) и Xamarin.Forms (общий UI через XAML). Microsoft объявила Xamarin SDK устаревшим в 2023, но поддержка продолжается до мая 2028.
Миграция с Xamarin на MAUI — автоматизированный процесс через .NET Upgrade Assistant. Основные изменения: .csproj SDK-стиль вместо old-style, единый проект вместо раздельных, Shell вместо NavigationPage, WinUI вместо UWP. Microsoft предоставляет руководство по миграции для Xamarin.Forms → .NET MAUI с пошаговыми инструкциями и анализатором совместимости.
Xamarin.Android vs Xamarin.iOS отличаются архитектурой: Xamarin.Android использует JNI Bridge для вызова Java-кода, Xamarin.iOS — Ahead-of-Time (AOT) компиляцию C# в нативный ARM. Xamarin.iOS не поддерживает JIT — все приложения для iOS проходят AOT-компиляцию из-за ограничений Apple.
XAML Designer в Visual Studio — визуальный редактор XAML-интерфейсов с панелью Toolbox (компоненты), Properties (свойства выделенного элемента) и Document Outline (дерево элементов). Designer поддерживает Data Binding preview (d:DataContext для дизайн-тайм данных) и разные темы оформления.
XAML Hot Reload — изменение XAML-кода без остановки приложения. Hot Reload обновляет UI на запущенном эмуляторе или устройстве в течение секунды. В Visual Studio 2025 Hot Reload поддерживает все MAUI-элементы: ContentPage, ContentView, ResourceDictionary, Styles, DataTemplates. Для C# code-behind доступен .NET Hot Reload (изменение методов без перезапуска).
Live Visual Tree — инспектор запущенного UI: показывает иерархию элементов, их свойства и текущее состояние. В сочетании с Hot Reload Live Visual Tree позволяет изменять свойства элементов в рантайме и тут же видеть результат на экране устройства.
iOS-разработка в Visual Studio требует подключения к Mac build host — компьютеру macOS с Xcode и Apple SDK. Visual Studio подключается через SSH к Mac Agent, передаёт исходный код, Mac компилирует iOS-бинарник и возвращает результат. Без Mac build host невозможна даже компиляция iOS-проектов в Visual Studio.
Настройка Mac build host: установка Xcode и Visual Studio for Mac Agent на macOS, включение Remote Login в System Settings, сопряжение в Visual Studio через Tools → iOS → Pair to Mac. Для облачных сборок можно использовать MacStadium или MacinCloud. Microsoft Azure Pipelines также поддерживает macOS hosted agents.
iOS Simulator из Visual Studio запускается на Mac и транслируется в Windows через Remote Simulator. Visual Studio 2025 использует Xcode 16 Simulator на Mac для отображения iOS-эмулятора прямо на Windows рабочем столе.
Android SDK Manager в Visual Studio управляет установкой Android SDK, build-tools, платформ (API 34, 35, 36) и системных образов эмулятора. Visual Studio автоматически загружает необходимые компоненты при первом открытии Android-проекта. Альтернативно можно использовать установленный Android Studio SDK.
Android Emulator встроен в Visual Studio: запуск эмулятора из меню Debug → Start Without Debugging, выбор AVD из списка, отладка с точками останова, профилирование через Android Profiler. Visual Studio поддерживает Hyper-V (Windows 11) и WSL2 для ускорения эмуляции. Android Debug Bridge (ADB) доступен через командную строку Developer PowerShell.
Google Play Services подключаются через NuGet (Xamarin.GooglePlayServices.* или MAUI.GooglePlayServices.*). Visual Studio автоматически настраивает Google Services JSON/XML для Firebase и Maps. IntelliCode предлагает корректные using директивы и версии пакетов на основе .NET TFM вашего проекта.
Часто задаваемые вопросы
.NET MAUI — эволюция Xamarin.Forms с единым проектом (single project), встроенным DI, Shell, WinUI поддержкой и современным SDK-стилем .csproj. Xamarin.Forms требует отдельные проекты для каждой платформы и не поддерживает Windows 11 нативно. MAUI также быстрее компилируется благодаря .NET 8/10 SDK.
Да, через Native References и Binding Projects. Для Android — Xamarin/MAUI Binding Library (.jar → .dll). Для iOS — .xcframework → Static Library Binding. Kotlin/Swift библиотеки оборачиваются в C# прокси-классы. .NET MAUI поддерживает Platform-specific код через папку Platforms/Android/*.java или Platforms/iOS/*.swift.
Используйте .NET Upgrade Assistant в Visual Studio: Project → Upgrade. Инструмент конвертирует .csproj, XAML namespaces (Xamarin.Forms → MAUI), заменяет устаревшие API. Для Xamarin.Android/iOS отдельных проектов — сначала объединить в Xamarin.Forms, затем мигрировать. Microsoft оценивает типовую миграцию в 2–4 недели для среднего проекта.
Да, .NET MAUI поддерживает watchOS и tvOS через дополнительные Target Framework Monikers (TFM). Для watchOS требуется разметка в XAML с watchOS-совместимыми элементами (WKInterfaceLabel и др.) и обязательное наличие Mac build host с tvOS/watchOS SDK в Xcode.
Основные альтернативы: Visual Studio Code с C# Dev Kit (лёгкая версия, без XAML Designer), JetBrains Rider (кроссплатформенная IDE с поддержкой MAUI), Rider + Unity (для игр). Rider популярна среди .NET-разработчиков на macOS, так как Visual Studio for Mac прекращена в 2025.
Итоги
Мы разработаем мобильное приложение под ключ
IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.
Читайте также