logo

Windows 10X: подробности о контейнеризации, UWP и Win32-приложениях

Автор:

Windows 10X: подробности о контейнеризации, UWP и Win32-приложениях

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

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

Три типа контейнеров

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

В настоящее время существует три типа контейнеров:

  1. Контейнер Win32 запускает «классические» 32- и 64-битные приложения Win32, WinForms, WPF, Electron и т. д., представляя собой среду, аналогичную настольной ОС. Существует всего один контейнер для всех приложений Win32, и он достаточно хорошо совместим со всем существующим программным обеспечением.
  2. Контейнер MSIX отлично совместим с существующими приложениями. Они изолируются от других Win32-приложений, но сам запуск производится в контейнере внутри контейнера Win32.
  3. UWP-приложения обеспечивают минимальную нагрузку на систему, наилучшую производительность, автономность, безопасность и конфиденциальность.

На самом деле потребители могут вообще не знать о контейнеризации в Windows 10X. Большинство Win32 и все UWP-приложения будут корректно работать на Windows 10X. Также неважен источник, из которого вы установили приложение. Это может быть как Microsoft Store, так и интернет или USB-накопитель.

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

Контейнеры оптимизируют производительность и автономность

UWP — наиболее оптимизированная платформа для Windows 10X, что и не удивительно, ведь она была разработана с учётом использования на Windows Phone (Windows Mobile). UWP-приложения обеспечивают отличную безопасность, производительность и автономность. На уровне операционной системы они обрабатывают события приостановки и возобновления работы приложения.

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

Исправить эту проблему с Win32 и MSIX призван контейнер Win32:

  1. Контейнеры Win32 и MSIX сокращают потребление ресурсов, если окна приложений не показываются.
  2. Приложения полностью приостанавливаются, если нет открытых окон.

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

Но есть два последствия такого изменения. Во-первых, «классические» Win32-приложения, скорее всего, не смогут запускать фоновые задачи (они будут работать до приостановки контейнера). Во-вторых, такие приложения не смогут автоматически запускаться после загрузки системы. Отчасти это связано с тем, что в Windows 10X отсутствует системный трей.

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

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

Всё должно работать

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

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

Проще говоря, старая модель «подключи и работай» всё ещё действует, и устройства, такие как Surface Neo, должны работать со всем, что вы подключите, включая внешние мониторы и периферию.

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

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

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

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

В свою очередь UWP-приложения и сама операционная система будут использовать современный «Проводник», который открывает доступ только к необходимым библиотекам, таким как «Видео», «Музыка», «Избранное», «Документы», «Изображения» и т. д.

Таким образом, пользователь получает лишь базовый доступ к основным библиотекам, но не может обращаться к файловой структуре как в Windows 10. Но Win32-приложения продолжат работать так, как должны, без каких-либо изменений в коде.

Приложения работают в полноэкранном режиме

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

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

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

Windows 10X и простая, и сложная

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

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

Конечно, Microsoft не классифицирует свои системы таким образом, но фактически это почти так. Windows 10X создана, чтобы быть быстрой, гибкой, мобильной и безопасной. Например, установка функциональных обновлений будет занимать не более 90 секунд. Всё это стало возможным благодаря изолированной и ограниченной сущности UWP.

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

Microsoft обещает, что разница в производительности между Win32 и UWP в Windows 10X не должна быть заметна. Хотя это, конечно, ещё предстоит проверить.

Комментарии (3)
  1. Роман М 14 февраля 2020 в 12:57
    0
    С чего и кому это интересно? Гикам, которым надоел Android или iOS? Что происходит у них в головах. Вместо того, чтобы вылизывать десятку они придумывают что-то новенькое... Да в десятку они добавляют новые смайлики😂🤣🤣😋😋😚😶😣😌. Это очень нужно пользователям! Как я раньше жил без этих значков confused ? У меня складывается впечатление, что Windows 7 это всё на что они были способны. Они уперлись в тупик и вынуждены придумывать какую-то чушь. Развитие UWP где? Fluet где? Где всё что они показывали на прошлых презентациях? Как в десятки удалять приложения из списка приложений?  Есть конечно плюсы, но они касаются больше приложений чем самой ОС. Например новое приложение Ваш телефон или список задач ToDo. Но это всё про приложения. Они не развивают саму ОС, а просто придумывают новые идеи. Это больше походит на стайку фантазеров, а не на компанию.
    1. Kapranov 15 февраля 2020 в 15:30
      0
      В 10-ке код тянется с 90-х годов, и его стараются лишний раз не трогать. Никто не может понять, к чему приведут изменения и какие проблемы вылезут.

      Из-за этого они и пишут новую систему. В конечном итоге хотят оставить обычную Windows 10 для гиков, а для обычных потребителей сделать версию на базе Windows Core OS. Она будет легче, быстрее, стабильнее и удобнее.

      UWP в своей изначальной концепции уже RIP. Тут особо добавить нечего. Но развитие идёт в рамках WinUI. Fluent тоже развивается, очень большое количество изменений в WinUI 3.0 будет.
  2. serenitatis 17 февраля 2020 в 17:24
    0
    Цитата: Роман М
    С чего и кому это интересно? Гикам, которым надоел Android или iOS? Что происходит у них в головах. Вместо того, чтобы вылизывать десятку они придумывают что-то новенькое... Да в десятку они добавляют новые смайлики😂🤣🤣😋😋😚😶😣😌. Это очень нужно пользователям! Как я раньше жил без этих значков confused ? У меня складывается впечатление, что Windows 7 это всё на что они были способны. Они уперлись в тупик и вынуждены придумывать какую-то чушь. Развитие UWP где? Fluet где? Где всё что они показывали на прошлых презентациях? Как в десятки удалять приложения из списка приложений?  Есть конечно плюсы, но они касаются больше приложений чем самой ОС. Например новое приложение Ваш телефон или список задач ToDo. Но это всё про приложения. Они не развивают саму ОС, а просто придумывают новые идеи. Это больше походит на стайку фантазеров, а не на компанию.

    Причем я уверен всю эту радость через 1,5-2 года тихо и без лишней помпы закопают. Ибо ненужно это никому. Ибо MS все профукали еще года 4 назад.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.