Posted on 2. June 2021

Анонс .NET MAUI Preview 4

Read this article in your language IT | EN | DE | ES

 

 

 

Сегодня Microsoft объявили о доступности .NET Multi-platform App UI (.NET MAUI) Preview 4. Каждая предварительная версия представляет больше элементов управления и функций для этого многоплатформенного инструментария, который станет общедоступным в ноябре этого года на конференции .NET Conf.  .NET MAUI теперь имеет достаточно строительных блоков для создания функциональных приложений для всех поддерживаемых платформ, новые возможности для поддержки запуска Blazor на настольных компьютерах и впечатляющий прогресс в Visual Studio для поддержки .NET MAUI.

Погода '21

Чтобы продемонстрировать прогресс в Preview 4 для Microsoft Build, разработчики быстро спроектировали и разработали простое, но красивое приложение с погодой. Ожидая, пока Visual Studio интегрирует функции повышения производительности .NET MAUI, начали с Xamarin.Forms. Реализовали каждый виджет пользовательского интерфейса и каждый экран с общим стилем в единой кодовой базе. Через несколько часов перенесли эту работу в .NET MAUI, внеся несколько небольших изменений, таких как принятие нового пространства имен  Microsoft.Maui. Процесс прошел легко и быстро!

Также воспользовались возможностью, чтобы показать, как легко - осветить глубокую интеграцию платформы, реализовав действия приложения, значок на панели задач (строка состояния) и встроенные в платформу уведомления - все из одного проекта, работающего на Android, iOS, macOS, и Windows.

private void SetupAppActions()

{

    try

    {

        AppActions.SetAsync(  

            new AppAction("current_info", "Check Current Weather", icon: "current_info"),

            new AppAction("add_location", "Add a Location", icon: "add_location")

        );

    }

    catch (System.Exception ex)

    {

        Debug.WriteLine("App Actions not supported", ex);

    }

}

Ознакомьтесь с исходным кодом WeatherTwentyOne, на GitHub, и демонстрациями из сборки 2021.

Новые возможности

Progress продолжает перенос элементов управления и макетов из Xamarin.Forms в архитектуру .NET MAUI. Таким образом, .NET MAUI является одновременно захватывающе новым и не новым. За последние 7лет многое узнали о том, как сделать кроссплатформенный нативный пользовательский интерфейс производительным и легко расширяемым, и используем это здесь. Чтобы узнать о текущем статусе этой работы, посетите отчет о статусе GitHub.

BlazorWebView

Новый BlazorWebView позволяет размещать веб-приложение Blazor прямо в приложении .NET MAUI и использовать преимущества встроенных функций платформы и элементов управления пользовательского интерфейса. Элемент управления можно добавить на любую страницу XAML и указать на корень приложения Blazor.

<BlazorWebView 
    HostPage="wwwroot/index.html"
    Services="{StaticResource Services}">
    <BlazorWebView.RootComponent>
        <RootComponent 
            Selector="#app"
            ComponentType="{x:Type local:Main}"
        />
    </BlazorWebView.RootComponent>
</BlazorWebView>
 
Чтобы подробнее узнать об этой мощной интеграции, прочитайте больше в блоге ASP.NET.
 
Заставка
На мобильных платформах вы хотите, чтобы ваш первый экран появлялся как можно быстрее, и для этого нужно реализовать статический экран-заставку. .NET MAUI теперь имеет единое место для описания экрана-заставки для всех поддерживающих их платформ. 
 
<MauiSplashScreen Include="Resources\appiconfg.svg" Color="#512BD4" />
 
 
Вместе с фоновой кистью может быть предоставлен любой формат изображения, аналогично тому, как делают значки приложений. Для более сложных сценариев по-прежнему применимы все методы экрана-заставки, встроенные в платформу.
 
Первичные средства
 

.NET MAUI теперь позволяет очень легко добавлять другие ресурсы в ваш проект и напрямую ссылаться на них, сохраняя при этом производительность платформы. Например, если вы хотите отобразить статический HTML-файл в WebView, вы можете добавить файл в свой проект и аннотировать его как MauiAsset в свойствах.

<MauiAsset Include="Resources\Raw\index.html" />
 
Совет: вы также можете использовать подстановочные знаки для включения всех файлов в каталоге: Include="Resources\Raw\*"
 
Затем вы можете использовать его в своем приложении по имени файла.
 
<WebView Source="index.html" />

 

Производительность Visual Studio

В Visual Studio 16.11 Preview 1 впервые покажут функции повышения производительности для .NET MAUI, включая новые параметры запуска для многоцелевого одиночного проекта и совершенно новую .NET Hot Reload для редактирования управляемого кода.

Выполнение одного проекта

Single Project представляет новый интерфейс для выбора целевой платформы и устройства при запуске приложений .NET MAUI. Эти изменения упрощают процесс запуска и предоставляют вам доступ ко всем платформам и устройствам в одном месте.

Для одного проекта проекты приложений для конкретной платформы больше не входят в состав решения, поэтому вы больше не будете щелкать правой кнопкой мыши проект, чтобы установить его в качестве запускаемого проекта.

В новом селекторе целевой отладки вы сначала выберете целевую платформу. После выбора целевой платформы вам будет предоставлен список устройств, на которых вы можете запустить приложение .NET MAUI. Все это будет доступно через меню «Выполнить», если у вас есть отдельный проект .NET MAUI.

Новое меню запуска - первое из множества изменений в Visual Studio для поддержки приложений с одним проектом.  

.NET Hot Reload

.NET Hot Reload - это новый интерфейс, который позволяет вам вносить изменения в исходный код вашего приложения .NET MAUI в режиме реального времени во время его работы, сокращая количество раз, которое вам нужно перестроить.

Чтобы начать тестирование этой функции, установите .NET 6 Preview 4 и Visual Studio 2019 версии 16.11 Preview 1. Запустите приложение с помощью отладчика Visual Studio (F5), нацеленного на узел WinUI 3. После запуска приложения у вас появится новая возможность вносить изменения в код и применять их с помощью нашей новой кнопки «Применить изменения кода», как показано ниже.

 В следующих выпусках .NET Hot Reload также будет доступен для Android, iOS и macOS, и также будут интегрировать XAML Hot Reload и Live Visual Tree.

Чтобы узнать больше о Hot Reload, прочтите статью Представление о .NET Hot Reload.

Готовность экосистемы

Одним из основных преимуществ использования .NET является использование богатой экосистемы элементов управления и библиотек для создания приложений. В Preview 4 команда Telerik выпустила свой первый набор элементов управления для .NET MAUI: https://www.telerik.com/maui-ui. Ознакомьтесь с их полным объявлением.

«С самых первых дней .NET MAUI наша команда была в восторге от концепции, лежащей в основе его мультиплатформенных возможностей! Это будет новая эра для разработчиков .NET, и мы рады сотрудничать с Microsoft в этом путешествии». сказал Стефан Стефанов, директор по управлению продуктами компании Progress. «Предварительная версия Telerik UI для MAUI предоставляет сообществу разработчиков .NET профессионально спроектированные, многофункциональные компоненты пользовательского интерфейса, позволяющие начать их кроссплатформенную разработку и предоставлять потрясающие приложения».

Другие поставщики компонентов также планируют поддержку .NET MAUI, например Syncfusion, DevExpress и GrialKit.

А как насчет библиотек с открытым исходным кодом? Дэн Сигел уже поделился предварительным просмотром Prism, популярной библиотеки MVVM.

Microsoft проводит ежемесячный призыв сообщества, чтобы помочь разработчикам перенести свои библиотеки на .NET 6 и .NET MAUI. Если вы хотите принять участие, отправьте электронное письмо по адресу david.ortinau@microsoft.com.

Начни сегодня

Проверьте .NET MAUI сегодня. Начните быстро, запустив инструмент maui-check .NET из командной строки, чтобы установить .NET 6 Preview и все зависимости SDK, необходимые для разработки приложений .NET MAUI.

 

 

Нет maui-check ? Запустите это из командной строки:

dotnet tool install -g Redth.Net.Maui.Check

 

Запускаем maui-check и следуем инструкциям.

 

Откройте Visual Studio 2019 16.11 Preview 1 и создайте новый проект пользовательского интерфейса многоплатформенного приложения .NET.

Новый формат решения включает в себя многоцелевой проект, который работает на Android, iOS и macOS, и два проекта WinUI для Windows. В будущих выпусках проекты WinUI будут включены в многоцелевой проект.  

Пакеты .NET MAUI и AndroidX временно находятся в размещенном фиде. Как только объединят эти пакеты как рабочую нагрузку, этот шаг больше не понадобится. Выполните следующие команды терминала, чтобы добавить требуемый источник.

dotnet new nugetconfig
 
dotnet nuget add source -n maui-preview https://aka.ms/maui-preview/index.json

 

Чтобы запустить на Android, установите мультицелевой проект в качестве стартового и выберите платформу Android в меню «Выполнить», чтобы увидеть свои эмуляторы Android.

 

Эмуляторы Android - если это ваш первый запуск, вас могут попросить создать собственный эмулятор, прежде чем приложение будет развернуто и запущено.

В следующих выпусках добавят поддержку iOS в Windows для разработки из Visual Studio на подключенное устройство iOS.

Дополнительные сведения о начале работы с .NET MAUI в вики-документации на GitHub.

Обратная связь

Сообщите о своем опыте использования .NET MAUI Preview 4 для создания новых приложений, связавшись на GitHub по адресу dotnet / maui.

Чтобы узнать, что будет в будущих выпусках, посетите  product roadmap.

 

Источник



Comments are closed