Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Универсальная платформа 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 . [1] Разработанный как расширение платформы среды выполнения Windows (WinRT), впервые представленный в Windows Server 2012 и Windows 8 , UWP позволяет разработчикам создавать приложения, которые потенциально будут работать на различных типах устройств. [2]

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. [3] [4]

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

Мосты API [ править ]

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

iOS [ править ]

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

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

Android [ править ]

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

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

Развертывание [ править ]

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

Прием [ править ]

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

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

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

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

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

Ссылки [ править ]

  1. ^ "Что такое универсальное приложение для Windows?" . Сеть разработчиков Microsoft . Microsoft . 7 мая 2018 . Проверено 29 апреля 2019 года .
  2. ^ «Введение в приложения универсальной платформы Windows (UWP) для дизайнеров» . Сеть разработчиков Microsoft . Microsoft . 5 мая 2018 . Проверено 29 апреля 2019 года .
  3. ^ «Перенести приложения на универсальную платформу Windows (UWP)» . Сеть разработчиков Microsoft . Microsoft . Проверено 31 июля 2015 года .
  4. ^ «Перейти из среды выполнения Windows 8.x в UWP» . Сеть разработчиков Microsoft . Microsoft . 8 февраля 2017 года . Проверено 29 апреля 2019 года .
  5. ^ Фоли, Мэри Джо. «Microsoft хочет закрыть разделение UWP и Win32 с помощью« Windows Apps » » . ZDNet . Проверено 8 мая 2019 года .
  6. ^ a b c Хахман, Марк (6 августа 2015 г.). «Microsoft выпускает Windows Bridge для создания приложений с iOS на Windows с открытым исходным кодом» . Мир ПК . IDG . Проверено 9 октября 2015 года .
  7. ^ «Мосты универсальной платформы Windows - разработка приложений для Windows» . Разработчик Microsoft .
  8. Рианна Честер, Брэндон (29 апреля 2015 г.). «Microsoft демонстрирует приложения для Android и iOS, работающие в Windows 10» . Anandtech . Inc Закупочная . Проверено 9 октября 2015 года .
  9. ^ Protalinski, Эмиль (1 мая 2015). «Все, что вам нужно знать о переносе приложений Android и iOS на Windows 10» . VentureBeat . Проверено 9 октября 2015 года .
  10. ^ «Microsoft / WinObjC: Objective-C для Windows» . GitHub . Microsoft. 16 февраля 2020.
  11. ^ Branscombe, Мэри (11 мая 2015). «Как поддержка Android будет работать в Windows 10 для телефонов?» . TechRadar . Архивировано из оригинального 19 мая 2015 года . Проверено 9 октября 2015 года .
  12. Брайт, Питер (29 апреля 2015 г.). «Microsoft представляет приложения для Android и iOS в Windows 10» . Ars Technica . Проверено 9 октября 2015 года .
  13. Джо Фоли, Мэри (24 февраля 2016 г.). «Microsoft покупает поставщика мобильных инструментов Xamarin» . ZDNet . CBS Interactive . Проверено 29 апреля 2019 года .
  14. Джо Фоли, Мэри (25 февраля 2016 г.). «Microsoft: наш мост Android Windows 10 мертв, но iOS и Win32 продвигаются вперед» . ZDNet . Проверено 26 февраля, 2016 .
  15. Брайт, Питер (26 февраля 2016 г.). «Microsoft подтверждает: технология Android-on-Windows Astoria ушла» . Ars Technica . Conde Nast . Проверено 29 апреля 2019 года .
  16. Доминго, Майкл (1 мая 2015 г.). «Внутри мостов универсальной платформы Windows» . Журнал Visual Studio . Проверено 9 октября 2015 года .
  17. ^ Радич, Куинн; Сатран, Михаил; Уитни, Тайлер; Джейкобс, Майк; Уэстон, Сьюзен; Дас, Дебалин (7 мая 2018 г.). «Руководство по приложениям универсальной платформы Windows (UWP)» . Центр разработчиков Windows . Microsoft . Проверено 10 мая 2019 года .
  18. ^ «Microsoft необходимо прекратить налагать ограничения, подобные консольным, на игры для ПК из Магазина Windows» . Ars Technica . Conde Nast . Проверено 30 марта 2016 года .
  19. ^ https://docs.microsoft.com/en-us/windows/uwp/gaming/tutorial--create-your-first-uwp-directx-game
  20. ^ Хруска, Джоэл (10 мая 2016). «Новые обновления Windows 10 добавляют поддержку FreeSync, G-Sync и разблокированную частоту кадров» . ExtremeTech . Проверено 10 мая 2019 года .
  21. ^ Макуш, Эдди (30 марта 2016). «Xbox Boss для игр на ПК:« Мы слышали громкие и ясные отзывы » » . GameSpot . Проверено 10 мая 2018 года .
  22. Рианна Уолтон, Марк (4 марта 2016 г.). «Генеральный директор Epic:« Универсальная платформа Windows может, должна, должна и умрет » » . Ars Technica . Conde Nast . Проверено 10 мая 2019 года .
  23. Takahashi, Dean (4 марта 2016 г.). «Тим Суини из Epic ставит под сомнение приверженность Microsoft открытой платформе Windows» . VentureBeat .
  24. Брайт, Питер (16 июня 2016 г.). «Microsoft будет использовать Steam для продажи игр для Windows, а не только в собственном магазине» . Ars Technica . Condé Nast .
  25. ^ Макуш, Эдди (15 июня 2016). «Босс Xbox подтверждает, что скоро появятся новые версии Steam, и обсуждает проблемы ПК» . GameSpot . CBS Interactive .
  26. Спенсер, Фил (30 мая 2019 г.). «Наш подход к компьютерным играм» . Xbox . Проверено 30 мая 2019 года .
  27. Хамфрис, Мэтью (30 мая 2019 г.). «Microsoft дразнит Xbox Game Pass для ПК» . PCMag . Проверено 30 мая 2019 года .

Внешние ссылки [ править ]

  • Руководство по приложениям универсальной платформы Windows (UWP)
  • UWPCommunityToolkit на GitHub
  • Сравнение UWP, Android и iOS с точки зрения программиста