Как выбрать и начать .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: можно переиспользовать веб‑логику.

Быстрый старт: пошаговое руководство

  1. Установите .NET 9 SDK и Visual Studio с рабочими нагрузками для мобильной разработки (Android). Убедитесь, что Android SDK и платформенные инструменты (API 35) установлены.
  2. Создайте проект:
    • Через CLI: dotnet new maui -n MyAndroidApp
    • Откройте проект в Visual Studio, выберите таргет Android (эмулятор или устройство).
  3. Минимальный XAML:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui">
  <VerticalStackLayout Padding="20">
    <Label Text="Привет, Android на C#!" />
    <Button Text="Клик" Clicked="OnClicked" />
  </VerticalStackLayout>
</ContentPage>
  1. Обработчик в C# (Code-behind):
void OnClicked(object sender, EventArgs e) =>
  DisplayAlert("Тест", "Кнопка нажата", "OK");
  1. Настройки для производительности (csproj):
<PropertyGroup>
  <PublishTrimmed>true</PublishTrimmed>
  <PublishAot>true</PublishAot>
  <MauiSingleProject>true</MauiSingleProject>
</PropertyGroup>
  1. Сборка релиза и подпись:
    • CLI: maui build -t android -c Release
    • Либо Build → Android → Release в IDE, затем подпишите AAB/APK для магазина.
  2. Тестируйте на реальных устройствах (разные 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 за пару часов и подготовить релиз за неделю при фокусе на простые фичи и тестирование.