Uwp windows 10 что это такое

Введение в UWP

Что такое Universal Windows Platform

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 действительно широк.

Поддержка разных языков и технологий программирования . UWP-приложения можно создавать с помощью таких языков, как Visual C++, C#, Visual Basic, JavaScript. В качестве технологии для создания графического интерфейса Visual C++, C# и Visual Basic используют XAML, JavaScript применяет HTML. Кроме того, С++ может вместо XAML использовать DirectX. То есть достаточно распространенные и и знакомые многим технологии.

Магазин приложений и удобство распространения . 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, не подходят !

Также потребуется среда разработки Visual Studio 2017 Community. Это полнофункциональная бесплатная среда разработки, которую можно загрузить с официального сайта по адресу https://www.visualstudio.com/downloads/download-visual-studio-vs.

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

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

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

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

Подробно о Windows 10X: контейнеры, работа UWP и Win32 приложений

11 февраля на конференции для разработчиков Microsoft 365 Developer Day компания Microsoft поделилась некоторыми деталями о работе новой операционной системы Windows 10X. Также был представлен эмулятор для разработчиков, позволяющий оптимизировать приложения для устройств с двумя экранами.

Главная особенность Windows 10X заключается в том, что приложения запускаются в контейнерах. Подробнее остановимся на данной технологии и рассмотрим, какие типы приложений можно будет запустить на устройствах под управлением Windows 10X, таких как Surface Neo.

Три типа контейнеров для максимальной совместимости

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

В Windows 10X абсолютно все приложения выполняются в контейнерах, которые являются частью архитектуры ОС. Разработчикам не нужно реализовывать какие-либо дополнительные изменения на высоком уровне для запуска приложений в Windows 10X.

Windows 10X поддерживает три типа контейнеров, один из которых является новым — Win32.

  • Win32 контейнер: предназначен для запуска «классических» 32-битных и 64-битных приложений Win32, WinForms, WPF, Electron и др. Данный контейнер схож со средой обычной настольной ОС. В Windows 10X предусмотрен один контейнер для всех приложений Win32, который обладает «высокой совместимостью» с существующим ПО.
  • MSIX контейнер с полным доверием: имеет высокую совместимость с существующими приложениями. Данный тип контейнеров работает изолированно от других приложений Win32 и может запускаться совместно с Win32 контейнером.
  • Все UWP-приложения: наименьшее влияние на производительность, хорошая автономность, а также наивысший уровень безопасности и конфиденциальности.
Читайте также:  Как удалить windows при выборе системы

Обычным потребителям не обязательно знать о данных технологиях. Большинство приложений Win32 и UWP приложений будут сразу же работать в Windows 10X. При этом неважно, откуда вы устанавливаете приложение — из Магазина Microsoft, Интернета или с USB-накопителя.

Разработчики самостоятельно могут выбирать архитектуру своих продуктов: Win32, прогрессивные веб-приложения или UWP. По понятным причинам UWP-приложения лучше всего оптимизированы для Windows 10X, но Microsoft приложила много усилий, чтобы классические настольные приложения корректно работали в новой системе.

Контейнеры позволяют оптимизировать энергопотребление и производительность

UWP-платформа имеет наилучшую оптимизацию для Windows 10X. Это вполне логично, ведь UWP-приложения первоначально разрабатывались с учетом мобильной платформы Windows Phone (Windows Mobile). Такие приложения повышают безопасность и производительность, снижают энергопотребление и соблюдают меры энергосбережения операционной системы (переход и выход из спящего режима).

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

Microsoft решила «исправить слабые стороны» приложений Win32 (и MSIX) с помощью контейнеризации:

  • Контейнеры Win32 и MSIX потребляют меньше ресурсов, когда окна не находятся в видимой области.
  • Приложения полностью приостанавливаются, когда нет открытых окон.

В свернутом состоянии приложения Win32 и MSIX не будут работать в фоновом режиме. Данная мера позволяет экономить системные ресурсы и заряд аккумулятора. И наоборот, когда приложения Win32 активно используется, они выделяют больше ресурсов для высокой производительности.

Существует два последствия такого поведения. Во-первых, классические приложения Win32 не смогут выполнять фоновые задачи. По крайней мере длительные задачи до приостановки контейнера. Во-вторых, приложения Win32 не смогут автоматически запускаться в Windows 10X. В Windows 10X нет системного трея, поэтому классические приложения не смогут непрерывно работать в фоновом режиме.

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

Наконец, из-за особенности архитектуры контейнеров Win32 и MSIX, антивирусные системы либо будут совсем не нужны, либо будут иметь множество ограничений, что опять же приведет к повышению производительности и увеличению времени автономной работы.

Все будет работать корректно

Интересно, что контейнеризация приложений Win32 не скажется на их функциональных возможностях. Microsoft заявляет, что эти классические приложения получат полный доступ к следующим компонентам:

  • Мышь, клавиатуры, стилус, сенсорный ввод
  • Графика DirectX, аудиоустройства и медиа устройства
  • Сеть
  • Печать

Это означает, что старая модель «Plug and Play» сохранится, и на Surface Neo можно будет использовать все, что вы к нему подключите, включая внешние мониторы и периферийные устройства.

Уровень безопасности будет повышен, потому что пользователь сможет запрещать классических приложениям доступ к камере, микрофону и даже к данным местоположения. Для приложений UWP уже реализована такая функция — пользователь может самостоятельно выдавать разрешения для отдельных приложений. В Windows 10X при желании пользователи смогут отозвать разрешения для всех приложений Win32 на уровне контейнера.

Так как в Windows 10 отсутствует системный трей, то классические приложения не смогут его использовать, что, тем не менее, не должно привести к проблемам стабильности. Microsoft сообщает, что Win32 приложения cмогут работать «как есть» (то есть без изменений в реестре), но из-за контейнеризации программные вызовы никогда не коснутся ОС. Компания заявляет, что ограничения, наложенных контейнером Win32, не должны приводить к сбоям.

Два Проводника

Двойственная природа Windows 10X выражается не только в совместной работе UWP и Win32 приложений, но и в использовании двух файловых менеджеров, в том числе при обращении к команде «Сохранить как» .

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

Однако, при вызове диалогового окна работы с файлами в UWP-приложениях или в самой системе Windows 10X откроется «современный» Проводник Windows (Modern File Explorer), который ограничен необходимыми библиотеками, такими как Видео, Музыка, Избранное, Документы, Изображения и др.

Это значит, что пользователи получают базовый уровень доступа к основным системным библиотекам, но не смогут обращаться к основной файловой структуре на уровне ОС, как в любой настольной системе Windows. Опять же, приложения Win32 будут корректно работать без какого-либо изменения кода.

Приложения запускаются в развернутом режиме

Корпоративный вице-президент Microsoft Developer Platform, Кевин Галло (Kevin Gallo) рассказал, что в настоящее время все приложения в Windows 10X работают в полноэкранном режиме (т.е. развернуты на весь экран). Это похоже на то, как приложения запускаются в Windows 8 или в планшетном режиме в Windows 10.

Причиной такого выбора является размер экрана: чем меньше дисплей, тем больше «плотность» отображаемой информации. Запуск пяти приложений с маленькими окнами на одном 9-дюймовом дисплее вряд ли будет популярным сценарием.

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

Итог: Windows 10X является технически сложной системой, но простой для пользователя

Microsoft спроектировала Windows 10X таким образом, чтобы она была нейтральной для приложений, независимо от архитектуры: Electron, UWP, Win32, WinForms, WPF. Все эти приложения уверенно запустятся на Windows 10X без существенных изменений в коде.

Читайте также:  Linux максимальное число процессов

По сравнению с обычной Windows 10 Microsoft изменила не только дизайн, но и основный приоритет:

  • Windows 10 Домашняя / Pro: создана для приложений Win32, но также может работать с UWP.
  • Windows 10X: создана для UWP приложений, но также может работать с Win32.

Конечно, это условная классификация, но Windows 10X построена так, чтобы быть быстрой, гибкой, мобильной и безопасной. Уже известно, что обновление ОС должно занимать не более 90 секунд. Данное преимущество связано с тем, что Windows 10X построена на замкнутой и ограниченной природе UWP, как и HoloLens.

В любом случае, владельцы Surface Neo смогут устанавливать любое приложение по желанию, и ожидаемое поведение будет соблюдено. У разработчиков также не нужно вносить существенные изменения в свои продукты.

Галло подчеркивает, что приложения, оптимизированные для работы с двумя экранами, также должны обеспечивать лучшее взаимодействие с настольными системами Windows 10. Это яркий пример преемственности Windows 10X и Windows 10.

Как все будет работать на практике, пока неизвестно. Microsoft утверждает, что разница в производительности между приложениями Win32 и UWP в Windows 10X не должна быть заметна для пользователей. Мы вступаем в новую эру мобильных ПК, где пользователям не придется идти на компромиссы.

Примечание: Большая часть данной информации основана на демонстрационном видео «How Windows 10X runs UWP and Win32 apps» показанном на Microsoft 365 Developer Day.

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

Универсальная платформа Windows
Разработчики) Microsoft
Операционная система Windows 10 , Windows 10 Mobile , системное программное обеспечение Xbox One , Windows Mixed Reality
Платформа IA-32 , x86-64 , ARM32 , ARM64
Предшественник Среда выполнения Windows
Тип Вычислительная платформа
Веб-сайт документы .microsoft .com / en-us / windows / uwp /

Универсальная платформа Windows ( UWP ) — это вычислительная платформа, созданная Microsoft и впервые представленная в Windows 10 . Цель этой платформы — помочь разрабатывать универсальные приложения, которые работают в Windows 10, Windows 10 Mobile , Xbox One и HoloLens без необходимости переписывать каждое из них . Он поддерживает разработку приложений для Windows с использованием C ++ , C # , VB.NET и XAML . API реализован в C ++, и поддерживается в C ++, VB.NET, C #, F # и JavaScript . Разработанный как расширение платформы среды выполнения Windows (WinRT), впервые представленной в Windows Server 2012 и Windows 8 , UWP позволяет разработчикам создавать приложения, которые потенциально будут работать на нескольких типах устройств.

UWP официально не нацелен на системы сторонних производителей. Эту задачу официально выполняет Xamarin.Forms , API с открытым исходным кодом, созданный Xamarin, дочерней компанией Microsoft с 2016 года. Решения сообщества также существуют для нецелевых платформ, таких как Uno Platform .

СОДЕРЖАНИЕ

Совместимость

UWP является частью Windows 10 и Windows 10 Mobile. Приложения UWP не работают в более ранних версиях Windows.

Приложения, способные реализовать эту платформу, изначально разработаны с использованием Visual Studio 2015 , Visual Studio 2017 или Visual Studio 2019 . Старые приложения в стиле Metro для Windows 8.1 , Windows Phone 8.1 или для обоих (универсальный 8.1) нуждаются в изменениях для перехода на UWP.

Некоторые функции платформы Windows в более поздних версиях были эксклюзивными для UWP и программного обеспечения, специально упакованного для него, и не могут использоваться в других архитектурах, таких как существующая платформа Win32 , XAML и Windows Forms . Однако с 2019 года Microsoft предприняла шаги для повышения паритета между этими платформами приложений и обеспечения возможности использования функций UWP в программном обеспечении, отличном от UWP. Microsoft представила острова XAML (метод встраивания элементов управления и виджетов UWP в программное обеспечение, не относящееся к UWP) как часть обновления Windows 10 за май 2019 г., и заявила, что это также позволит вызывать функции UWP и компоненты среды выполнения Windows в неупакованном программном обеспечении. .

API-мосты

Мосты UWP переводят вызовы в других интерфейсах прикладного программирования (API) в интерфейс UWP, чтобы приложения, написанные с помощью этих API, работали в UWP. Два моста будут объявлены в течение 2015 сборки тоники для Android и прошивкой приложений , которые будут перенесены на Windows 10 Mobile. По состоянию на февраль 2020 года Microsoft поддерживает мосты для настольных приложений Windows, прогрессивных веб-приложений , Microsoft Silverlight и iOS Cocoa Touch API.

Windows Bridge для iOS (WinObjC)
Разработчики) Microsoft
Первый выпуск 6 августа 2016 г . ; 4 года назад ( 2016-08-06 )
Репозиторий github .com / microsoft / WinObjC
Написано в Цель-C ++ , Objective-C , C , C ++
Тип ПО промежуточного слоя
Лицензия Лицензия MIT
Веб-сайт разработчик .microsoft .com / en-us / windows / bridges / ios /

Windows Bridge для iOS (кодовое название «Islandwood») — это набор инструментов промежуточного программного обеспечения с открытым исходным кодом, который позволяет переносить приложения iOS, разработанные на Objective-C , в Windows 10 с помощью Visual Studio 2015 для преобразования проекта Xcode в проект Visual Studio. Ранняя сборка Windows Bridge для iOS была выпущена как программное обеспечение с открытым исходным кодом по лицензии MIT 6 августа 2015 года, а версия для Android находилась в стадии закрытого бета-тестирования .

Этот проект WinObjC с открытым исходным кодом на GitHub . Он содержит код из различных существующих реализаций Cocoa Touch, таких как Cocotron и GNUstep, а также собственный код Microsoft, который реализует платформы iOS с использованием методов UWP. Он использует версию компилятора LLVM clang.

Android

Windows Bridge для Android (кодовое название «Astoria») представлял собой среду выполнения, которая позволяла приложениям Android, написанным на Java или C ++, запускаться в Windows 10 Mobile и публиковаться в Microsoft Store . Кевин Галло, технический руководитель платформы Windows Developer Platform, объяснил, что этот уровень содержит некоторые ограничения: Google Mobile Services и некоторые основные API-интерфейсы недоступны, а приложения, которые имеют «глубокую интеграцию с фоновыми задачами», такие как программное обеспечение для обмена сообщениями, не будут работать должным образом. в этой среде.

Читайте также:  Кто винду поюзать рад тот позорит наш отряд linux

В феврале 2016 года Microsoft объявила о прекращении разработки Windows Bridge для Android, сославшись на избыточность, поскольку iOS уже является основной платформой для многоплатформенной разработки, и что Windows Bridge для iOS создает собственный код и не требует уровня ОС. эмулятор. Вместо этого Microsoft поощряла использование C # для разработки многоплатформенных приложений с использованием инструментов Xamarin , которые они приобрели до объявления.

Развертывание

UWP — это расширение среды выполнения Windows (WinRT) . Универсальные приложения для Windows , созданные с помощью UWP, больше не указывают, что они были написаны для конкретной ОС в их сборке манифеста; вместо этого они нацелены на одно или несколько семейств устройств, таких как ПК, смартфон, планшет или Xbox One , с помощью универсальных мостов платформы Windows. Эти расширения позволяют приложению автоматически использовать возможности, доступные для конкретного устройства, на котором оно в настоящее время работает. Универсальное приложение может работать как на мобильном телефоне, так и на планшете и обеспечивать подходящие возможности для каждого из них. Универсальное приложение, работающее на смартфоне, может начать вести себя так, как если бы оно работало на ПК, когда телефон подключен к настольному компьютеру или подходящей док-станции .

Прием

На игры, разработанные для UWP, распространяются технические ограничения, включая несовместимость с настройками нескольких видеокарт , трудности с модификацией игры , наложения для клиентов чата, ориентированных на игровой процесс, или менеджеры привязки клавиш. UWP будет поддерживать только DirectX 11.1 или новее, поэтому игры, созданные на более старых версиях DirectX, работать не будут. Во время сборки 2016 глава подразделения Microsoft Xbox Фил Спенсер объявил, что компания пытается решить проблемы, которые улучшат жизнеспособность UWP для компьютерных игр, заявив, что Microsoft «стремится обеспечить соответствие или превышение ожидаемых показателей производительности полноэкранных игр. а также дополнительные функции, включая поддержку наложений, моддинга и т. д. «. Позднее в UWP была добавлена поддержка технологий AMD FreeSync и Nvidia G-Sync , а также отключение вертикальной синхронизации.

Основатель Epic Games Тим Суини раскритиковал UWP за то, что он является огороженным садом , поскольку по умолчанию программное обеспечение UWP можно публиковать и устанавливать только через Магазин Windows , что требует изменений в системных настройках, чтобы разрешить установку внешнего программного обеспечения (аналогично Android ). Кроме того, некоторые функции операционной системы являются эксклюзивными для UWP и не могут использоваться в программном обеспечении, отличном от UWP, например в большинстве видеоигр. Суини охарактеризовал эти шаги как «самый агрессивный шаг, который когда-либо делала Microsoft» в попытке превратить ПК в закрытую платформу, и полагал, что эти шаги были предназначены для того, чтобы поставить сторонние игровые витрины, такие как Steam, в невыгодное положение, поскольку Microsoft «сокращает» свобода пользователей устанавливать полнофункциональное программное обеспечение для ПК и нарушение прав разработчиков и издателей на поддержание прямых отношений со своими клиентами «. Таким образом, Суини утверждал, что конечные пользователи должны иметь возможность загружать программное обеспечение UWP и устанавливать его таким же образом, как и программное обеспечение, не относящееся к UWP.

Вице-президент Windows Кевин Галло ответил на озабоченность Суини, заявив, что «в ноябрьском обновлении Windows 10 мы позволили людям легко загружать приложения по умолчанию, без необходимости UX. Мы хотим сделать Windows лучшей платформой для разработки независимо от используемых технологий, и предлагают инструменты, которые помогут разработчикам с существующими базами кода HTML / JavaScript, .NET и Win32, C ++ и Objective-C перенести свой код в Windows и интегрировать возможности UWP. С помощью Xamarin разработчики UWP могут не только подключиться ко всем устройствам с Windows 10, но и теперь они могут использовать большую часть своего кода C # для создания полностью нативных мобильных приложений для iOS и Android ».

В живом интервью Giant Bomb во время освещения выставки E3 2016 Спенсер защищал неоднозначный прием его эксклюзивных релизов UWP, заявив, что «все они не прошли гладко. Некоторые из них прошли хорошо», и что «все еще определенно есть обеспокоены тем, что UWP и наш магазин каким-то образом связаны гнусным образом. Это не так «. Он также обсудил отношения Microsoft со сторонними разработчиками и дистрибьюторами, такими как Steam, считая эту услугу «критически важной частью успеха игр на Windows» и заявив, что Microsoft планирует продолжать выпуск игр через платформу, а также через свою собственную, но что «будут области, в которых мы будем сотрудничать, и будут области, в которых мы будем конкурировать. Конечный результат лучше для геймеров». Спенсер также заявил, что он был другом Суини и часто контактировал с ним.

30 мая 2019 года Microsoft объявила, что будет поддерживать распространение игр Win32 в Microsoft Store; Спенсер (который с тех пор был назначен главой всех игровых операций в Microsoft и подчинялся непосредственно генеральному директору Сатье Наделле ) объяснил, что разработчики предпочитают архитектуру, и что она «позволяет настраивать и контролировать [разработчики и игроки], к которым приходят ожидайте от открытой игровой экосистемы Windows «. Также было объявлено, что будущие выпуски Xbox Game Studios для Windows будут доступны в сторонних магазинах, таких как Steam, а не эксклюзивно для Microsoft Store.

Оцените статью