Как выбрать и начать .NET (C#) разработку для Android в 2026
Коротко: в 2026 году основной и поддерживаемый путь для Android на C# — .NET MAUI на .NET 9; альтернативы — Uno Platform и Avalonia для специальных задач; Xamarin — только для поддержки старых проектов. Ниже — что выбрать, сравнение и практический пошаговый старт.
Актуальные варианты в 2026
- .NET MAUI (.NET 9): главный выбор для новых кроссплатформенных проектов. Поддерживает Android (API 35+), AOT и trimming для Release, горячую перезагрузку, Blazor Hybrid и интеграцию с нативными view через handlers.
- Xamarin (legacy): прекращённые обновления; используйте только для поддержки старого кода и плановой миграции на MAUI.
- Uno Platform: подходит при требовании WinUI-совместимости и сложных UI; рендерит через нативные поверхности и WebAssembly.
- Avalonia: хороша для кросс-десктопа с мобильной поддержкой, но на Android обычно менее оптимизирована чем MAUI.
- Blazor Hybrid: вариант для веб‑разработчиков, желающих переиспользовать Razor-компоненты в мобильных приложениях.
Если вам нужно быстрее выйти на Android с минимальной платформенной работой — начните с .NET MAUI и Blazor Hybrid: можно переиспользовать веб‑логику.
Быстрый старт: пошаговое руководство
- Установите .NET 9 SDK и Visual Studio с рабочими нагрузками для мобильной разработки (Android). Убедитесь, что Android SDK и платформенные инструменты (API 35) установлены.
- Создайте проект:
- Через CLI: dotnet new maui -n MyAndroidApp
- Откройте проект в Visual Studio, выберите таргет Android (эмулятор или устройство).
- Минимальный XAML:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui">
<VerticalStackLayout Padding="20">
<Label Text="Привет, Android на C#!" />
<Button Text="Клик" Clicked="OnClicked" />
</VerticalStackLayout>
</ContentPage>
- Обработчик в C# (Code-behind):
void OnClicked(object sender, EventArgs e) =>
DisplayAlert("Тест", "Кнопка нажата", "OK");
- Настройки для производительности (csproj):
<PropertyGroup>
<PublishTrimmed>true</PublishTrimmed>
<PublishAot>true</PublishAot>
<MauiSingleProject>true</MauiSingleProject>
</PropertyGroup>
- Сборка релиза и подпись:
- CLI: maui build -t android -c Release
- Либо Build → Android → Release в IDE, затем подпишите AAB/APK для магазина.
- Тестируйте на реальных устройствах (разные SoC, Android 12–15).
Android 15 изменил модель разрешений — проверяйте Permissions API и используйте асинхронные запросы. Эмуляторы могут не выявить проблем с GPU и SoC.
Когда выбирать альтернативы
- Выбирайте Uno, если вам важна точная совместимость с WinUI и портирование с Windows.
- Avalonia — если основной фокус на десктопе с минимальным мобильным функционалом.
- Blazor Hybrid — если проект уже большой веб‑приложением и требуется повторное использование UI/логики.
- Если нужен максимально нативный опыт или специфичные фичи Android (Jetpack APIs) — подумайте о нативной разработке с Kotlin/Java или об интеграции через платформенные API в MAUI.
Частые ошибки
- Игнорирование настроек AOT/trimming → большие и медленные релизы.
- Тяжёлые XAML‑ресурсы (>10 МБ) — используют память, переводите на handlers.
- Недостаточное тестирование на реальных устройствах (особенно с разными GPU/SoC).
- Неполная миграция с Xamarin — дублирование логики и конфликт пакетов.
FAQ
- Как быстро мигрировать с Xamarin? Используйте инструменты миграции MAUI, перенесите логики и постепенно заменяйте UI на MAUI handlers; планируйте 1–3 месяца для среднего приложения.
- Насколько производителен MAUI? С AOT и trimming производительность близка к нативной для большинства сценариев UI; тяжёлые вычисления лучше выносить в native-interop или оптимизированную библиотеку.
- Можно ли использовать Jetpack Compose? Непосредственно — нет; однако через handlers и платформенные API можно интегрировать нативные Compose‑компоненты.
- Как подписать релизный AAB? Генерируйте ключ и настройте подпись в AndroidOptions или через Visual Studio Publishing.
С таким планом вы сможете собрать и запустить первое приложение на Android за пару часов и подготовить релиз за неделю при фокусе на простые фичи и тестирование.