it-roy-ru.com

Является ли Universal Windows Platform заменой WinRT для приложений Windows 8 и Windows Phone?

Является ли Universal Windows Platform заменой WinRT для приложений Windows 8 и Windows Phone? Я имею в виду, что была платформа WinRT для разработки приложений для метро исключительно для Windows 8. Теперь это заменяется UWP, не так ли?

14
HappyFace

Это верно, UWP - это новая платформа для ВСЕХ устройств Windows в будущем (Win 10+). Однако WinRT не заменяется UWP, а является расширением поверх него, что делает UWP гораздо более широким набором API-интерфейсов, которые можно использовать на еще большем количестве устройств. Как заявляют сами Microsoft:

Благодаря этой эволюции приложения, нацеленные на UWP, могут вызывать не только API-интерфейсы WinRT, которые являются общими для всех устройств, но также и API-интерфейсы (включая API-интерфейсы Win32 и .NET), специфичные для семейства устройств, на котором выполняется приложение.

Платформа UWP поддерживает класс API "Universal Device Family", который затем поддерживается на ВСЕХ платформах Windows (Xbox, Phone, Desktop и т.д.). Существует несколько семейств расширений, которые можно использовать для ограничения доступа приложений, например "Семейство мобильных устройств".

Однако эти конкретные API-интерфейсы семейства устройств могут быть проверены и изящно использованы во время выполнения. Например, вы можете показать свое местоположение с помощью GPS на телефоне, но не включить эту функцию на Xbox.

Я надеюсь, что этот ответ поможет вам, если у вас есть еще вопросы по этому поводу, я рекомендую прочитать эту статью о платформе UWP:

Источник: https://msdn.Microsoft.com/library/windows/apps/dn894631.aspx

Хорошего дня!

20
ILOABN

Это немного сбивает с толку, потому что в Windows 8.x "среда выполнения Windows" фактически использовалась для обозначения нескольких разных вещей:

  1. Новый шаблон (и поддерживающий компоненты кода/ОС) для определения и использования API-интерфейсов Windows, призванный в значительной степени заменить "Win32" (т. Е. Плоский стиль C) и классический COM для новых API-интерфейсов в большинстве сценариев. Это было/действительно связано с языковым взаимодействием: позволить команде Windows (и, возможно, другим) создавать компоненты в C++, которые предоставляют API, которые не зависят от GC или среды выполнения, такой как CLR, но все еще чувствуют себя относительно естественными для использования из C # или JavaScript без необходимости написания упаковок вручную.

  2. Набор API-интерфейсов Windows, которые следуют вышеуказанному шаблону.

  3. Новая платформа/среда для создания и запуска нового типа приложений Windows, которые должны обладать некоторыми характеристиками мобильных и веб-приложений с точки зрения уменьшения количества потенциальных проблем с безопасностью, надежностью, производительностью, временем работы от батареи и т.д. Это - это то, что превратилось в UWP с Windows 10.

В дни Windows 8 эти приложения назывались "приложениями в стиле Metro" в течение большей части периода предварительного просмотра 8.0 и официально назывались "приложениями Магазина Windows" как раз перед RTM. платформа/среда для этих приложений ... официально не имеет названия (кроме "платформа для приложений в стиле Metro"). Неофициально люди (в том числе в Microsoft) иногда называют его "Метро" (целая банка червей в себе) или ... "WinRT".

Итак, какова взаимосвязь между "правильным" WinRT (определения 1 и 2) и неофициальным определением WinRT (3), известной как UWP или ранее безымянная "платформа для приложений в стиле Metro"? Итак, поскольку WinRT и новая платформа приложений были представлены в Windows 8, большинство API WinRT в то время были специфичны для новой платформы. Платформа приложений (и политика Магазина) в то время также была гораздо более жесткой в ​​отношении того, какие устаревшие API Win32 разрешены для использования в приложениях - по большей части это было не столько из-за технических ограничений, сколько из-за команды, надеющейся использовать новые приложения. в качестве предлога для очистки раздутой поверхности Win32 API. Но технически WinRT предназначен для использования в качестве общего шаблона для новых API Windows в целом, независимо от того, используются ли они в UWA или нет, а "UWA против классического приложения" и "WinRT против Win32" в основном независимы; Со временем они постепенно включили больше WinRT API для использования вне UWA, а также ослабили свои политики по использованию большого количества старых Win32 API в приложениях (а также продолжили вводить новые плоские API в стиле C для определенных случаев использования).

Подводя итог, нельзя сказать, что технически точно сказать, что "UWP заменил WinRT", хотя и понятно, так как все это довольно запутанно. UWP заменил безымянную платформу приложений (3); по сути, это просто обновленная версия, которая была портирована на другие типы устройств и интегрирована с классическим интерфейсом рабочего стола. WinRT в своем правильном определении (1) продолжает оставаться основой для новых API-интерфейсов Windows для использования в UWA и даже вне их.

6
Max Strini

Универсальная платформа Windows - это платформа для разработки устройств под управлением Windows. Ранее разработка была отдельной для настольных компьютеров и планшетов против телефонов. С помощью UWP вы теперь можете настроить таргетинг на любое устройство под управлением Windows 10, например, телефон, компьютер, планшет, xbox. Прелесть в том, что теперь вы можете использовать один двоичный файл для всех этих платформ, что значительно приблизило нас к действительно универсальному приложению Windows.

Итак, чтобы ответить на ваш вопрос, да, UWP - это платформа для любого устройства, работающего под управлением Windows 10.

0
James Quick