Что такое МАУИ? и в чем разница между MAUI и Xamarin
Итак, что происходит с Xamarin.Forms?
Что такое пользовательский интерфейс мультиплатформенного приложения?
В чем разница между MAUI и Xamarin
Где мы можем создавать проекты MAUI?
5 ответов
С.NET 5 Microsoft начинает путь к унификации платформы.NET, объединяя.NET Core и Mono/Xamarin в одной библиотеке базовых классов (BCL) и инструментальной цепочке (SDK), подробнее об этом здесь.
.NET MAUI, как всем уже известно, это название нового модернизированного решения в виде многоплатформенной инфраструктуры пользовательского интерфейса приложений для создания собственных кроссплатформенных приложений с.NET для Android, iOS, macOS и Windows. Это эволюция Xamarin.Forms, построенная на его основе, ставшая и являющаяся новым флагманским решением.NET для создания собственных кроссплатформенных приложений.
Лично для меня это здорово, что команда.NET будет больше сосредоточена на разработке этого фреймворка с уже отличной командой Xamarin.Forms, которая внесла огромные изменения и усовершенствовала платформу за последние год или два.
На данный момент репозиторий GitHub (июль 2020 г.) почти такой же, как и репозиторий XF, все пространства имен System.Maui
, но в будущем все будет иначе. Как они и обещали в основных и других источниках:
- Один проект, ориентированный на несколько платформ и устройств
- Единое место для управления такими ресурсами, как шрифты и изображения
- Мульти-таргетинг для организации кода для конкретной платформы
Он также предоставит вам поддержку для создания приложений с использованием различных современных шаблонов и фреймворков, таких как:
- MVVM
- МВУ
- RxUI
Инструменты для создания и разработки приложений с.NET MAUI:
- Visual Studio
- Visual Studio для Mac
- Код Visual Studio
Поскольку.NET Maui будет более активно участвовать во всех инструментах разработки.NET, будет добавлена поддержка.NET Core CLI. Другими словами, это означает, что мы сможем создать новый проект из командной строки с помощью:
dotnet new maui
Основные цели.NET Maui:
- Повысьте производительность приложения
- Повышение простоты расширяемости управления
- Повысьте простоту участия
- Включите параметры разработчика для использования Model-View-Update (MVU) и Blazor
В последние год или два у Xamarin.Forms был очень частый цикл новых выпусков, и он обязательно будет продолжаться. Команда продолжит работу над этим, но вместе с тем.NET Maui станет более зрелым, и с выпуском.NET 6 Xamarin.Forms остановится на функциях и новых вещах.
После того, как.NET Maui станет полностью доступным и готовым, Xamarin.Forms продолжит получать поддержку в течение 12 месяцев. Подробнее о дорожной карте и состоянии ее разработки можно найти на официальной странице GitHub здесь, а вся вики-страница заполнена полезной информацией о будущем развитии.
На данный момент Xamarin.Forms - это зрелая среда, а MAUI - это сообщение в блоге. Это затрудняет их объективное сравнение.
В общем, идея MAUI - это дальнейшее развитие Xamarin.Forms. Лично я не вижу ничего революционного (и даже важного). Основное отличие будет заключаться в том, что MAUI будет одним проектом с несколькими выходами вместо нескольких проектов для каждой платформы. Также должны быть некоторые улучшения в управлении общими активами, поскольку обычно активы размещались в проектах платформы, а не в общем проекте, но большая часть этого возможна в Xamarin даже сейчас, поэтому трудно сказать, является ли это какое-то улучшение. или просто маркетинговый трюк.
Также поддержка macOS должна перейти из бета-версии в рабочую. Опять же, сложно сказать, будет ли это какой-то существенный прирост довольно низкого качества в бета-версии или просто маркетинговый трюк.
Начнем с Архитектуры и Истории, которые могут устранить большинство различий.
История Xamarin и MAUI
- Xamarin был представлен до .Net Core, по сути, Microsoft приобрела Xamarin, поскольку он позволяет писать код для Android и iOS с использованием С#.
- Xamarin основан на библиотеке базовых классов Mono (BCL). Библиотеки BCL — это те библиотеки, которые позволяют разрабатывать приложения.
- Точно так же .Net Framework основан на библиотеках базовых классов, которые отличаются от Mono BCL. Таким образом, мы не можем совместно использовать код между разными BCL и Mono BCL, что создает ограничения, из-за которых мы не можем написать код один раз и использовать его на нескольких платформах.
- Позже появился .Net Core, который позволяет нам писать приложения, которые могут работать на Windows, Android и iOS, но при этом имеет собственный Core BCL.
- Позже Microsoft предлагает подход .Net Standard, который позволяет совместно использовать код в разных BCL, таких как BCL для .Net Core, .Net Framework или Xamarin.
- Теперь Microsoft решила перейти на один .Net, т.е. .Net 6, больше никаких .Net Framework, .Net Core. Это все одна платформа для всех типов приложений.
Что может Xamarin
- Xamarin основан на Mono BCL. (Mono — это исходная версия .Net с открытым исходным кодом).
- Разрешить создание собственных приложений для Android или IOS. Это дает возможность подключаться к собственным функциям Android или IOS.
- Примечание. Корпорация Майкрософт решила отказаться от поддержки Xamarin к ноябрю 2022 г.
Теперь приходите в МАУИ
Пользовательский интерфейс многоплатформенного приложения .Net
Подобно Xamarin, приложения MAUI пишутся с использованием XAML и C#.
Используйте тот же код, который можно использовать на разных платформах.
В Xamarin мы создаем отдельные проекты для Andriod или IOS, но в MAUI можно использовать структуру единого проекта в сочетании с общим проектом.
Также можно написать собственный код для Andriod или IOS в MAUI, даже если он имеет единую структуру проекта.
Архитектура MAUI и структура проекта: (если изображение не загружается: используйте это: https://docs.microsoft.com/en-us/dotnet/maui/what-is-maui)
Архитектура Xamarin: (если изображение не загружается: используйте это: https://docs.microsoft.com/en-us/xamarin/get-started/what-is-xamarin)
MAUI - это новое поколение Xamarin Forms с более широкой поддержкой платформы. Первая предварительная версия будет доступна в.NET 5 в ноябре 2020 года, а первая производственная версия выйдет с.NET 6 в ноябре 2021 года.
Xamarin Forms будет поддерживаться в течение одного года после того, как MAUI будет введен в 2021 году, а затем будет заменен на MAUI.
Что происходит с Xamarin.Forms?
устарел, его заменяет.NET MAUI
, недавно созданная платформа с открытым исходным кодом для разработки мобильных и настольных приложений.
Что такое МАУИ?
MAUI (UI многоплатформенного приложения) — это платформа Microsoft для разработки собственных мобильных приложений для Android, iOS, Mac и Windows. Он использует все свои функции, такие как внедрение зависимостей, горячая перезагрузка и т. д. Его расширенная версияXamarin.Forms
когда мы сравниваем производительность и простоту разработки.
В чем разница между MAUI и Xamarin?
У MAUI есть единственный проект, который мы можем выполнять/запускать на разных платформах на основе выбранных
Build Target
. Сохранение ресурсов, все упрощенные шрифтыгорячая перезагрузка включена
Современный шаблон приложения, например
.NET Core
приложений, у нас есть класс запуска/программы, где мы можем использовать встроенную в .NET инъекцию зависимостей, шрифты, ресурсы и множество других функций.МАУИ является частью
.NET
Библиотека базовых классов (BCL)
Существует множество пакетов Nuget для MVVM, пользовательских элементов управления и других функций, связанных с устройствами.
Где мы можем создавать проекты MAUI?
ИспользоватьVisual Studio 2022
для создания проектов MAUI. Перейдите в Файл -> Создать -> Проект -> Выбрать/Поиск..NET MAUI App
-> Нажмите «Далее» и создайте проект.