Назначение нескольких платформ с помощью приложения WinUI 3
После создания начального приложения Hello World WinUI 3 вы можете задуматься о том, как получить доступ к нескольким пользователям с помощью одной базы кода. В этом руководстве будет использоваться uno Platform для расширения доступа к существующему приложению, которое позволяет повторно использовать бизнес-логику и слой пользовательского интерфейса на собственном мобильном устройстве, в Интернете и на рабочем столе.
Необходимые компоненты
- Visual Studio 2022 17.4 или более поздней версии
- Настройка компьютера разработки (см. статью "Начало работы с WinUI")
- ASP.NET и рабочую нагрузку веб-разработки (для разработки WebAssembly)
- Разработка многоплатформенного пользовательского интерфейса приложений .NET (для разработки iOS, Android, Mac Catalyst).
- Установленная разработка классических приложений .NET (для разработки Gtk, Wpf и Linux Framebuffer)
Завершение работы среды
Откройте командную строку, Терминал Windows, если она установлена, или в командной строке или Windows PowerShell из меню "Пуск".
Установите или обновите
uno-check
средство:Используйте следующую команду:
dotnet tool install -g uno.check
Чтобы обновить средство, если вы уже установили старую версию, выполните следующие действия.
dotnet tool update -g uno.check
Запустите средство с помощью следующей команды:
uno-check
Следуйте инструкциям, указанным средством. Так как она должна изменить систему, вам может потребоваться разрешение с повышенными привилегиями.
Установка шаблонов решений Uno Platform
Запустите Visual Studio, а затем щелкните Continue without code
. Щелкните Extensions
в>Manage Extensions
строке меню.
В диспетчере расширений разверните узел Online и найдите Uno
его, установите Uno Platform
расширение или скачайте его из Visual Studio Marketplace, а затем перезапустите Visual Studio.
Создание приложения
Теперь, когда мы готовы создать мультиплатформенное приложение, мы рассмотрим, как создать новое приложение Uno Platform. Мы скопируйм код XAML из проекта Hello World WinUI 3 предыдущего руководства в проект с несколькими платформами. Это возможно, так как Uno Platform позволяет повторно использовать существующую базу кода. Для функций, зависящих от API ОС, предоставляемых каждой платформой, их можно легко работать с течением времени. Этот подход особенно полезен, если у вас есть существующее приложение, которое вы хотите перенести на другие платформы.
В ближайшее время вы сможете получить преимущества этого подхода, так как вы можете нацелиться на более платформы с знакомым вкусом XAML и базой кода, у вас уже есть.
Откройте Visual Studio и создайте проект с помощьюFile
>>New
Project
:
Найдите uno и выберите шаблон проекта приложения Uno Platform App:
Укажите имя проекта, имя решения и каталог. В этом примере проект Hello World MultiPlatform принадлежит решению Hello World MultiPlatform, которое будет жить в C:\Projects:
Создайте новое решение C# с помощью типа приложения Uno Platform App на начальной странице Visual Studio. Чтобы избежать конфликтов с кодом из предыдущего руководства, мы предоставим этому решению другое имя Hello World Uno.
Теперь вы выберете базовый шаблон для использования мультиплатформенного приложения Hello World. Шаблон приложения Uno Platform поставляется с двумя предварительно настроенными параметрами, которые позволяют быстро приступить к работе с пустым решением или конфигурацией по умолчанию, которая включает ссылки на библиотеки Uno.Material и Uno.Toolkit. Конфигурация по умолчанию также включает uno.Extensions, которая используется для внедрения зависимостей, настройки, навигации и ведения журнала, а также использует MVUX вместо MVVM, что делает его отличной отправной точкой для быстрого создания реальных приложений.
Чтобы упростить работу, выберите пустой предустановку. Затем нажмите кнопку "Создать ". Дождитесь создания проектов и их зависимостей.
Баннер в верхней части редактора может попросить перезагрузить проекты, щелкните " Перезагрузить проекты":
Создание приложения
Теперь, когда вы создали функциональную начальную точку мультиплатформенного приложения WinUI, вы можете скопировать разметку в него из проекта Hello World WinUI 3, описанного в предыдущем руководстве.
В Обозреватель решений должна появиться следующая структура файлов по умолчанию:
Убедитесь, что Visual Studio открыт проект WinUI 3, а затем скопируйте дочерние элементы XAML из MainWindow.xaml
проекта MainPage.xaml
WinUI 3 в файл в проекте Uno Platform. Представление MainPage
XAML должно выглядеть следующим образом:
<Page x:Class="HelloWorld.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:HelloWorld"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<!-- Below is the code you copied from MainWindow: -->
<StackPanel Orientation="Horizontal"
HorizontalAlignment="Center"
VerticalAlignment="Center">
<TextBlock x:Name="myText"
Text="Hello world!"
Foreground="Red"/>
</StackPanel>
</Page>
Запустите целевой объект HelloWorld.Windows. Обратите внимание, что это приложение WinUI идентично предыдущему руководству.
Теперь вы можете создать и запустить приложение на любой из поддерживаемых платформ. Для этого можно использовать раскрывающийся список панели инструментов отладки для выбора целевой платформы для развертывания:
Чтобы запустить голову WebAssembly (Wasm):
- Щелкните проект правой
HelloWorld.Wasm
кнопкой мыши, выберите "Задать в качестве запускаемого проекта" - Нажмите кнопку
HelloWorld.Wasm
для развертывания приложения - При желании проект можно использовать
HelloWorld.Server
в качестве альтернативы
- Щелкните проект правой
Отладка для iOS:
Щелкните проект правой
HelloWorld.Mobile
кнопкой мыши, выберите "Задать в качестве запускаемого проекта"В раскрывающемся списке панели инструментов отладки выберите активное устройство iOS или симулятор. Для работы вам потребуется связаться с Mac.
Отладка для Mac Catalyst:
- Щелкните проект правой
HelloWorld.Mobile
кнопкой мыши, выберите "Задать в качестве запускаемого проекта" - В раскрывающемся списке панели инструментов отладки выберите удаленное устройство macOS. Для работы вам потребуется связаться с одним из них.
- Щелкните проект правой
Отладка платформы Android :
- Щелкните проект правой
HelloWorld.Mobile
кнопкой мыши, выберите "Задать в качестве запускаемого проекта" - В раскрывающемся списке панели инструментов отладки выберите активное устройство Android или эмулятор
- Выберите активное устройство в подмене "Устройство"
- Щелкните проект правой
Чтобы выполнить отладку в Linux с помощью Skia GTK, выполните следующую команду:
- Щелкните проект правой
HelloWorld.Skia.Gtk
кнопкой мыши и выберите "Задать в качестве запускаемого проекта" - Нажмите кнопку
HelloWorld.Skia.Gtk
для развертывания приложения
- Щелкните проект правой
Теперь вы готовы приступить к созданию мультиплатформенного приложения!
См. также
Windows developer