Привет, друзья! Все мы знаем, что официальный язык разработки под Android — это Kotlin или Java. Но что, если я скажу вам, что можно писать приложения для «зелёного робота» на любимом C#? И не просто писать, а создавать полноценные, производительные и красивые приложения, используя всю мощь экосистемы .NET?
Звучит как магия? Вовсе нет. Знакомьтесь — .NET MAUI (и его старший брат Xamarin). Это фреймворки от Microsoft, которые позволяют использовать C# и .NET для создания мобильных приложений под Android, iOS, а также под Windows и macOS .
В этой статье мы пройдем полный путь: от установки среды разработки до запуска нашего первого (пусть и простого, но своего!) приложения на смартфоне. Поехали!
Почему C# для Android? Это вообще законно?
Более чем законно! Когда вы пишете на C# под Android, ваш код не работает напрямую. Сначала он компилируется в промежуточный язык (IL), а затем, уже на устройстве, специальная "прослойка" (её называют Mono или .NET Runtime) превращает его в команды, понятные Android . Звучит сложно, но для разработчика этот процесс абсолютно прозрачен. Вы просто пишете код на C#.
Главные плюсы такого подхода:
- Единый код: можно написать приложение сразу для Android и iOS, разделяя до 70-90% кода .
- Родной интерфейс: приложение выглядит и работает так, как будто написано на Java/Kotlin .
- Экосистема .NET: вам доступны все библиотеки и наработки огромного мира C#.
Выбираем инструмент: .NET MAUI или Xamarin?
Если вы только начинаете, то ответ однозначен: .NET MAUI (Multi-platform App UI). Это эволюционное развитие Xamarin.Forms, которое входит в состав современных версий .NET (начиная с .NET 6) . Мы в статье будем ориентироваться именно на него, но принципы будут понятны и тем, кто столкнётся со старыми проектами на Xamarin.
Шаг 1. Готовим "поле боя": Установка Visual Studio
Нам понадобится Visual Studio (подойдёт бесплатная Community Edition). Скачиваем установщик с официального сайта и запускаем.
В установщике нам нужно выбрать рабочие нагрузки (workloads), которые отвечают за разработку мобильных приложений. Находим пункт "Разработка мобильных приложений на .NET" (Mobile development with .NET) .
Установка займёт какое-то время и потребует около 5-6 ГБ свободного места. Можно смело ставить все компоненты по умолчанию — установщик сам скачает необходимые SDK, эмуляторы и инструменты.
Шаг 2. Создаём проект
Открываем Visual Studio и нажимаем "Создать новый проект". В поиске вбиваем "MAUI" и выбираем шаблон .NET MAUI App .
Даём проекту имя, например, MyFirstDroidApp, и выбираем папку для сохранения. На следующем шаге выбираем целевую платформу (можно оставить по умолчанию .NET 8.0 или 9.0). Жмём "Создать".
Visual Studio сгенерирует решение, состоящее из нескольких проектов. Не пугайтесь — основная магия будет происходить в главном проекте с именем вашего приложения.
Шаг 3. Знакомимся с анатомией проекта
Структура .NET MAUI проекта продумана так, чтобы разделять общий код и код для конкретных платформ .
- Platforms: Эта папка содержит код, специфичный для каждой ОС (Android, iOS, Windows). Здесь мы будем трогать её только в крайнем случае.
- Resources: Папка для изображений, шрифтов и стилей.
- App.xaml: Настройки самого приложения.
- MainPage.xaml: Это и есть наш первый экран! Файлы с расширением .xaml отвечают за внешний вид (интерфейс), а .xaml.cs — за логику.
Шаг 4. Пишем код: простое приветствие
Давайте сделаем что-то более осмысленное, чем просто "Hello World". Создадим экран с полем для ввода имени, кнопкой и текстом приветствия.
Открываем файл MainPage.xaml. Мы увидим разметку, похожую на XML. Это XAML (eXtensible Application Markup Language). Внесем кое-какие изменения:
Разберём, что мы сделали:
- VerticalStackLayout — контейнер, который располагает элементы друг под другом .
- Label — текстовая надпись.
- Button — кнопка. У неё есть событие Clicked, которое мы будем обрабатывать.
Шаг 5. Добавляем логику на C#
Теперь откроем файл MainPage.xaml.cs. Это "code-behind" нашего экрана. Напишем там обработчик для кнопки:
Логика простейшая: по нажатию на кнопку срабатывает увеличения счетчика, и надпись на кнопке меняется — показывает, сколько раз нажато.
Шаг 6. Запускаем на эмуляторе
Теперь самое интересное — увидеть результат. На панели инструментов Visual Studio нужно выбрать целевое устройство. Сначала испытаем на устройстве Windows Machine
Получилось? Переходим к эмуляторам Android. Если эмулятор ещё не создан, выбираем пункт Android Emulators и жмём Create New... .
Мастер предложит выбрать устройство (например, Pixel 5) и версию Android (рекомендую выбрать последнюю стабильную). После создания эмулятора, запустите его, выбрав в меню и нажав кнопку Start .
Когда эмулятор загрузится (первый запуск может быть долгим), выберите его в качестве целевого устройства и нажмите зеленую кнопку Play или клавишу F5.
Visual Studio скомпилирует проект, упакует его и развернёт на эмуляторе. Через минуту вы увидите своё приложение!
Шаг 7. Запуск на реальном устройстве (Опционально, но круто!)
Запуск на реальном телефоне ничуть не сложнее .
- На телефоне зайдите в Настройки -> О телефоне и нажмите 7 раз на Номер сборки, пока не появится уведомление "Вы стали разработчиком".
- Вернитесь в главное меню настроек, зайдите в появившийся раздел Для разработчиков и включите Отладку по USB.
- Подключите телефон к компьютеру по USB. На телефоне может появиться запрос на разрешение отладки — соглашайтесь.
- В Visual Studio выберите в списке устройств ваш подключенный телефон и запустите приложение.
Что дальше? Куда расти?
Поздравляю! Вы только что создали своё первое кроссплатформенное приложение. Это только начало. Технологии .NET MAUI (и Xamarin) позволяют решать куда более сложные задачи:
- Работа с базой данных: можно использовать SQLite для хранения данных на устройстве .
- Взаимодействие с API: C# отлично дружит с HTTP-запросами и JSON.
- Использование нативных функций: камера, GPS, акселерометр и даже создание виджетов на рабочем столе Android — всё это доступно .
Разработка под Android на C# — это мощный и востребованный навык. А главное — это весело! Пробуйте, экспериментируйте, и совсем скоро вы сможете создавать приложения, которыми будут пользоваться тысячи людей.
Понравилась статья? Подписывайтесь на канал, чтобы не пропустить новые уроки по C# и .NET MAUI, где мы разберём создание полноценного приложения для заметок с базой данных и публикацию в Google Play!