Разработка приложений для универсальной платформы Windows (UWP)
Благодаря универсальной платформе Windows и единому ядру Windows одно и то же приложение можно запускать на любом устройстве Windows 10 — от телефонов и до настольных компьютеров. Используйте Visual Studio со средствами разработки универсальных приложений Windows для создания этих приложений.
Запускайте приложение в Windows 10 Phone, на настольных компьютерах Windows 10 или в Xbox. Это один и тот же пакет приложения! С появлением единого унифицированного ядра (OneCore) Windows 10, один пакет приложения может работать на всех платформах. Несколько платформ располагают пакетами SDK расширений, которые можно добавить в приложение для реализации конкретных поведений платформы. Например, пакет SDK для расширений для мобильных устройств обрабатывает нажатие кнопки «Назад» в Windows Phone. Если вы ссылаетесь в своем проекте на пакет SDK расширений, просто добавьте проверки времени выполнения, чтобы убедиться, что этот SDK доступен на этой платформе. Таким способом можно иметь один и тот же пакет приложения для каждой платформы!
Что такое ядро 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».
Windows 10. Visual Studio 2019 поддерживает разработку UWP только в Windows 10. Дополнительные сведения см. в разделах Целевые платформы и Системные требования для Visual Studio.
Visual Studio. Вам также потребуется необязательная рабочая нагрузка «Разработка приложений для универсальной платформы Windows».
После установки программного обеспечения нужно разрешить разработку на устройстве Windows 10. См. раздел Разрешение разработки на устройстве. (Вам больше не нужна лицензия разработчика для каждого устройства Windows 10.)
Универсальные приложения Windows
Выберите предпочтительный язык разработки (C#, Visual Basic, C++ или JavaScript), чтобы создать приложение универсальной платформы Windows для устройств Windows 10. Ознакомьтесь со статьей о создании первого приложения или видеороликом с обзором инструментов для Windows 10.
При наличии существующих приложений Магазина Windows 8.1, приложений для Windows Phone 8.1 или универсальных приложений Windows, созданных с помощью Visual Studio 2015, вам потребуется перенести их, чтобы использовать последнюю версию универсальной платформы Windows. См. раздел Перенос приложения из среды выполнения Windows 8.x в UWP.
После создания универсального приложения Windows нужно упаковать его, чтобы установить на устройстве Windows 10 или отправить в Магазин Windows. См. раздел Упаковка приложений.
Что такое приложение UWP?
UWP — это один из многих способов создания клиентских приложений для Windows. Приложения UWP используют API WinRT для предоставления мощных пользовательских интерфейсов и расширенных асинхронных функций, которые идеально подходят для устройств, подключенных к Интернету.
Чтобы скачать средства, требуемые для создания приложений UWP, ознакомьтесь со сведениями о подготовке, а затем напишите свое первое приложение.
Какое место принадлежит UWP в истории разработки Майкрософт?
История разработки Майкрософт получила логическое развитие с реализацией UWP — мощного средства для создания клиентских приложений, используемого наряду с такими инициативами, как WinUI, MSIX и Project Reunion.
Возможности приложения UWP
Основные достоинства приложения UWP.
Рассмотрим все это более подробно.
Безопасность
В манифестах приложений UWP объявляются возможности устройства, необходимые приложению, — например, доступ к микрофону, геоданным, веб-камере, USB-устройствам, файлам и т. д. Прежде чем приложение получит доступ к возможности, пользователь должен подтвердить и разрешить такой доступ.
Общая поверхность API для всех устройств
В Windows 10 впервые появилась универсальная платформа Windows (UWP), которая предоставляет общую платформу приложений на любом устройстве, работающем под управлением Windows 10. Основные API UWP одинаковы на всех устройствах Windows. Если ваше приложение использует только основные API, оно будет работать на любом устройстве под управлением Windows 10, независимо от того, под какое устройство оно разрабатывалось — ПК, Xbox, гарнитуру смешанной реальности и т. п.
Приложение UWP, написанное на C++ /WinRT или C++ /CX, имеет доступ к API-интерфейсам Win32, которые входят в состав UWP. Эти API Win32 реализуются всеми устройствами с Windows 10.
Пакеты SDK расширений предоставляют уникальные возможности для конкретных типов устройств
Если вы разрабатываете приложение для универсальных API, такое приложение сможет работать на всех устройствах под управлением Windows 10. Но если вы хотите, чтобы ваше приложение UWP могло пользоваться преимуществами API конкретных устройств, это также возможно.
Пакеты SDK расширений позволяют вызывать специализированные API для различных устройств. Например, если ваше приложение UWP предназначено для устройства Интернета вещей, вы можете добавить в свой проект пакет SDK расширения для Интернета вещей, чтобы реализовать функции, характерные для устройств Интернета вещей. См. сведения в разделе Пакеты SDK расширений статьи Программирование с помощью пакетов SDK расширений.
Вы можете написать приложение так, чтобы оно было предназначено для запуска только на устройствах определенного типа, а затем ограничить его распространение в Microsoft Store только этим типом устройств. Или же вы можете реализовать условную проверку на наличие того или иного API во время выполнения и соответствующим образом адаптировать поведение своего приложения. См. сведения в разделе Написание кода статьи Программирование с помощью пакетов SDK расширений.
Следующее видео представляет собой краткий обзор семейств устройств и написания адаптивного кода:
Адаптивные элементы управления и ввод
Элементы пользовательского интерфейса реагируют на размер и плотность точек экрана, на котором выполняется приложение, и выбирают подходящий масштаб и макет. Кроме того, приложения UWP отлично работают с различными средствами ввода, такими как клавиатура, мышь, сенсорные устройства, перо и устройства управления Xbox One. Если нужно дополнительно настроить пользовательский интерфейс в соответствии с определенным размером экрана или типом устройства, новые панели макета и инструменты помогут вам разработать интерфейс, способный адаптироваться к различным устройствам и форм-факторам, на которых может работать ваше приложение.
Windows позволяет ориентировать пользовательский интерфейс на множество устройств с помощью следующих функций:
Некоторые характеристики пользовательского интерфейса приложения автоматически корректируются под разные устройства. Однако при проектировании пользовательского интерфейса приложения могут потребоваться некоторые изменения в поведении приложения в зависимости от устройства, на котором оно работает. Например, приложению для фотографирования при работе на маленьком наладонном устройстве следует адаптировать свой интерфейс так, чтобы с ним удобно было работать одной рукой. Когда это же приложение для фотографирования запускается на настольном компьютере, пользовательский интерфейс должен адаптироваться так, чтобы использовать дополнительное пространство экрана.
Один магазин для всех устройств.
Благодаря единому магазину ваше приложение будет доступно на различных устройствах с Windows 10 — ПК, планшетах, HoloLens, Surface Hub, а также устройствах для Интернета вещей. Вы можете отправить приложение в магазин и сделать его доступным для всех типов устройств или только некоторых из них. Вы отправляете все свои приложения для устройств с ОС Windows и управляете ими централизованно. У вас есть классическое приложение на C++, которое вы хотите модернизировать за счет возможностей UWP и продавать в Microsoft Store? Это тоже возможно.
Приложения UWP интегрируются с Application Insights для получения подробной телеметрии и аналитики, что поможет вам понять предпочтения своих пользователей и усовершенствовать приложения.
Приложения UWP можно упаковывать с использованием MSIX и распространять через Microsoft Store или другими способами. MSIX позволяет обновлять приложения независимо от способа их распространения (см. статью Обновление пакетов приложений, опубликованных не в Store, из кода).
Монетизация приложения
Вы можете выбрать способ монетизации своего приложения. Существует целый ряд способов заработать на своем приложении. Вам нужно только выбрать наиболее подходящий (примеры способов приведены ниже).
Актуальная информация в реальном времени, которая побуждает пользователей вновь и вновь обращаться к приложению
Есть множество способов поддерживать интерес пользователей к приложению UWP.
Использование уже знакомого языка
Приложения UWP могут использовать среду выполнения Windows, то есть собственный API, встроенный в операционную систему. Этот API реализован на языке C++ и поддерживается в C#, Visual Basic, C++ и JavaScript. Некоторые из языков и технологий, пригодных для написания приложений UWP:
Ссылки, которые помогут вам приступить к работе
Подготовка
Скачайте средства, необходимые для создания приложений, на странице Get set up (Подготовка), а затем создайте свое первое приложение.
Проектирование приложения
Корпорация Майкрософт предоставляет систему проектирования под названием Fluent. Fluent Design — это набор функций UWP в сочетании с рекомендациями по созданию приложений, которые будут прекрасно смотреться на всех типах устройств под управлением Windows. Разработанные с помощью Fluent приложения адаптируются к самым разным устройствам — от планшетов и ноутбуков до ПК и телевизоров, и даже к устройствам виртуальной реальности — и выглядят на них совершенно естественно. Вводные сведения о системе Fluent см. в статье The Fluent Design System for Windows app creators (Система проектирования Fluent для разработчиков приложений Windows).
Хорошее проектирование подразумевает принятие решений о том, как пользователи будут взаимодействовать с приложением, а также как оно будет выглядеть и функционировать. Взаимодействие с пользователем очень сильно повлияет на то, насколько люди будут довольны вашим приложением, так что не пренебрегайте этим шагом. Из статьи Проектирование и разработка приложений для Windows вы узнаете, с чего начинать проектирование универсального приложения для Windows. Сведения о проектировании приложений UWP, которыми будут довольны все пользователи, см. в руководстве по приложениям универсальной платформы Windows (UWP) для разработчиков. Прежде чем приступить к написанию кода, изучите вводную информацию об устройствах. Это поможет вам продумать взаимодействие с пользователем в приложении на устройствах любых форм-факторов, на которые вы ориентируетесь.
Помимо взаимодействия на разных устройствах, проектируйте приложение так, чтобы использовать все преимущества работы на разных устройствах. Например:
При разработке рабочего процесса учитывайте основы проектирования навигации для приложений UWP, чтобы поддерживать мобильные устройства, большие и маленькие экраны. Продумайте макет пользовательского интерфейса, который изменяется в соответствии с размером и разрешением экрана.
Подумайте, как вы реализуете прием нескольких типов ввода. Ознакомьтесь с руководством по взаимодействию, чтобы узнать, как пользователи могут взаимодействовать с вашим приложением с помощью Кортаны, службы «Речь», распознавания сенсорного ввода, сенсорной клавиатуры и других возможностей. Или ознакомьтесь с руководством по тексту и текстовому вводу, чтобы узнать больше о традиционных способах взаимодействия.
Добавление служб
Отправьте приложение в Store.
Центр партнеров позволяет централизованно управлять всеми приложениями и держать в одном месте все приложения для устройств Windows. См. статью Публикация приложений и игр для Windows, чтобы узнать, как отправлять приложения в Microsoft Store для публикации.
Новые возможности упрощают процессы, обеспечивая больший контроль с вашей стороны. Вы также найдете здесь подробные аналитические отчеты вместе с сведениями о выплатах, способами продвижения вашего приложения среди пользователей и многие другие сведения.
Подробные вводные сведения см. в статье Windows 10 — An Introduction to Building Windows Apps for Windows 10 Devices (Вводные сведения о создании приложений для Windows для устройств с Windows 10).
Более сложные темы
Сопоставление универсальной платформы Windows (UWP) и API времени выполнения Windows
Если вы разрабатываете приложение для универсальной платформы Windows (UWP), вам будет намного проще и удобнее считать термины «Универсальная платформа Windows» и «Среда выполнения Windows (WinRT)» почти синонимами. Но у вас есть возможность заглянуть «под капот» этих технологий и определить различия между концепциями. Если вам это интересно, то этот последний раздел написан именно для вас.
И, само собой, API-интерфейсы WinRT можно вызвать из приложения UWP. Модель приложения UWP создана на основе среды выполнения Windows. С технической точки зрения модель приложения UWP основана на CoreApplication, но некоторые подробности могут быть недоступны в зависимости от выбора языка программирования. Как описано в этом разделе, с точки зрения ценности платформа UWP предназначена для создания единого двоичного файла, который вы сможете при желании опубликовать в Microsoft Store и запустить на любых устройствах самых разных форм-факторов. Охват устройств для приложений UWP зависит от API среды выполнения Windows, которые может вызывать приложение или которые вы можете вызывать условно.
Мы надеемся, что смогли описать в этом разделе разницу между базовыми технологиями API среды выполнения Windows и механизмом и ценностью универсальной платформы Windows.
Приступая к работе с приложениями для Windows 10
Создавайте приложения, которые работают на всех устройствах с Windows 10, или улучшайте существующие приложения с помощью новых и обновленных функций.
Сведения о приложениях для Windows 10.
Windows 10 и универсальная платформа Windows позволяют создавать приложения, которые прекрасно работают и выглядят на всех типах устройств с Windows, или обновлять существующие приложения с помощью современных функций.
Подготовка
Visual Studio Community и пакет SDK для Windows 10 содержат все необходимые инструменты для разработки превосходных приложений, причем это абсолютно бесплатно!
Начало разработки
Независимо от того, являетесь ли вы опытным разработчиком или просто создаете свое первое приложение, вы можете получить помощь по платформе Windows 10 и доступ к учебной документации.
Учебники
Вам нужно пройти пошаговое обучение с практическими примерами? Эти руководства помогут вам.
Примеры
Научитесь на личном опыте работать с платформой Windows 10 и оцените возможности интерфейсов API в действии.
Новые возможности
Расширьте свои возможности и изучите последние изменения в Windows 10.
Начало разработки
Добро пожаловать на платформу UWP. На этой странице мы приведем необходимую информацию для начала разработки любых приложений для Windows 10, которые вам захочется создать.
Перед началом разработки не забудьте выполнить подготовку.
Обучающие курсы
Перечисленные ниже обучающие курсы позволят вам узнать, что требуется для выполнения некоторых основных задач и где можно найти соответствующую информацию. Это не руководства, но в них представлены примеры кода, которые направят вас на правильный путь.
Задача | Описание |
---|---|
Создание формы | Научитесь создавать форму, которая будет простой в использовании и хорошо выглядеть независимо от размера экрана. |
Отображение пользователей в виде списка | Узнайте, как отображать и редактировать данные в пользовательском интерфейсе. |
Сохранение и загрузка параметров | Узнайте, как и где сохранять параметры и затем получать их. |
Работа с файлами | Узнайте, как выполнять чтение из файлов и запись в них, а также ознакомьтесь с перечнем доступных вам папок. |
Все наши обучающие курсы предназначены для опытных разработчиков, осваивающих Windows 10. Если вы — новичок, ознакомьтесь с нашим содержимым для начинающих разработчиков.
Начинающим разработчикам
Если вы начинаете разрабатывать ПО, корпорация Майкрософт предлагает множество ресурсов для изучения основ программирования и инструментов, необходимых для разработки для Windows 10.
Если вам требуется более подробное пошаговое руководство по основным принципам программирования, языку C#, Visual Studio или возможностям универсальной платформы Windows, ознакомьтесь со следующими ресурсами.
Документация:
Руководства:
Использование документации
Если вы уже изучили наши обучающие курсы или вас интересует то, что они не охватывают, займитесь самостоятельным изучением нашей документации. Вот краткий обзор того, что можно найти в каждой области.
Другие документы
Некоторые специализированные платформы в Windows 10, например, для веб-разработки и смешанной реальности, располагают собственными наборами документов. Если вы заинтересованы в разработке приложения с этими функциями, ознакомьтесь с их документацией:
Что такое Universal Windows Platform (UWP)?
Универсальная платформа Windows (UWP) – это специальная платформа для создания приложений на Windows 10. Вы можете разрабатывать приложения для UWP с помощью всего одного набора API, одного пакета приложений и одного магазина для доступа ко всем устройствам Windows 10 – ПК, планшета, телефона, Xbox, HoloLens, Surface Hub и других. Легче поддерживать несколько размеров экрана, а также различные модели взаимодействия, будь то сенсор, мышь и клавиатура, игровой контроллер или ручка. В основе приложений UWP лежит идея, что пользователи хотят, чтобы их работа, их задачи были мобильными через ВСЕ устройства, чтобы можно было использовать любое устройство, наиболее удобное или производительное для конкретной задачи.
UWP является гибким: вам не нужно использовать C# и XAML, если вы этого не хотите. Вам нравится развиваться в Unity или MonoGame? Предпочитаете JavaScript? Не проблема, используйте все, что хотите. У вас есть настольное приложение C++, которое вы хотите расширить с помощью функций UWP и продавать в магазине? И тут все будет работать.
В итоге вы можете потратить свое время на работу со знакомыми языками программирования, фреймворками и API-интерфейсами, все в одном проекте, и иметь тот же самый код, который работает на огромном диапазоне оборудования Windows из существующих сегодня. После того, как вы написали свое приложение UWP, вы можете опубликовать его в магазине на обозрение всего мира.
Итак, что такое UWP-приложение?
Основа API-интерфейсов универсальной платформы Windows (UWP) одинакова для всех классов устройства Windows. Если ваше приложение использует только основные API-интерфейсы, оно будет запускаться на любом устройстве Windows 10, независимо от того, планируете ли вы использование настольного ПК, гарнитуры Xbox или наушников Mixed Reality.
Тема связана со специальностями:
Элементы пользовательского интерфейса используют эффективные пиксели, поэтому они могут отображать макет в зависимости от количества пикселей экрана, доступных на устройстве. И они хорошо работают с несколькими типами ввода, такими как клавиатура, мышь, сенсорный экран, ручка и контроллеры Xbox One. Если вам нужно дополнительно адаптировать свой пользовательский интерфейс к определенному размеру экрана или устройству, новые панели макетов и инструменты помогут вам в этом.
Используйте язык, который вы уже знаете
Приложения UWP используют Windows Runtime, собственный API, встроенный в операционную систему. Этот API реализован на C++ и поддерживается на C#, Visual Basic, C++ и JavaScript. Некоторые варианты написания приложений в UWP включают:
Видео курсы по схожей тематике:
UX/UI Design Стартовый
UX/UI Design мобильных приложений
Создаем игру типа “Pokémon Go“
Microsoft Visual Studio 2017 предоставляет шаблон приложения UWP для каждого языка, который позволяет вам создать единый проект для всех устройств. Когда ваша работа будет завершена, вы можете создать пакет приложений и отправить его в Windows Store из Visual Studio, чтобы сделать ваше приложение доступным для клиентов на любом устройстве Windows 10.
Приложения UWP оживают в Windows
Наконец, вы можете использовать данные о роуминге и Windows Credential Locker, чтобы обеспечить постоянный роуминг на всех экранах Windows, где пользователи запускают ваше приложение. Данные о роуминге дают вам простой способ сохранить пользовательские настройки и настройки в облаке, не создавая собственную инфраструктуру синхронизации. И вы можете хранить учетные данные пользователя в хранилище учетных данных, где безопасность и надежность являются главным приоритетом.
Монетизируйте ваше приложение
В Windows вы можете выбрать, как вы будете монетизировать свои приложения на телефонах, планшетах, ПК и других устройствах. Вот несколько способов заработать деньги с помощью вашего приложения и услуг, которые оно предоставляет. Все, что вам нужно сделать, это выбрать то, что лучше подходит для вас:
Бесплатные вебинары по схожей тематике:
Увлекательное путешествие в страну динамического программирования
Возможности Vue.js для веб разработчика
Как стать Java разработчиком
Как начать?
Более подробный обзор UWP читайте в официальном Руководстве по приложениям для универсальной платформы Windows. Затем ознакомьтесь с настройкой Get set up, чтобы загрузить инструменты, необходимые для начала создания приложений, и напишите свое первое приложение!