Открыть сервис

Project Centennial

Project Centennial — это инициатива корпорации Microsoft, анонсированная в 2015 году, направленная на упрощение переноса (миграции) классических десктопных приложений, созданных с использованием технологий Win32, .NET Framework и COM, в универсальную платформу Windows (Universal Windows Platform, UWP). Основной целью проекта было расширение экосистемы Windows Store за счёт включения в неё широкого спектра существующего программного обеспечения, не требующего от разработчиков полного переписывания кода.

История и предпосылки

Проект был представлен на конференции разработчиков Microsoft Build 2015 как часть стратегии по унификации платформы Windows 10. Ключевой проблемой, которую решал Project Centennial, была низкая популярность магазина приложений Windows Store среди разработчиков традиционного десктопного ПО. В отличие от мобильных платформ, где магазины приложений стали основным каналом распространения, на настольных компьютерах Windows доминировала установка программ из внешних источников. UWP-приложения, несмотря на преимущества в безопасности и простоте обновления, не могли предложить полного набора API, доступного классическим приложениям.

Project Centennial стал одним из четырёх «мостов» (bridges), призванных привлечь разработчиков с других платформ. Другими мостами были:

  • Project Astoria — для переноса Android-приложений (позднее закрыт, частично функционал перешёл в подсистему Windows для Android).
  • Project Islandwood — для переноса iOS-приложений, написанных на Objective-C.
  • Project Westminster — для создания обёрток вокруг веб-сайтов (PWA).

Технические аспекты

Принцип работы

Project Centennial не предполагал компиляции исходного кода в нативный UWP-формат. Вместо этого использовался механизм «контейнеризации» (packaging). Разработчик брал существующее Win32-приложение, упаковывал его в специальный формат пакета (.appx или .msix), добавляя манифест, описывающий разрешения и возможности приложения. После упаковки приложение работало в изолированной среде — контейнере с ограниченным доступом к системным ресурсам.

Ограничения контейнера

Приложения, преобразованные через Project Centennial, не могли:

  • Устанавливать драйверы устройств.
  • Выполнять код с правами администратора.
  • Вносить изменения в системные папки (например, C:\Windows или C:\Program Files).
  • Обращаться к определённым частям реестра Windows.
  • Использовать фоновые процессы без ограничений.

Для обеспечения совместимости Microsoft разработала механизм «перенаправления» (file system virtualization и registry virtualization). Когда приложение пыталось записать данные в защищённую область, система перенаправляла запись в изолированное хранилище, специфичное для приложения. Это позволяло многим программам работать, не осознавая, что они находятся в контейнере.

Преимущества для разработчиков

  • Упрощённое распространение: приложение могло быть размещено в Microsoft Store, что давало доступ к автоматическим обновлениям, лицензированию и аналитике.
  • Повышенная безопасность: изоляция снижала риск заражения системы вредоносным ПО.
  • Интеграция с UWP-функциями: упакованные приложения могли использовать некоторые возможности UWP, такие как живые плитки, уведомления и интеграция с Cortana (голосовой помощник Microsoft, прекратил поддержку в 2023 году).

Практическое применение

Project Centennial был ориентирован в первую очередь на разработчиков корпоративного и нишевого ПО, которые хотели распространять свои продукты через Microsoft Store, но не имели ресурсов для полного переписывания кода на UWP. Среди примеров успешной миграции назывались:

  • Evernote — приложение для заметок.
  • Slack — корпоративный мессенджер.
  • Visual Studio Code — редактор кода от Microsoft (хотя он распространяется и в классическом виде).

Однако массового перехода не произошло. Многие крупные разработчики (например, Adobe, Valve) продолжали распространять свои продукты традиционным способом, ссылаясь на ограничения контейнера и потерю функциональности.

Критика и недостатки

Проект Centennial подвергался критике по нескольким причинам:

  1. Ограниченная функциональность: многие Win32-приложения, особенно те, что требовали глубокого доступа к системе (антивирусы, утилиты для работы с оборудованием), не могли быть упакованы без потери возможностей.
  2. Сложность для пользователей: упакованные приложения не всегда корректно работали с файловой системой, что приводило к путанице с расположением данных.
  3. Отсутствие стимулов: разработчики не видели достаточных преимуществ в переходе на Store, так как аудитория Windows Store оставалась небольшой по сравнению с традиционными каналами.
  4. Технические проблемы: в ранних версиях инструментария наблюдались ошибки, связанные с перенаправлением файлов и реестра, что приводило к сбоям в работе приложений.

Эволюция и современное состояние

После выхода Windows 10 версии 1809 (октябрь 2018 года) Microsoft переименовала Project Centennial в Desktop Bridge. В 2019 году был представлен формат пакета MSIX, который стал эволюцией .appx и .msi. Desktop Bridge был интегрирован в инструменты разработки, такие как Visual Studio и Windows SDK.

С выходом Windows 11 и развитием подсистемы Windows для Linux (WSL) и подсистемы Windows для Android (WSA), интерес к Desktop Bridge снизился. Microsoft сосредоточилась на других способах привлечения разработчиков, таких как поддержка прогрессивных веб-приложений (PWA) и улучшение совместимости с Android-приложениями. В 2023 году Microsoft объявила о прекращении поддержки Desktop Bridge в пользу более современных решений, таких как MSIX Packaging Tool и Windows Application Packaging Project.

Значение

Project Centennial стал важным этапом в эволюции платформы Windows, продемонстрировав попытку Microsoft объединить две экосистемы — классическую и современную. Несмотря на то, что проект не достиг заявленных целей, он заложил технологическую основу для более безопасного и управляемого распространения приложений в корпоративной среде. Концепция контейнеризации десктопных приложений, реализованная в Project Centennial, впоследствии была использована в других продуктах Microsoft, включая Microsoft App-V и Azure Virtual Desktop.

Источники

  • Microsoft Build 2015: Keynote presentation (2015).
  • Документация MSDN: Desktop Bridge (Windows Dev Center).
  • Статья «Project Centennial: Bringing classic Win32 apps to the Windows Store» (TechNet, 2016).
  • «The Evolution of Windows App Packaging: From MSI to MSIX» (Microsoft Docs, 2020).
  • «Microsoft confirms end of Desktop Bridge» (Windows Central, 2023).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →