Разработка приложений для универсальной платформы windows visual studio что это

Обновлено: 06.07.2024

Универсальные приложения Windows позволяют задействовать различные устройства Windows с помощью единого решения. Вы пишете код, распределяете его большую часть и используете для Windows, Windows Phone или Xbox.

Суть состоит в том, чтобы максимизировать повторное использование кода. Вы можете повсеместно использовать код, элементы управления, стили, строки и другие активы между проектами Windows Phone и Windows 8 с помощью Visual Studio. Это уменьшает усилия, необходимые для создания и поддержки приложения для каждого типа устройств.

Введение

С точки зрения разработчика универсальное приложение Windows - это не один бинарный файл, который работает на нескольких платформах. Скорее, оно принимает форму решения Visual Studio, содержащего несколько проектов: один проект для каждой платформы в дополнение к совместному проекту, содержащему код и ресурсы, распределённому между платформами. Большая часть кода может быть распределена между проектами, так как Windows Phone 8.1 использует API-интерфейс WinRT, реализованный в Windows 8.1.

Вы можете создать приложение для Windows Phone с использованием среды Silverlight (версия 8.0 или 8.1) или среды WinRT (одно из универсальных приложений для Windows). Среда WinRT позволяет создать одно приложение, которое будет работать на Windows, Windows Phone и даже на Xbox One.

Мы будем использовать фреймворк XAML чтобы разработать приложение для нескольких платформ В текущей версии конвергенция API составляет 90%, но все еще существует небольшое количество несовместимого кода. Функции Windows Phone, доступные только в среде Silverlight, следующие:

  • Поддержка Объективов
  • Поддержка VoIP
  • Задача захвата камеры
  • API для буфера обмена
  • API для обоев экрана заставки

Источником вдохновения является урок по созданию приложения для Windows Phone 7 на Tuts+. Пока приложение часов предназначено только для Windows Phone, мы используем его дизайн, чтобы создать аналогичное приложение для Windows Phone 8.1 и Windows 8.1 Следующий скриншот показывает то, что мы собираемся построить.

Final image of how hexadecimal clock will look
Final image of how hexadecimal clock will look
Final image of how hexadecimal clock will look

В этом уроке мы обсудим следующие темы, которые имеют отношение к разработке универсальных приложений для Windows:

  • структура универсальных приложений Windows
  • переключение проектов в Visual Studio
  • контекстный коммутатор для универсальных приложений Windows в редакторе Visual Studio
  • как создать кроссплатформенный код в общем проекте
  • как добавить поддержку Windows или Windows Phone к существующему проекту.
  • создание универсального приложения Windows с нуля

1. Структура универсальных приложений Windows

Универсальное приложение Windows представляет собой набор из трех проектов, размещённую в дополнительную папку решений. Проекты Windows и Windows Phone платформенные и отвечают за создание пакетов приложений (.appx), предназначенных для соответствующих платформ. Эти проекты содержат данные, необходимые для конкретной платформы.

Общий проект - это контейнер для кода, который работает на обеих платформах. У него нет двоичного кода, а их содержимое импортируется платформенными проектами как и используются как часть процесса сборки для создания пакетов приложений (.appx).

Скриншот показывает решение, которое создаст Visual Studio, если вы выберете шаблон Blank App (Universal Apps).

Universal app solution structure
Universal app solution structure
Universal app solution structure

Visual Studio 2013 Update 2 предоставляет новую функцию - универсальное приложение Windows. Загрузите и установите это обновление перед началом создания универсальных приложений Windows.

2. Переключение проектов

Когда вы создаете решение, проект, который выполняется, является стартовым. Чтобы установить стартовый проект, щелкните правой кнопкой мыши над проектом в обозревателе решений и выберите параметр «Установить как стартовый проект». Вы можете быстро переключить стартовый проект из выпадающего меню «Отладка», который теперь содержит все проекты решения.

Switching startup projects
Switching startup projects
Switching startup projects

Выбранный проект выделен жирным шрифтом в обозревателе решений. Доступные параметры отладки изменяются при переключении стартовых проектов.

  • Когда проект Windows стартовый, в выпадающем меню «Отладка» отображаются параметры для симулятора Windows или локальной машины.
  • Когда проект Windows Phone является стартовым проектом, в выпадающем меню отображаются параметры для устройства, а также различные эмуляторы.

3. Контекстный переключатель в редакторе кода

При написании кода в распределённом проекте вы можете использовать переключатель контекста проекта на панели навигации, чтобы выбрать платформу, на которой вы будете его использовать, что, в свою очередь, изменит настройки IntelliSense в редакторе кода.

Context switcher in the editor
Context switcher in the editor
Context switcher in the editor

Следующий скриншот показывает пример уведомлений в IntelliSense для случая, уведомлений для приложений Windows Phone.

Example of warning icons and Intellisense
Example of warning icons and Intellisense
Example of warning icons and Intellisense

4. Кроссплатформенный код в общем проекте

Ниже приведены константы условной компиляции, которые вы можете использовать для написания кода, специфичного для платформы:

5. Добавление поддержки для Windows / Windows Phone

Если у вас уже есть приложение Windows 8.1, вы можете использовать команду Add Windows Phone 8.1 чтобы добавить новый проект Windows Phone 8.1 и распределённый проект в решение. Аналогичный вариант доступен, если у вас есть приложение Windows Phone 8.1, и вы хотите добавить поддержку для Windows 8.1.

Чтобы добавить поддержку типа устройства в Обозревателе решений щелкните правой кнопкой мыши проект и выберите Добавить Windows Phone 8.1 или Добавить Windows 8.1.

Add Windows 81 app to existing Windows Phone 81 project
Add Windows 81 app to existing Windows Phone 81 project
Add Windows 81 app to existing Windows Phone 81 project

Visual Studio добавляет в решение новый проект Windows Phone или Windows. Распределённый проект также будет автоматически создан.

Следующий скриншот показывает решение после добавления проекта Windows Phone в существующий проект. Распределённый проект, добавленный в решение, изначально пуст.

Project structure after adding a Windows 81 project to an existing Windows Phone 81 app
Project structure after adding a Windows 81 project to an existing Windows Phone 81 app
Project structure after adding a Windows 81 project to an existing Windows Phone 81 app

Заметьте, что если вы создаете приложение с использованием универсального шаблона приложения Windows, рспределённый проект уже содержит файл App.xaml.

Шаг 1: Перенос файлов в распределённый проект

Вы можете перемещать любой код, который вы хотите распределить между приложениями, в общий проект. Например, вы можете переместить папки Common, DataModel и Strings в общий проект. Вы даже можете переместить туда App.xaml.

Следующий скриншот показывает на ссылку, добавленную в оба проекта.

Adding same assembly reference to both projects
Adding same assembly reference to both projects
Adding same assembly reference to both projects

Шаг 2: Распределение App.xaml

Когда вы создаете новое решение для универсального приложения Windows, Visual Studio помещает App.xaml в общий проект. Если вы конвертируете существующий проект в универсальное приложение Windows, вы можете переместить App.xaml в общий проект вручную. После перемещения файла вам нужно будет изменить свойство action для сборки на ApplicationDefinition. Ниже приведены наши шаги:

  • В обозревателе решений в общем проекте выберите файл App.xaml.
  • Выберите окно «Вид» > «Свойства».
  • В окне «Свойства» в выпадающем списке Action выберите ApplicationDefinition.

6. Начинаем написание универсального приложения Windows App

Шаг 1: Настройка проекта

Universal Windows app templates
Universal Windows app templates
Universal Windows app templates

Напишите название проекта. Я напишу Hex Clock Pro для своего проекта.

Шаг 2: Создание пользовательского интерфейса

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

Вместо создания отдельных пользовательских интерфейсов для версий Windows Phone 8.1 и Windows 8.1 Hex Clock Pro я определяю общий дизайн в распределённом проекте. Мне просто нужно внести несколько изменений в файл XAML приложения часов на Tuts+, чтобы он работал на обеих платформах.

Шаг 3: Совместное использование Code

Поскольку приложение Hex Clock Pro не использует API-интерфейсы, специфичные для платформы, Я могу поместить весь код в общий проект.

Прячем Status Bar

Отображение текущего времени

Я использовал класс DispatcherTimer для вызова начального тиканья при загрузке LayoutRoot . Объект timer вызывает функцию timer_Tick которая выполняется при каждом тиканье часов.

Функция timer_Tick обновляет отображаемое время в приложении и в то же самое время обновляет цвет фона.

Обновление цвета фона

Цвет фона устанавливается в виде шестнадцатеричного цвета, который соответствует текущему времени.

Объект класса HexColour инициализируется текущим временем, возвращая соответствующие значения RGB. Конструктор класса HexColour задает значения A, R, G, B для указанного цвета.

Добавление анимаций и эффектов

Я повторил начальную анимацию, используемую в предыдущем приложении часов на Tuts+, и она инициализируется при загрузке LayoutRoot .

Это все, что нам нужно для создания приложения Hex Clock Pro. Приложение использует 100% распределённый код. Вам просто нужно создать отдельные сборки приложений для обеих платформ. Приложение выглядит очень похоже на приложение Windows Phone и использует один и тот же код XAML для своего пользовательского интерфейса.

Hex Clock Pro for Windows Phone 81
Hex Clock Pro for Windows Phone 81
Hex Clock Pro for Windows Phone 81

Заключение

Большинство кода для приложения Windows и приложения Windows Phone является распределённым, и, хотя пользовательские интерфейсы разделены, они достаточно похожи, чтобы создать оба потребуется меньше усилий, чем создание двух пользовательских интерфейсов с нуля.

Если бы я разработал версию Windows Hex Clock Pro для Windows Phone 7 или 8, это было бы намного дольше, поскольку Windows Phone 7 не содержит WinRT API и Windows Phone 8 содержит только небольшую часть API.

В Windows 10 мы увидим больше конвергенции, что означает один API-интерфейс WinRT API для нескольких платформ и высокую степень соответствия между элементами пользовательского интерфейса для каждой платформы, которая не исключает применение элементов, специфичных для отдельных платформ, чтобы представить самые лучшие возможности для каждого устройства. Не стесняйтесь и скачивайте исходные файлы учебника для использования в качестве примера. Hex Clock Pro также доступен на marketplace для Windows Phone 8.1 и Windows 8.1.

Что такое Universal Windows Platform (UWP)?

344

Прокачай свою команду! B2B IT Education

Универсальная платформа Windows (UWP) – это специальная платформа для создания приложений на Windows 10. Вы можете разрабатывать приложения для UWP с помощью всего одного набора API, одного пакета приложений и одного магазина для доступа ко всем устройствам Windows 10 – ПК, планшета, телефона, Xbox, HoloLens, Surface Hub и других. Легче поддерживать несколько размеров экрана, а также различные модели взаимодействия, будь то сенсор, мышь и клавиатура, игровой контроллер или ручка. В основе приложений UWP лежит идея, что пользователи хотят, чтобы их работа, их задачи были мобильными через ВСЕ устройства, чтобы можно было использовать любое устройство, наиболее удобное или производительное для конкретной задачи.

Прокачай свою команду! B2B IT Education

В итоге вы можете потратить свое время на работу со знакомыми языками программирования, фреймворками и API-интерфейсами, все в одном проекте, и иметь тот же самый код, который работает на огромном диапазоне оборудования Windows из существующих сегодня. После того, как вы написали свое приложение UWP, вы можете опубликовать его в магазине на обозрение всего мира.

Итак, что такое UWP-приложение?

  • Существует общая среда API для всех устройств

Основа API-интерфейсов универсальной платформы Windows (UWP) одинакова для всех классов устройства Windows. Если ваше приложение использует только основные API-интерфейсы, оно будет запускаться на любом устройстве Windows 10, независимо от того, планируете ли вы использование настольного ПК, гарнитуры Xbox или наушников Mixed Reality.

Тема связана со специальностями:

  • Расширение SDK позволяет вашему приложению делать классные вещи на определенных типах устройств
  • Приложения упакованы с использованием формата упаковки .AppX и распространяются из магазина
  • Одно хранилище для всех устройств
  • Приложения поддерживают адаптивные элементы управления и ввода

Элементы пользовательского интерфейса используют эффективные пиксели, поэтому они могут отображать макет в зависимости от количества пикселей экрана, доступных на устройстве. И они хорошо работают с несколькими типами ввода, такими как клавиатура, мышь, сенсорный экран, ручка и контроллеры Xbox One. Если вам нужно дополнительно адаптировать свой пользовательский интерфейс к определенному размеру экрана или устройству, новые панели макетов и инструменты помогут вам в этом.

Используйте язык, который вы уже знаете

Видео курсы по схожей тематике:

UX/UI Design Стартовый

UX/UI Design Стартовый

UX/UI Design мобильных приложений

UX/UI Design мобильных приложений

Создаем игру типа “Pokémon Go“

Приложения UWP оживают в Windows

  • Живые фрагменты и экран блокировки отображают контекстно-зависимую и своевременную информацию.
  • Push-уведомления приносят сигналы в реальном времени, отправляя предупреждения вашему пользователю, когда это необходимо.
  • Центр действий – это место, где вы можете организовывать и отображать уведомления и контент, на которые пользователи должны обратить внимание.
  • Background - исполнение и триггеры оживляют ваше приложение, когда пользователю это нужно.
  • В вашем приложении могут использоваться голосовые и Bluetooth-устройства LE, чтобы помочь пользователям взаимодействовать с окружающим миром.
  • Поддержка богатых, цифровых чернил и инновационного набора.
  • Cortana добавляет индивидуальность вашему программному обеспечению.
  • XAML предоставляет вам инструменты для создания плавных анимированных пользовательских интерфейсов.

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

Монетизируйте ваше приложение

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

Бесплатные вебинары по схожей тематике:

Tips&Tricks: How to Survive Meetings with Foreign Customers

Tips&Tricks: How to Survive Meetings with Foreign Customers

Джинн – сервис анонимного поиска работы для программистов

Джинн – сервис анонимного поиска работы для программистов

Увлекательное путешествие в страну динамического программирования

Увлекательное путешествие в страну динамического программирования

  • Платная загрузка – это самый простой вариант. Просто назовите цену.
  • Система нескольких пробных попыток позволит пользователям оценить ваше приложение перед его покупкой. Это обеспечит более легкую конверсию, чем более традиционные варианты «freemium».
  • Используйте скидки для привлечения внимания к своим приложениям.
  • Также доступны покупки и реклама в приложении.

Как начать?

Более подробный обзор UWP читайте в официальном Руководстве по приложениям для универсальной платформы Windows. Затем ознакомьтесь с настройкой Get set up, чтобы загрузить инструменты, необходимые для начала создания приложений, и напишите свое первое приложение!

Разработка приложений для универсальной платформы Windows (UWP)

Благодаря универсальной платформе Windows и единому ядру Windows одно и то же приложение можно запускать на любом устройстве Windows 10 — от телефонов и до настольных компьютеров. Используйте Visual Studio со средствами разработки универсальных приложений Windows для создания этих приложений.

Универсальная платформа Windows

Что такое ядро Windows?

Для ОС Windows был впервые выполнен рефакторинг, в результате чего было создано общее ядро для всех платформ Windows 10. Это один общий источник, одно общее ядро Windows, один стек ввода-вывода файла и одна модель приложения. Для пользовательского интерфейса предусмотрена только одна платформа пользовательского интерфейса XAML и одна платформа пользовательского интерфейса HTML. Вы можете сосредоточиться на создании превосходных приложений, так как процесс запуска приложений на разных устройствах Windows 10 значительно упрощен.

Что такое универсальная платформа Windows?

Универсальная платформа Windows — это просто коллекция контрактов и версий. Они позволяют нацеливаться на среду, в которой может работать приложение. Вам больше не нужно ориентироваться на операционную систему, теперь вы ориентируетесь на одно или несколько семейств устройств. Дополнительные сведения см. в разделе Введение в работу с универсальной платформой Windows.

Средства разработки универсальных приложений Windows поставляются с эмуляторами, которые позволяют узнать, как ваши приложения выглядят на разных устройствах. Чтобы использовать эти эмуляторы, необходимо установить соответствующее программное обеспечение на физическом компьютере. Физический компьютер должен работать под управлением версии Windows 8.1 Профессиональная (x64) или более поздней и иметь процессор, который поддерживает клиент Hyper-V и преобразование адресов второго уровня (SLAT). Если на виртуальной машине выполнена установка Visual Studio, эмуляторы на ней работать не могут.

Ниже приведен список необходимого программного обеспечения.

Windows 10. Visual Studio 2017 поддерживает разработку UWP только в Windows 10. Дополнительные сведения см. в разделах Целевые платформы и Системные требования для Visual Studio.

Visual Studio. Вам также потребуется необязательная рабочая нагрузка "Разработка приложений для универсальной платформы Windows".

Рабочая нагрузка UWP

Windows 10. Visual Studio 2019 поддерживает разработку UWP только в Windows 10. Дополнительные сведения см. в разделах Целевые платформы и Системные требования для Visual Studio.

Visual Studio. Вам также потребуется необязательная рабочая нагрузка "Разработка приложений для универсальной платформы Windows".

Рабочая нагрузка UWP

После установки программного обеспечения нужно разрешить разработку на устройстве Windows 10. См. раздел Разрешение разработки на устройстве. (Вам больше не нужна лицензия разработчика для каждого устройства Windows 10.)

Универсальные приложения Windows

При наличии существующих приложений Магазина Windows 8.1, приложений для Windows Phone 8.1 или универсальных приложений Windows, созданных с помощью Visual Studio 2015, вам потребуется перенести их, чтобы использовать последнюю версию универсальной платформы Windows. См. раздел Перенос приложения из среды выполнения Windows 8.x в UWP.

UWP (Universal Windows Platform) представляет собой унифицированную платформу для создания и запуска приложений в Windows 10 и Windows 10 Mobile.

UWP стала результатом эволюции более ранних технологий. Так, с выходом Windows 8 была внедрена новая архитектурная платформа для приложений - Windows Runtime (WinRT), которая позволяла запускать приложения в так называемом режиме Modern (Metro) на десктопах, планшетах. Затем с выходом Windows 8.1 и Windows Phone 8.1 эта технология получила развитие - появились "универсальные приложения", которые можно было запускать сразу Windows 8.1 и WP8.1. И в июле 2015 года официально вышла новая ОС Windows 10. Она использует платформу UWP, которая представляет собой развитие Windows Runtime.

Как подсказывает название платформы, она является универсальной - универсальной для всех устройств экосистемы Windows 10. А это обычные дестопы, планшеты, мобильные устройства, устройства IoT (интернет вещей), Xbox, устройства Surface Hub. И приложение UWP может одинаково работать на всех этих платформах, если на них установлена Windows 10.

Почему UWP?

Программирование под UWP несет ряд преимуществ:

Широта распространения . На текущий момент (апрель 2017) Windows 10 установлена уже более чем на 400 миллионах устройств. На десктопах Windows 10 уже опередила Windows 8/8.1.

Поддержка широкого круга устройств . Десктопы, планшеты, смартфоны, большие планшеты Surface Hub, различные IoT-устройства, в перспективе устройства виртуальной реальности HoloLens - круг устрйоств, на которых может работать Windows 10 действительно широк.

Магазин приложений и удобство распространения . Windows Store представляет собой прекрасное место для распространения UWP-приложений, как платных, так и бесплатных. Сами возможности платформы и магазина Windows Store позволяют использовать разные способы монетизации. Например, можно интегрировать в приложения блоки для показа рекламы через различные SDK. Можно распространять за определенную плату, причем оплату можно гибко настраивать. При необходимости можно встроить предоставление ознакомительной версии, после использования которой пользователь может решить, покупать приложение или нет. И также можно монетизировать по модели freemium, при которой приложение условно бесплатное, а отдельные услуги внутри приложения предоставляются за определенную плату. Причем все эти возможности монетизации обесечиваются встроенными инструментами SDK.

Богатые возможности платформы . UWP многое наследует от Windows Runtime из Windows 8.1 и в то же время предоставляет много новых функцональностей, как, более богатые возможности по интеграции с облаком, использование Cortana, системы уведомлений в Win10 и многое другое.

Что необходимо для разработки под UWP

Для программирования под UWP необходима ОС Windows 10. Все другие операционные системы, как Windows 8.1/8/7, не говоря уже о Windows XP, не подходят !

Также можно использовать версию VS 2015, а все остальные предыдущие версии Visual Studio - 2013, 2012, 2010 и т.д. с UWP не работают.

При установке Visual Studio 2017 в программе установщика необходимо отметить соответствующий пункт:

Установка Universal Windows Platform

Перед чем как начать создание приложений, убедитесь, что в центре обновления в Windows 10 установлена соответствующая опция для разработчиков:

Центр обновления Windows 10
Опции для разработчиков в центре обновления Windows 10

И имея Windows 10 и установленную Visual Studio 2017, можно приступать к разработке приложений.

Читайте также: