.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 вкладывает в это достаточно ресурсов, чтобы стать настолько хорошим, насколько это возможно.