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


Универсальная платформа Windows (англ. Universal Windows Platform, сокр. UWP) — платформа, созданная Microsoft и впервые представленная в Windows 10. Целью данной платформы является помощь в создании универсальных приложений, запускаемых как на Windows 10, Windows 10 Mobile и Windows 10 IoT без изменения в коде. Есть поддержка создания таких приложений на C++, C#, VB.NET и XAML. API реализован в C++ и поддерживается в C++, VB.NET, C#, F# и JavaScript[1]. Разработанная как расширение для Windows Runtime (платформы, представленной в Windows Server 2012 и Windows 8), позволяет запускать приложения на разных аппаратных платформах[2].

Универсальная платформа — часть Windows 10, Windows 10 IoT, Windows 10 Mobile. Универсальные приложения Windows не запускаются на версиях Windows до 8.

Приложения, которые способны реализовать данную платформу, создаются с использованием Visual Studio 2015, Visual Studio 2017 и Visual Studio 2019. Старые Metro-приложения для Windows 8.1 или Windows Phone 8.1 нуждаются в изменении кода, чтобы поддерживать UWP[3][4].

Во время Build 2015 Microsoft представила набор так называемых «мостов» UWP для портирования приложений для Android и iOS в среду Windows 10 Mobile[5]. Мост Windows для Android (с кодовым названием «Astoria») позволяет портировать приложения Android, написанные на Java или C++, в среду Windows 10 Mobile и опубликовать их в Windows Store. Кевин Галло (англ. Kevin Gallo), руководитель Windows Developer Platform, пояснил, что данная реализация имеет некоторые ограничения: сервисы Google и основное API недоступно, поэтому приложения, имеющие «фоновую деятельность», например, приложения для быстрых сообщений, не будут работать корректно[6][7]. Мост Windows для iOS (с кодовым названием «Islandwood») — открытая связующая-утилита, позволяющая портировать приложения iOS, написанные на Objective-C, в среду Windows 10 Mobile, используя Visual Studio 2015 конвертировав код из Xcode[5][8][9]. Ранние сборки моста для iOS начали распространяться как открытое программное обеспечение под лицензией MIT с 6 августа 2015; мост для Android пока находится в закрытом тестировании[5].

В феврале 2016 Microsoft объявила о приобретении компании Xamarin[10]. Вскоре после покупки Microsoft объявила о закрытии разработки моста Android и поддержки данных приложений в Windows 10. Главным направлением компании остался мост iOS[11].

UWP являлась лишь дополнением к Windows Runtime. Универсальные приложения Windows, созданные с использованием технологии UWP, не нуждаются в обозначении, для какой ОС они предназначены; кроме того, они поддерживают как ПК, так и смартфоны, планшеты или Xbox One, используя мосты UWP. Данное расширение позволяет автоматически поддерживать все возможные платформы[12]. Универсальное приложение может быть запущено на любом мобильном телефоне или планшете. Оно же, запущенное на смартфоне, может вести себя так, как будто запущено на ПК, если подключено к последнему с помощью док-станции[13].