Что такое МАУИ? и в чем разница между 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?

  1. У MAUI есть единственный проект, который мы можем выполнять/запускать на разных платформах на основе выбранныхBuild Target. Сохранение ресурсов, все упрощенные шрифты

  2. горячая перезагрузка включена

  3. Современный шаблон приложения, например.NET Coreприложений, у нас есть класс запуска/программы, где мы можем использовать встроенную в .NET инъекцию зависимостей, шрифты, ресурсы и множество других функций.

  4. МАУИ является частью.NETБиблиотека базовых классов (BCL)

Существует множество пакетов Nuget для MVVM, пользовательских элементов управления и других функций, связанных с устройствами.

Где мы можем создавать проекты MAUI?

ИспользоватьVisual Studio 2022для создания проектов MAUI. Перейдите в Файл -> Создать -> Проект -> Выбрать/Поиск..NET MAUI App-> Нажмите «Далее» и создайте проект.

Другие вопросы по тегам