Содержание
.NET Multi-platform App UI или сокращенно .NET MAUI — это кроссплатформенный фреймворк для создания мобильных и классических приложений с помощью C# и XAML для операционных систем Windows, Android, iOS и MacOS, позволяющий использовать при создании приложений единую кодовую базу.
Несмотря на то, что .NET MAUI впервые была анонсирована в 2022 году, эта платформа является, по сути, эволюцией другого фреймворка — Xamarin.Forms, купленного Microsoft и поддержка которого прекратилась 1 мая 2024 года. Поэтому, если вы планируете начать разработку кроссплатформенного приложения в C#, то, в первую очередь, стоит обратить своё внимание именно на .NET MAUI.
Как работает .NET MAUI?
Схематично, работу .NET MAUI можно представить следующим образом:
Разработчик, в основном, работает с элементами управления, которые предоставляет нам .NET MAUI. Затем код, используя собственные API платформ компилируется в нативную сборку. Например, если мы пишем приложение под Android, то процесс работы с .NET MAUI будет выглядеть следующим образом:
- мы пишем код приложения, используя C# и библиотеки компонентов .NET MAUI. При этом, нас может совершенно не интересовать то, как работает тот или иной компонент в Android, какие у него имеются свойства, события и т.д. — мы максимально абстрагированы от реализаций конкретной платформы.
- полученный код компилируются из C# в промежуточный язык (IL)
- из IL код компилируется методом JIT в нативную сборку при запуске приложения.
То, что код компилируется в нативную сборку, как минимум, позволяет нам получать приложение с элементами управления, которые будут выглядеть и работать также, как и. например, при создании приложения Android с использованием Java и Android Studio.
Несмотря на то, что в основном разработчик использует библиотеку классов .NET Base Class Library (BCL), которая и позволяет абстрагироваться от деталей реализации конкретной платформы, при необходимости, мы можем напрямую задействовать API конкретной платформы в своем приложении — .NET MAUI позволяет это сделать.
Поддерживаемые платформы
Приложения .NET MAUI можно написать для следующих платформ:
- Android 5.0 (API 21) или более поздней версии.
- iOS 12.2 или более поздней версии.
- macOS 12 или более поздней версии.
- Windows 11 и Windows 10 версии 1809 или более поздней версии.
Приложения .NET MAUI Blazor имеют следующие дополнительные требования к платформе:
- Android 7.0 (API 24) или более поздней версии.
- iOS 14 или более поздней версии.
- macOS 12 или более поздней версии.
Рабочие нагрузки для Visual Studio
Чтобы получить возможность разрабатывать кроссплатформенные приложения в Visual Studio необходимо установить элемент «Разработка с помощью .NET Multi-Platform App UI»

Возможные сложности при работе с .NET MAUI
Здесь не лишним будет ещё раз повторить, что приложения .NET MAUI разрабатываются сразу на двух языках — это C# и декларативный язык разметки XAML. И, несмотря на то, что XAML основан на XML, если вы только начинаете изучать разработку графических приложений, использующих C# и XAML, то это может вызвать некоторые сложности в понимании тех или иных действий, которые мы будем выполнять при изучении .NET MAUI. Однако, непосредственно работе с XAML в этом руководстве будет посвящена отдельная глава, которая поможет нам разобраться с основами XAML.
Итого
Фреймворк .NET MAUI позволяет разрабатывать кроссплатформенные приложения для Windows, Ansroid, iOS и MacOS, используя единую кодовую базу. Разработка приложений осуществляется с использованием двух языков программирования: C# для написания логики приложения и XAML — для создания визуального интерфейса приложения.