В мире программного обеспечения простота является ключом к созданию успешных, высококачественных приложений. Тем не менее, чем больше мы желаем простоты, тем более неуловимым становится.
Основное внимание на пользовательском опыте сделало цифровой мир доступным. Спецификация программного обеспечения, используемое для включения того, работает ли он в Windows, Linux или Mac.
В наши дни мы задаем вопросы, например, какие браузеры будут работать приложение, и он поддерживает его мобильные платформы, такие как Android и iOS.
Когда мы создаем одно и то же приложение для нескольких платформ, мы сталкиваемся с проблемами, которые кажутся тривиальными для одной платформы, но становятся огромными препятствиями. Это такие проблемы, как: Как вы управляете переводами? Как вы поддерживаете цвета? Как насчет активов изображений?
Хотя это было трудное путешествие, мы развивались как отрасль. Мы научились отделять презентацию от логики, мы разработали новые методы, и мы создали новые инструменты для упрощения процесса разработчика.
Сегодня у нас есть Xamarin. Формы для создания мобильных приложений. Как часть .Net 6 , Microsoft берет Xamarin. Формируется на следующий уровень в многоплатформенной структуре приложения UI (MAUI), расширяя свои возможности на настольные приложения.
Рост Xamarin также привел к другим многоплатформенным технологиям, таким как платформа UNO, которая позволяет разработчикам по-настоящему писать один раз, работать везде.
Эта статья будет более глубоко в нескольких платформированных технологиях и исследует различия между MAUI и UNO.
Что такое Xamarin?
Для тех, кто не знаком с Ксамарин Это платформа для написания собственных мобильных приложений для Android, iOS и универсальных приложений в мире .NET.
API Xamarin верно отражают подписи каждой платформы приложений, поэтому написание кода для Xamarin настолько близок к мести, насколько и в мире .NET.
Как правило, решение Xamarin состоит из одного проекта для каждой платформы для поддержки (Android, iOS, Universal), каждый из которых имеет свои различные настройки сборки.
Вы пишете приложение в .NET, а через магию компилятора ваш код .NET становится приложением, которое понимается и выполняется на соответствующей платформе.
Это означает, что при некоторой тщательной архите вы можете поделиться своим кодом с каждой поддерживаемой вами платформой. Это снижает не только ваши усилия по доставке приложения на разных платформах, но и риск несоответствий в поведении.
Microsoft сделала этот шаг вперед и представила Xamarin. Формы С Ксамарином. Формы, разработчик может даже написать код пользовательского интерфейса (UI) в общей библиотеке через код в файлах XAML.
Посетите Microsoft Создайте Xamarin. Формы приложения QuickStart Для примера Xamarin. Вид форм (см. Шаг 10).
Вам нужно создать эту форму только один раз в общей библиотеке, тогда каждая платформа создает соответствующий контроль.
Microsoft приносит Xamarin в .net Основная семья. В последние несколько лет .net Ядро было огромным успехом, с 68 процентов .NET Разработчики Уже используется .net Ядро регулярно. Microsoft также указала, что .net Core является основной реализацией в будущем, отбросив «Core» в своем названии. Следующий выпуск .net Core — .net 6, который включает в себя структуру Maui.
Что такое .NET MAUI?
.СЕТЬ Мауи — следующий шаг в Xamarin. Формы, естественная прогрессия, объединяющая опыт разработки мобильных и настольных компьютеров в одном проекте и расширяет его успех на мобильных приложениях на настольные приложения.
Самые большие различия между .net Мауи и Ксамарин. Формы:
- Все платформы можно управлять в одном проекте
- Одно место для управления всеми активами
- Многоцелевое целевое для организации кода с конкретной платформой
- Поддержка вне коробки модели обновления модели (MVU)
- Поддержка Blazor
С ксамарином в .net Основное семейство, разработчики получают выгоду от создания приложений с помощью Dotnet CLI, означает постоянный процесс сборки. Вы можете использовать один и тот же инструмент командной строки для создания как клиентского приложения, так и сервисов бэкэнд.
Что такое платформа UNO?
Uno Platform Разработанный Nventive в 2013 году и открытый источник в 2018 году, позволяет создавать кроссплатформенные приложения в C#. Похоже на Xamarin. Формы, UNO также направлен на цель «написать один раз, запустить повсюду», используя API, отражающие те, которые предоставляются Universal Windows Platform (UWP) и Winui.
В то время как платформа использует стек Native (не формы) для мобильных и MacOS, она расширяет свой охват в Интернете через Webassembly (WASM) и Linux через Skia. Это означает, что любые обновления Xamarin (через Maui и .net) переносятся в UNO.
Вы можете увидеть UNO как альтернативный путь к эволюции уроженца Xamarin.
Чем .net Maui отличается от Uno?
В то время как .net Мауи — следующий шаг в Xamarin. Формы, UNO принял свой собственный подход, чтобы предоставить больше того, что .NET Мауи имеет на своей дорожной карте.
Первое и наиболее очевидное отличие заключается в том, что платформа UNO позволяет разработчикам создавать для Webassembly и Linux Desktop, в то время как .net Мауи в настоящее время не поддерживает WASM или Linux.
Платформы также различаются с точки зрения внешнего вида.СЕТЬ Мауи фокусируется на предоставлении собственного опыта, что означает, что список (например) выглядит по -разному на устройстве Android по сравнению с устройством iOS. Платформа UNO, с другой стороны, обеспечивает такой же вид на всех платформах.
Это означает, что радиопроизводительные кнопки на iOS вне коробки — не нужно писать пользовательские элементы управления для iOS. Тем не менее, UNO предоставляет крючки для создания различных элементов управления, если это необходимо, так же, как .NET MAUI.
Опыт разработчика
Так как оба .net Maui и платформа UNO созданы для семейства .NET, опыт разработчика должен быть похожим, верно?
На первый взгляд, они кажутся точно такими же: .NET Мауи — следующая версия Xamarin. Формы и UNO — это просто абстракция Xamarin.
Однако тот факт, что ООН выравнивается с UWP, имеет большое значение:
- .СЕТЬ Maui и Uno Platform используют разные вкусы XAML.
- Uno предоставляет официальный порт Microsoft Community Toolkit , который представляет собой коллекцию вспомогательных функций, пользовательских управления и сервисов приложений.
- .СЕТЬ Мауи, скорее всего, будет смотреть на Ксамарин сообщества инструментарий Для сбора установленных элементов управления, вспомогательных функций и услуг.
Традиционно, Модель-View-ViewModel (MVVM) был шаблоном выбора для обоих Xamarin. Формы и платформа UNO.СЕТЬ Мауи поставляется с поддержкой вне коробки для Обновление модели (MVU) шаблон, который может быть интересен для некоторых разработчиков.
Создание приложения с помощью платформы UNO
Давайте пройдемся через пример, используя платформу UNO. Для начала:
- Следуйте Начало работы в Visual Studio Направляйте и установите недостающие зависимости, включая Шаблон решения платформы Uno расширение.
- Создайте новый проект в Visual Studio.
- Выберите шаблон платформы UNO.
Это создает решение, которое выглядит как пример ниже. Он создает один проект для каждой из поддерживаемых платформ. Большинство кодексов и активов живут в соответствии с общим проектом.
В качестве демонстрации перейдите в mainpage.xaml и добавьте следующее:
Наценка XAML должна выглядеть знакомым тем, кто использовал Foundation Windows Presentation Foundation (WPF) в прошлом. Панель стека окружает слайдер и текстовое поле с метками, которые связаны со значениями этих двух входов.
Это то, как выглядит приложение Webassembly в браузере:
Здесь ничего слишком захватывающего — интересная часть заключается в том, что у нас теперь есть рабочее приложение, которое отображает значение слайдера на каждой платформе.
Платформа Uno управляет строковыми ресурсами как Приложение UWP Анкет Создайте файл resources.resw под кодом языка, и вы можете ссылаться на них в XAML, как SO:
И с этим, вот наше приложение с названием «Приложение Uno» на вершине.
Для получения дополнительной информации изучите учебник, который демонстрирует Основная привязка модели Анкет
Еще более впечатляющим является то, что есть Полностью эксплуатационные приложения продемонстрировать платформу UNO. Например, приложение Azure DevOps организует и отслеживает рабочие предметы и ошибки, полностью поставляемое с демо -сайт и git репо .
Образец мауи (Xamarin. Формы) приложение
Образцы Мауи еще не готовы, но .NET Приложение Maui должно выглядеть похоже на Xamarin. Формы приложение.
Microsoft рекомендует всем, кто хочет использовать .net Мауи продолжать использовать Ксамарин. Формы Анкет Они обеспечат миграционный путь, когда все будет готово.
Мы можем достичь такой же функциональности в Xamarin. Формы как .net Maui, используя следующую xaml markup:
Обратите внимание, что в этом примере текстовые блоки теперь являются ярлыками, а текстовое поле отображается на запись. Это связано с Xamarin. Формы, адаптирующие свой API к UWP.
Точно так же Xamarin. Приложение Forms может использовать файлы .resx в Управление строковыми ресурсами Для всех языков, но мы ожидаем .net Мауи, чтобы обеспечить более плавный опыт.
Для нашего примера мы добавили в проект recessources.resx.
В отличие от образца UNO, запрашивающее свойство может получить доступ к заголовку напрямую.
Что это значит для .net Разработчики?
Это захватывающие времена. Можно ли, наконец, написать код один раз и запустить его на каждой платформе? Бесчисленные разработчики отказались от проектов после того, как решить, что их время было лучше потратить на создание на другой платформе.
Эти многоплатформенные инструменты являются огромным временем, что позволяет разработчикам тратить время на создание отличных новых функций вместо переработки одного и того же кода несколько раз.
Новая поддержка платформы больше не означает больше работы. Это означает возможность.
С ожидаемым выпуском .net Мауи и платформы, такие как UNO, разработчики могут по -настоящему писать код один раз и работать везде.
В течение многих лет разработчики боролись с мыслью о многоплатформенных приложениях. Но, если бы мы выглядели немного сложнее, мы могли бы увидеть, что это уже реальность в виде структур, таких как платформа UNO, с возможностями писать код один раз, и запустить на Android, iOS, Windows, MacOS, Linux и браузеры.
С другой стороны, отметьте свои календари на ноябрь 2021 года, ожидаемую дату выпуска .NET 6. Microsoft усиливает свои объединяющие усилия, принимая Xamarin. Формируется на следующий уровень с .net Maui для расширения кроссплатформенных возможностей на настольные приложения.
Это отличная новость, даже если вы решите отказаться от .net Maui и выберите платформу UNO, потому что платформа UNO построена на .NET. Он автоматически наследует все выгоды от производительности, представленные в .NET 6.
Вот лучшая часть: вы можете использовать управление платформой UNO в Ксамарине. Формы и вы можете бежать Ксамарин. Формы приложений в браузере с использованием UNO Анкет Хотя .net Мауи еще нет, Microsoft не дала нам особой причины сомневаться в том, что это будет продолжать работать.
Будущее яркое! Чего ты ждешь? Начните с многоплатформенной разработкой сейчас, чтобы не отставать от этой передовой технологии. И, когда вы используете платформу UNO или Xamarin. Формы, ускоряйте время развития еще больше с помощью Grapecity’s ComponentOne Инструментарий управления пользовательским интерфейсом, включая диаграммы, календари, ленты и многое другое.
Оригинал: «https://dev.to/grapecity/what-s-the-difference-between-maui-and-uno-and-what-do-they-mean-for-net-developers-5hk1»