.NET MAUI (Multi-platform App UI) — это платформа для создания собственных мобильных, настольных и веб-приложений с использованием .NET и той же кодовой базы. Он разработан, чтобы облегчить разработчикам создание приложений, которые могут работать на нескольких платформах, включая Android, iOS, macOS и Windows, с использованием единой кодовой базы. Он является дальнейшим развитием Xamarin Forms.

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

Я играл с MAUI в течение последних шести месяцев. Итак, я думаю, что это готово к производству?

Ну, краткий ответ: это действительно зависит от варианта использования. Я скажу, что если у вас есть большая существующая кодовая база на C# и .net — ваш родной язык, это очень интересная альтернатива для использования в мультиплатформенных приложениях.

Что я думаю о MAUI?
Основная причина, по которой я начал работать с .net MAUI, заключается в том, что компания, в которой я работаю, часто использует C#. Ресурсы Community Toolkit/MVVM были отличными инструментами для поддержания чистоты и порядка в коде. Возможно, самой важной частью хорошей мотивации был контент Джеральда Верслуиса на его канале YouTube и его канале Discord, который очень поддерживает и позитивен.

Если вы хотите попробовать это, вы также можете проверить мой канал на YouTube о том, как создать приложение с полным стеком, например, с MongoDB и .net MAUI.

В журнале Visual Studio Magazine есть статья, написанная Дэвидом Рамелем в сентябре 2022 года. Он задает вопрос, скоро ли отправится MAUI? Общей темой статьи является то, что среди разработчиков .net MAUI много разочарований из-за большого количества ошибок, и многие часы тратятся на поиск обходных путей. Однако с Blazor, кажется, больше оптимизма.

Последние Reddit-дискуссии тоже вызывают некоторое разочарование. u/Jownsye с удовольствием проходит курс MAUI и спрашивает других пользователей Reddit, что они об этом думают. Давайте посмотрим на некоторые отзывы с точки зрения плюсов и минусов.

ПЛЮСЫ

  • Я многое люблю. Быть на последней версии .NET/C# действительно здорово. Встроенная инъекция зависимостей, консолидация ресурсов на разных платформах и полуофициальные инструменты CommunityToolkits для MVVM и MAUI — это находка. Когда это работает, это работает хорошо.
  • Я прошла половину курса и пока мне все нравится.
  • Это работает, в основном. Время сборки не страшное. Конвейеры Azure работают с ним достаточно хорошо.

МИНУСЫ

  • У него 2,9 тысячи открытых проблем — многие из этих базовых вещей не работают на Android. И это включает в себя ошибку, которая приводит к сбою приложения, когда источники изображений используются определенными (очевидными) способами, невидимые элементы, которые все еще занимают место. Вкратце: если вы хотите настроить таргетинг на Android, сейчас он практически непригоден для использования.
  • Я думаю, что соединение версий MAUI с выпусками Visual Studio будет проблематичным. Давайте будем честными, Xamarin Forms никогда не был полностью свободен от ошибок, как и MAUI.
    Тот факт, что теперь он связан с выпусками VS, означает, что ошибки будут зависеть от сборки.
  • Я определенно думаю, что если вы используете .NET, MAUI Blazor — лучший выбор. Тем не менее, я был очень взволнован MAUI и Blazor в целом… но я не думаю, что MSFT вкладывает в это достаточно ресурсов, чтобы стать настолько хорошим, насколько это возможно.