Все о MAUI и сравнение с Xamarin

Автор:

theonetechnologies.com

Среда .NET предоставляет различные фреймворки для разработки десктопных приложений, начиная с классических (Windows Presentation Foundation (WPF) и Windows Forms (WinForms)) и заканчивая современными (Blazor и .NET MAUI).

.NET Multi-platform App UI (MAUI) – это фреймворк для создания мобильных, планшетных и десктопных приложений.

В этой статье мы обсудим историю MAUI, сравним его с Xamarin, и дадим несколько советов по началу работы с MAUI. Давайте начнем с краткого обзора истории этой технологии.

Обзор Xamarin.Forms – происхождение MAUI

Простыми словами, Xamarin.Forms – это фреймворк, который позволяет общему коду взаимодействовать с платформенным кодом Android, iOS, или Windows.

Разработчик кроссплатформенных мобильных приложений может сэкономить много времени и усилий, написав бизнес-логику на уровне Xamarin.Forms.

Microsoft приобрела Xamarin в феврале 2016. После ежегодной конференции Microsoft Build стало ясно, что Xamarin будет объединен с .NET, а все среды выполнения, компоненты и SDK будут объединены.

Для достижения этого объединения Xamarin необходимо было полностью интегрировать в .NET. Так родилась идея создания .NET MAUI. Однако не следует полагать, что это все, что представляет из себя .NET MAUI. Многое изменилось при переработке Xamarin в MAUI, о чем мы расскажем подробнее в этой статье.

Разработка .NET MAUI

Как разработчик вы можете использовать множество инструментов, предоставляемых Xamarin для создания кроссплатформенных мобильных приложений. Xamarin – это, по сути, фреймворк, позволяющий разрабатывать кроссплатформенные мобильные приложений на C#.

Кроме того, он позволяет разработчикам использовать общий код на всех платформах. Множество компаний используют накопленный годами опыт по разработке приложений с помощью Xamarin.

.NET MAUI совмещает преимущества Xamarin с возможностью создавать также десктопные приложения, что делает его наиболее эффективным решением для создания кроссплатформенных приложений.

.NET разработчики могут выбирать из широкого спектра возможностей MAUI, которые поддерживают все основные платформы: Android, iOS, macOS, и Windows.

Вы можете обеспечить бескомпромиссный пользовательский опыт, обмениваясь еще большим количеством кода с помощью удобного межплатформенного API, который раскрывает собственные функции каждой платформы и элементы управления навигацией.

В сочетании с инструментами повышения производительности и эмуляторами .NET и Visual Studio значительно улучшают процесс разработки для создания приложений, предназначенных для различных типов устройств.

Почему MAUI – преимущества .NET MAUI

Для принятия правильного бизнес-решения необходимо выбрать наиболее подходящий фреймворк. Это может повлиять на цену и производительность вашего приложения и вашей организации в долгосрочной перспективе.

Выбор ненадежных фреймворков может резко увеличить ваши эксплуатационные расходы и поставить под угрозу вашу повседневную деятельность, когда разработчик вынужден уйти из вашей компании. «Ненадежный» фреймворк имеет следующие особенности:

  1. Высокий спрос на разработчиков и
  2. Ограниченный набор IT-специалистов.

Библиотека базовых классов (BCL) действительно позволяет приложениям, работающим на разных платформах, использовать одну и ту же бизнес-логику. Однако каждая платформа требует уникального подхода к разработке пользовательского интерфейса.

Кроме того, они предоставляют различные модели для объяснения того, как элементы пользовательского интерфейса работают вместе и взаимодействуют друг с другом. У этой проблемы есть решение: найти подходящий универсальный инструмент.

.NET MAUI предлагает единую платформу для написания кода в Visual Studio 2022. Приложения .NET MAUI можно разрабатывать на ПК или Mac с последующей упаковкой в собственные форматы приложений. Кроме того, он имеет:

  • движок разметки страниц с расширенными функциями;
  • большое сообщество;
  • поддержку .NET и XAML hot reload;
  • только один проект, единую кодовую базу;
  • мультиплатформенные API для использования встроенных функций устройства;
  • кроссплатформенные визуальные эффекты.

Используя соответствующий платформо-зависимый фреймворк, вы можете независимо создавать пользовательский интерфейс для каждой платформы. Однако эта стратегия также требует, чтобы вы поддерживали кодовую базу для каждого отдельного типа устройства.

.NET MAUI vs Xamarin

Xamarin.Forms и .NET MAUI имеют много общего, на что вы сразу же обратите внимание, если работали раньше с Xamarin.Forms.

На самом деле .NET MAUI берет большинство своих функций с Xamarin.Forms, поскольку является ее улучшенной версией. MAUI имеет почти все, что есть в Xamarin, включая контролы, дизайн, оболочку, действия, элементы UI и кроссплатформенные API-интерфейсы для функций устройства.

У этих двух фреймворков действительно много общего, но также у них много различий.

С точки зрения структуры проекта Xamarin.Forms и .NET MAUI принципиально отличаются. В .NET MAUI код под все платформы умещается в одном проекте. В то время, как в Xamarin, код под каждую из платформ размещается в отдельных проектах.

Совместимость с BCL также является ключевой особенностью изменения в MAUI, поскольку Xamarin стал настоящей частью .NET. Сейчас в Xamarin.Essentials переименовались пространства имен классов, например, новое пространство имен Microsoft.MAUI.Device.

Более того, платформа .NET MAUI позволяет интегрировать веб-элементы Microsoft Blazor и создавать приложения с помощью C# вместо JavaScript.

Примечание: В 2023 году текущая версия Xamarin (Xamarin.Forms 5.0) перестанет поддерживаться Microsoft.

Начало работы с MAUI

Если вы .NET разработчик, вы можете выбрать один из трех вариантов использования .NET MAUI:

  1. Стандартное .NET MAUI приложение
  2. .NET MAUI Blazor приложение
  3. .NET MAUI библиотека классов.

Вам также потребуется Windows 10, поскольку совместимость Visual Studio for Mac с .NET MAUI запланирована на более поздний выпуск.

Ваша среда с Windows 10 должна быть (предпочтительно) подключена к устройству с macOS, на котором установлены Xamarin.iOS и Xcode.

Используя интегрированные среды разработки (IDEs), такие как Visual Studio или JetBrains Rider, Вы сможете проектировать и разрабатывать собственные приложения для Android, iOS, macOS, и Windows с помощью MAUI.

Заключение

MAUI призван помочь вам реализовать как можно больше логики вашего приложения и макетов UI в одной кодовой базе. MAUI - это переработанный и улучшенный Xamarin, в котором еще продуктивнее разрабатывать приложения.

Материалы по теме