Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
UWP — это один из многих способов создания клиентских приложений для Windows.
Заметка
Если вы начинаете разрабатывать приложения Windows, рекомендуется использовать пакет SDK для приложений Windows и WinUI , а не UWP. Хотя по-прежнему поддерживается, UWP не находится в активной разработке. Дополнительные сведения см. в статье "Начало разработки приложений Для Windows ".
Чтобы скачать средства, которые вам понадобятся для начала создания приложений для Windows, см. статью "Установите средства для Windows App SDK", а затем напишите своё первое приложение.
Где UWP вписывается в историю разработки Майкрософт?
UWP — это один из вариантов для создания приложений, работающих на устройствах с Windows 10 и Windows 11, и их можно объединить с другими платформами. Приложения UWP могут использовать API-интерфейсы Win32 и классы .NET (см. наборы API для приложений UWP, dll для приложений UWP и .NET для приложений UWP).
Функции приложения UWP
Приложение UWP:
- Безопасность: приложения UWP указывают, к каким ресурсам устройств и данным они получают доступ. Пользователь должен авторизовать этот доступ.
- Возможность использовать общий API на всех устройствах под управлением Windows.
- Возможность использовать определенные возможности устройства и адаптировать пользовательский интерфейс к различным размерам экрана устройства, разрешениям и DPI.
- Доступно в Microsoft Store на всех устройствах (или только тех, которые вы указали), работающих в Windows 10 или Windows 11. Microsoft Store предоставляет несколько способов заработать деньги в приложении.
- Можно устанавливать и удалять без риска для компьютера или его устаревания.
- Привлечение: используйте динамические плитки, push-уведомления и действия пользователей, которые взаимодействуют с временной шкалой Windows и функцией "Продолжить с того места, где я остановился" Кортаны, чтобы привлечь пользователей.
- Программируемая в C#, C++, Visual Basic и JavaScript. Для пользовательского интерфейса используйте WinUI, XAML, HTML или DirectX.
Давайте рассмотрим их более подробно.
Безопасный
Приложения UWP объявляют в манифесте возможности устройства, необходимые для доступа к микрофону, расположению, веб-камере, USB-устройствам, файлам и т. д. Пользователь должен подтвердить и авторизовать доступ, прежде чем приложение будет предоставлено этой возможности.
Общая поверхность API на всех устройствах
Windows 10 представила универсальную платформу Windows (UWP), которая предоставляет общую платформу приложений на каждом устройстве под управлением Windows. Основные API UWP одинаковы на всех устройствах Windows. Если ваше приложение использует только основные API, оно будет работать на любом устройстве под управлением Windows, независимо от того, предназначено ли оно для настольного компьютера, Xbox, гарнитуры смешанной реальности и т. д.
Приложение UWP, написанное на C++/WinRT , имеет доступ к API Win32, которые являются частью UWP. Эти API Win32 реализуются всеми устройствами Windows.
Пакеты SDK расширения предоставляют уникальные возможности конкретных типов устройств.
Если вы нацелены на универсальные API, приложение может работать на всех устройствах под управлением Windows 10 или более поздней версии. Но если вы хотите, чтобы приложение UWP пользовалось преимуществами API для конкретного устройства, это также можно сделать.
Пакеты SDK расширения позволяют вызывать специализированные API для разных устройств. Например, если приложение UWP предназначено для устройства Интернета вещей, вы можете добавить пакет SDK расширения Интернета вещей в проект для целевых функций, относящихся к устройствам Интернета вещей. Дополнительные сведения о добавлении SDK расширений см. в разделе SDK расширений в Программирование с помощью SDK расширений.
Приложение можно написать таким образом, чтобы оно выполнялось только на определенном типе устройства, а затем ограничить его распространение от Microsoft Store только таким типом устройства. Кроме того, можно условно протестировать наличие API во время выполнения и соответствующим образом адаптировать поведение приложения. Дополнительные сведения см. в разделе "Написание кода " в разделе "Программирование с помощью пакетов SDK для расширений".
Адаптивные элементы управления и входные данные
Элементы пользовательского интерфейса реагируют на размер и DPI экрана, на котором работает приложение, изменив их макет и масштаб. Приложения UWP хорошо работают с несколькими типами входных данных, таких как клавиатура, мышь, сенсорный ввод, перо и игровые контроллеры. Если вам нужно дополнительно адаптировать пользовательский интерфейс к определенному размеру экрана или устройству, новые панели макета и средства помогут вам разработать пользовательский интерфейс, который может адаптироваться к различным устройствам и форм-факторам, на которые может работать ваше приложение.
Windows помогает нацелить ваш пользовательский интерфейс на несколько устройств с помощью следующих функций:
- Универсальные элементы управления и панели макета помогают оптимизировать пользовательский интерфейс для разрешения экрана устройства. Например, такие элементы управления, как кнопки и ползунки, автоматически адаптируются к размеру экрана устройства и плотности DPI. Панели макета помогают настроить макет содержимого на основе размера экрана. Адаптивное масштабирование регулируется разрешением и различиями DPI на разных устройствах.
- Общая обработка входных данных позволяет получать входные данные с помощью сенсорного ввода, пера, мыши, клавиатуры или игрового контроллера.
- Инструменты, помогающие разрабатывать пользовательский интерфейс, который может адаптироваться к различным разрешениям экрана.
Некоторые аспекты пользовательского интерфейса приложения автоматически адаптируются на разных устройствах. Дизайн пользовательского интерфейса вашего приложения, однако, может потребовать адаптации в зависимости от устройства, на котором запущено приложение. Например, фото-приложение может адаптировать свой пользовательский интерфейс при работе на маленьком ручном устройстве, чтобы гарантировать, что использование идеально подходит для одноручного использования. При запуске приложения для фотографий на настольном компьютере пользовательский интерфейс должен адаптироваться, чтобы воспользоваться дополнительным пространством экрана.
Существует одно хранилище для всех устройств
Единое хранилище приложений делает приложение доступным на устройствах Windows, таких как ПК, планшет, Xbox, HoloLens, Surface Hub и Интернет вещей (IoT). Вы можете отправить приложение в магазин и сделать его доступным для всех типов устройств или только тех, которые вы выбрали. Вы отправляете и управляете всеми приложениями для устройств Windows в одном месте. У вас есть классическое приложение C++, которое вы хотите модернизировать с помощью функций UWP и продавать в Магазине Майкрософт? Это тоже нормально.
Приложения UWP интегрируются с Application Insights для подробной телеметрии и аналитики— важное средство для понимания пользователей и улучшения приложений.
Приложения UWP можно упаковывать с помощью MSIX и распространять через Microsoft Store или другими способами. MSIX позволяет обновлять приложения независимо от того, как они распределены, см. статью Об обновлении пакетов приложений, не опубликованных в Магазине, из кода.
Монетизация приложения
Вы можете выбрать способ монетизации приложения. Есть несколько способов заработать деньги с приложением. Все, что вам нужно сделать, — выбрать тот, который лучше всего подходит для вас, например:
- Платный скачивание — самый простой вариант. Просто назовите цену.
- Пробные версии приложения позволяют пользователям попробовать его перед покупкой, что упрощает поиск и конверсию по сравнению с более традиционными вариантами "freemium".
- Цены на продажу для стимулирования пользователей.
- Покупки в приложении.
Предоставляйте релевантную информацию в режиме реального времени вашим пользователям, чтобы они возвращались снова.
Существует множество способов взаимодействия пользователей с приложением UWP:
- Динамические плитки и плитки экрана блокировки, которые мгновенно отображают релевантные и своевременные сведения из вашего приложения.
- Push-уведомления, которые доставляют уведомления в режиме реального времени, привлекая внимание пользователя.
- Действия пользователей позволяют им возобновлять работу с того места, на котором они остановились в вашем приложении, даже на других устройствах.
- Центр уведомлений упорядочивает уведомления из приложения.
- Фоновое выполнение и триггеры переносят приложение в действие, когда пользователь нуждается в нем.
- Ваше приложение может использовать голосовые команды и устройства Bluetooth LE, чтобы помочь пользователям взаимодействовать с окружающим их миром.
- Интеграция Кортаны для добавления функции голосовой команды в приложение.
Использование уже известного языка
Приложения UWP используют среду выполнения Windows, собственный API, предоставляемый операционной системой. Этот API реализован в C++ и поддерживается в C#, Visual Basic, C++и JavaScript. Ниже приведены некоторые варианты написания приложений UWP:
- Пользовательский интерфейс XAML и C#, VB или C++
- Пользовательский интерфейс DirectX и C++
- JavaScript и HTML
- WinUI
Ссылки, которые помогут вам начать
Начать настройку
Ознакомьтесь с Руководством по настройке, чтобы скачать инструменты, необходимые для начала создания приложений, а затем создайте свое первое приложение.
Разработка приложения
Система проектирования Майкрософт называется Fluent. Система Fluent Design — это набор функций UWP в сочетании с рекомендациями по созданию приложений, которые прекрасно работают на всех типах устройств под управлением Windows. Интерфейсы Fluent адаптируются и ощущаются естественно на устройствах: от планшетов до ноутбуков, от ПК до телевизоров, и на устройствах виртуальной реальности. См. систему Fluent Design для приложений UWP для ознакомления с Fluent Design.
Хороший дизайн — это процесс принятия решений о том, как пользователи будут взаимодействовать с приложением, а также как он будет выглядеть и функционировать. Взаимодействие с пользователем играет огромную роль в определении того, как счастливые люди будут с вашим приложением, поэтому не пропустите этот шаг. Основы проектирования универсального приложения для Windows. Просмотрите руководство по устройству, чтобы вы могли продумать взаимодействие с приложением на всех различных форм-факторах, на которые вы хотите целиться.
Помимо взаимодействия на разных устройствах, запланируйте ваше приложение так, чтобы учесть преимущества работы на нескольких устройствах. Например:
Организуйте свой рабочий процесс, используя основы проектирования навигации для приложений UWP, чтобы приспособить его для мобильных устройств, устройств с малым экраном и устройств с большим экраном. Разложите пользовательский интерфейс для реагирования на различные размеры экрана и разрешения.
Рассмотрим способ размещения нескольких типов входных данных. Ознакомьтесь с рекомендациями по взаимодействию , чтобы узнать, как пользователи могут взаимодействовать с приложением с помощью речи, сенсорной клавиатурыи многое другое. Кроме того, ознакомьтесь с руководством по тексту и вводу текста для более традиционного взаимодействия.
Добавление служб
- Используйте облачные службы Azure для синхронизации между устройствами.
- Узнайте, как подключиться к веб-службам для поддержки вашего приложения.
- Включите пуш-уведомления и покупки в приложении в свои планы. Эти функции должны работать на разных устройствах.
Отправка приложения в Магазин
Центр партнеров позволяет управлять и отправлять все приложения для устройств Windows в одном месте. Ознакомьтесь с разделом "Публикация приложений и игр Windows ", чтобы узнать, как отправлять приложения для публикации в Microsoft Store.
Новые функции упрощают процессы, обеспечивая больший контроль. Вы также найдете подробные аналитические отчеты об объединенных выплатах, способы продвижения вашего приложения и взаимодействия с клиентами и многое другое.
Дополнительные вводные материалы см. в статье "Введение в создание приложений Windows для устройств с Windows 10"
Более сложные разделы
- Узнайте, как использовать Активность пользователей, чтобы действия пользователей в вашем приложении отображались на временной шкале Windows и в функции Кортаны "Возобновить с того места, где я остановился".
- Узнайте, как использовать плитки, значки и уведомления для UWP-приложений.
- Полный список API Win32, доступных для приложений UWP, см. в разделе "Наборы API" для приложений UWP и библиотек DLL для приложений UWP.
- Общие сведения о написании приложений UWP для .NET см. в универсальных приложениях Windows в .NET .
- Список типов .NET, которые можно использовать в приложении UWP, см. в разделе .NET для приложений UWP.
- Компиляция приложений с помощью .NET Native
- Узнайте, как добавить современные возможности для пользователей Windows в существующее классическое приложение и распространить его в Microsoft Store с помощью моста для настольных компьютеров.
Как универсальная платформа Windows связана с API среды выполнения Windows
Если вы создаете приложение универсальной платформы Windows (UWP), вы можете извлечь много пользы, рассматривая термины "Универсальная платформа Windows (UWP)" и "Среда выполнения Windows (WinRT)" как более или менее синонимичные. Но можно заглянуть под капот технологии и определить, в чем разница между этими идеями. Если вам интересно об этом, то последний раздел предназначен для вас.
Среда выполнения Windows и API WinRT являются эволюцией API Windows. Первоначально Windows была запрограммирована с помощью неструктурированных API Win32 в стиле C. Для них были добавлены API-интерфейсы COM (DirectX является заметным примером). Windows Forms, WPF, .NET и управляемые языки принесли собственный способ написания приложений Windows и их собственный вкус технологии API. Среда выполнения Windows в основе своей является следующим этапом COM. На самом уровне двоичного интерфейса приложения (ABI) его корни в COM становятся видимыми. Но среда выполнения Windows была разработана для вызова из большого диапазона различных языков программирования. И вызываемые таким образом, чтобы это было естественно для каждого из этих языков. Для этого доступ к среде выполнения Windows предоставляется через то, что называется проекциями языка. Существует проекция языка среды выполнения Windows на C#, в Visual Basic, в стандартный C++, в JavaScript и т. д. Кроме того, после упаковки соответствующим образом (см. мост для настольных компьютеров), вы можете вызывать API WinRT из приложения, встроенного в один из различных моделей приложений: Win32, .NET, WinForms и WPF.
И, конечно, вы можете вызывать API WinRT из приложения UWP. UWP — это модель приложения, созданная на основе среды выполнения Windows. Технически модель приложения UWP основана на CoreApplication, хотя эти сведения могут быть скрыты от вас в зависимости от выбранного языка программирования. Как описано в этом разделе, с точки зрения ценности UWP позволяет писать один двоичный файл, который может быть опубликован в Microsoft Store и работать на любом из различных форм-факторов устройства. Охват устройств вашего приложения UWP зависит от подмножества API среды выполнения Windows, которые ваше приложение может вызывать, или которые вызываются при определённых условиях.
Надеюсь, этот раздел был успешным в описании разницы между технологиями, базовыми API среды выполнения Windows, механизмом и бизнес-ценностью универсальной платформы Windows.