stringtranslate.com

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

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

UWP не предназначена для систем сторонних производителей. Решением Microsoft для других платформ является .NET MAUI (ранее « Xamarin.Forms » [3] ), API с открытым исходным кодом, созданный Xamarin , дочерней компанией Microsoft с 2016 года. Решения сообщества также существуют для нецелевых платформ, таких как Uno . Платформа .

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

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

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

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

API-мосты

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

iOS

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

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

Андроид

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

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

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

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

Прием

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

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

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

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

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

Рекомендации

  1. ^ ab «Что такое универсальное приложение для Windows?». Сеть разработчиков Microsoft . Майкрософт . 7 мая 2018 г. . Проверено 29 апреля 2019 г.
  2. ^ «Введение в приложения универсальной платформы Windows (UWP) для дизайнеров» . Сеть разработчиков Microsoft . Майкрософт . 5 мая 2018 года. Архивировано из оригинала 22 февраля 2019 года . Проверено 29 апреля 2019 г.
  3. ^ «Обновления Xamarin из Microsoft Build 2020» . Блог Xamarin . 19 мая 2020 г. . Проверено 21 января 2022 г.
  4. ^ «Перенос приложений на универсальную платформу Windows (UWP)» . Сеть разработчиков Microsoft . Майкрософт . Проверено 31 июля 2015 г.
  5. ^ «Переход с среды выполнения Windows 8.x на UWP» . Сеть разработчиков Microsoft . Майкрософт . 8 февраля 2017 г. Проверено 29 апреля 2019 г.
  6. ^ Фоли, Мэри Джо. «Microsoft хочет закрыть разрыв между UWP и Win32 с помощью Windows Apps». ЗДНет . Проверено 8 мая 2019 г.
  7. ↑ abc Хачман, Марк (6 августа 2015 г.). «Microsoft выпускает средство создания приложений для iOS-Windows Windows Bridge с открытым исходным кодом» . Мир ПК . ИДГ . Проверено 9 октября 2015 г.
  8. ^ «Мосты универсальной платформы Windows — разработка приложений для Windows» . Разработчик Microsoft .
  9. Честер, Брэндон (29 апреля 2015 г.). «Microsoft демонстрирует приложения для Android и iOS, работающие в Windows 10». Анандтех . Покупка Инк . Проверено 9 октября 2015 г.
  10. Проталински, Эмиль (1 мая 2015 г.). «Все, что вам нужно знать о переносе приложений Android и iOS на Windows 10». ВенчурБит . Проверено 9 октября 2015 г.
  11. ^ «Microsoft/WinObjC: Objective-C для Windows» . Гитхаб . Майкрософт. 16 февраля 2020 г.
  12. Бранскомб, Мэри (11 мая 2015 г.). «Как поддержка Android будет работать в Windows 10 для телефонов?». ТехРадар . Проверено 9 октября 2015 г.
  13. Брайт, Питер (29 апреля 2015 г.). «Microsoft переносит приложения Android и iOS в Windows 10». Арс Техника . Проверено 9 октября 2015 г.
  14. Джо Фоли, Мэри (24 февраля 2016 г.). «Microsoft покупает поставщика мобильных инструментов Xamarin». ЗДНет . CBS Интерактив . Проверено 29 апреля 2019 г.
  15. Джо Фоли, Мэри (25 февраля 2016 г.). «Microsoft: Наш мост для Android и Windows 10 мертв, но мост для iOS и Win32 движется вперед». ЗДНет . Проверено 26 февраля 2016 г.
  16. Брайт, Питер (26 февраля 2016 г.). «Microsoft подтверждает: технологии Android-on-Windows Astoria больше нет». Арс Техника . Конде Наст . Проверено 29 апреля 2019 г.
  17. ^ «Как запускать приложения Android в Windows 11» .
  18. Доминго, Майкл (1 мая 2015 г.). «Внутри мостов универсальной платформы Windows». Журнал Visual Studio . Проверено 9 октября 2015 г.
  19. ^ Радич, Куинн; Сатран, Майкл; Уитни, Тайлер; Джейкобс, Майк; Уэстон, Сьюзен; Дас, Дебалин (7 мая 2018 г.). «Руководство по приложениям универсальной платформы Windows (UWP)». Центр разработчиков Windows . Майкрософт . Проверено 10 мая 2019 г.
  20. ^ «Microsoft необходимо прекратить навязывать консольные ограничения на компьютерные игры из Магазина Windows» . Арс Техника . Конде Наст. 29 февраля 2016 года . Проверено 30 марта 2016 г.
  21. ^ «Создание игры для универсальной платформы Windows (UWP) DirectX — приложения UWP» . Learn.microsoft.com .
  22. ^ Грушка, Джоэл (10 мая 2016 г.). «Новые обновления Windows 10 добавляют поддержку FreeSync, G-Sync и разблокированной частоты кадров». ЭкстримТех . Проверено 10 мая 2019 г.
  23. Макуч, Эдди (30 марта 2016 г.). «Босс Xbox по играм на ПК: «Мы услышали отзывы громко и ясно»». ГеймСпот . Проверено 10 мая 2018 г.
  24. Уолтон, Марк (4 марта 2016 г.). «Генеральный директор Epic: «Универсальная платформа Windows может, должна, должна и умрет»». Арс Техника . Конде Наст . Проверено 10 мая 2019 г.
  25. Такахаши, декан (4 марта 2016 г.). «Тим Суини из Epic ставит под сомнение приверженность Microsoft открытой платформе Windows». ВенчурБит .
  26. Брайт, Питер (16 июня 2016 г.). «Microsoft будет использовать Steam для продажи игр для Windows, а не только свой собственный магазин». Арс Техника . Конде Наст .
  27. Макуч, Эдди (15 июня 2016 г.). «Босс Xbox подтверждает, что в Steam появятся новые релизы, и обсуждает проблемы ПК» . ГеймСпот . CBS Интерактив .
  28. Спенсер, Фил (30 мая 2019 г.). «Наш подход к компьютерным играм». Xbox . Проверено 30 мая 2019 г.
  29. Хамфрис, Мэтью (30 мая 2019 г.). «Microsoft дразнит Xbox Game Pass для ПК» . PCMag . Проверено 30 мая 2019 г.

Внешние ссылки