.NET MAUI vs Xamarin.Forms

Автор:

Trailheadtechnology

Кроссплатформенная разработка приложений по всему миру претерпевает большие изменения благодаря .NET MAUI – следующей модификации Xamarin.Forms.

Используя .NET MAUI, разработчики могут создать единый проект и преобразовать его в нативный код и компоненты нативного UI, работающие на большом количестве платформ, в том числе таких как Android, iOS, MacOS и Windows.

Что представляет собой .NET MAUI?

Любой разработчик приложений для платформы .NET знает об удобстве использования Xamarin.Forms для создания мобильных приложений на iOS, Android и Windows. Однако эта платформа поддерживает не все операционные системы (например, MacOS), поэтому была создана ее улучшенная версия – NET MAUI.

.NET MAUI поддерживает пользовательский интерфейс многоплатформенного приложения и встроена непосредственно в .NET 6. Это крупнейшая эволюция Xamarin.Forms, которая даёт разработчикам возможность написать код один раз и сразу запустить его на всех самых популярных платформах: как на мобильных устройствах, так и на настольных ПК.

Что это означает? В целом, .NET MAUI позволяет разработчикам создавать приложения на C#, которые будут работать эффективно на всех платформах, при этом не требуя дополнительного программирования. Нужен лишь один набор кода для повсеместного запуска.

.NET MAUI новые возможности

Ниже приведены самые интересные возможности и изменения .NET MAUI в сравнении с Xamarin и Xamarin.Forms:

  • Поддержка Mac Catalyst – Разработчики теперь могут ориентироваться на десктопные приложения платформы MacOS в своих проектах .NET MAUI;
  • Архитектура платформы – .NET MAUI встроена непосредственно в .NET и не требует специального типа .NET (Mono) при запуске;
  • Единый проект – Разработчики Xamarin как никто другие знают, что значит создавать отдельные проекты для каждой целевой платформы и затем отдельный проект для общего кода. Теперь можно создавать кроссплатформенные приложения в .NET MAUI в едином проекте, ориентированном на несколько платформ. Также MAUI по-прежнему даёт возможность писать код для целевой платформы, если это необходимо;
  • Поддержка Dotnet CLI – Ваш проект на .NET MAUI теперь может использовать .NET CLI во время процессов разработки, сборки, тестирования и развёртывания;
  • .NET Hot Reload. Одно из самых значимых нововведений .NET – это возможность горячей перезагрузки почти любого проекта, и .NET MAUI тоже не является исключением. Это намного ускоряет внутренний этап разработки, что очень удобно для повседневных задач разработчика;
  • Handlers vs Renders – Компания Майкрософт представила новую модель разработки пользовательского интерфейса, которая работает намного лучше для абстрактного представления конкретного пользовательского интерфейса на основе так называемых обработчиков (Handlers). В свою очередь, для визуализаторов (Renders) предусмотрена совместимость с предыдущими версиями, что упрощает начало процесса перехода ваших проектов Xamarin на новую платформу;
  • .NET 6 – Одна из лучших особенностей .NET MAUI заключается в том, что она встроена непосредственно в .NET 6, и любой разработчик .NET 6 получает доступ ко всем полезным функциям и библиотекам;
  • Общие ресурсы – теперь вы можете делиться ресурсами (изображения, шрифты) и использовать их во всех ваших проектах.
  • Доступность. Использование Xamarin для обеспечения доступности на других платформах стало своего рода “хаком”. В .NET MAUI - это уже первостепенный функционал, использующий семантические свойства для обеспечения доступности на всех целевых платформах;
  • Добавление шаблона MVU в модель MVVM и RxUI – Помимо популярной модели MVVM и реактивных компонентов пользовательского интерфейса, .NET MAUI теперь поддерживает шаблон MVU;
  • Поддержка Blazor – Если вы разрабатываете веб-приложение Blazor, то можете поместить его в хранилище .NET MAUI и запустить на разных платформах;
  • Несколько окон для Windows, MacOS, Android и iPad – Любое приложение настольного ПК должно поддерживать функцию одновременного открытия нескольких окон, и теперь это также доступно и для приложений .NET MAUI.

Что же будет с Xamarin?

Теперь название Xamarin будет уходить на второй план, но фактически Xamarin.iOS и Xamarin.Android продожают жить внутри .NET 6. Однако, теперь они будут называться .NET для iOS и .NET для Android соответственно.

Xamarin.Forms эволюционирует в .NET MAUI, но не стоит переживать по поводу ваших проектов на Xamarin.Forms. Компания Майкрософт продолжит поддерживать Xamarin.Forms до 1 мая 2024 года. По истечении этого времени приложения на Xamarin.Forms продолжат работать и обслуживаться, но на платформе больше не будет обновлений и официальной поддержки от компании Майкрософт.

Переход на .NET MAUI

Компания Майкрософт максимально упростила переход на .NET MAUI для разработчиков Xamarin.Forms. Если вы хотите узнать об этом больше, то ознакомьтесь с документацией Майкрософт по данной теме.

Заключение

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

Добро пожаловать в будущее кроссплатформенной разработки на .NET MAUI.

Материалы по теме