Microsoft разрабатывает открытый APT-подобный пакетный менеджер для Windows

Разработчики Microsoft представили проект CoApp, в рамках которого начата разработка универсальной Windows-среды для доставки, компиляции и создания пакетов из Open Source приложений, напоминающей по своей сути пакетные менеджеры APT и YUM. В рамках проекта CoApp, предпринята попытка радикального упрощения процесса установки и обновления открытых программ на платформе Windows. В настоящее время корректная сборка определенной открытой программы в Windows может занять часы, в то время как CoApp сведет подобные операции к одному клику.

В качестве формата пакетов будет использоваться стандартный для Windows формат MSI, система будет поддерживать автоматическую установку обновлений и включать в себя средства для разрешения зависимостей. Компания Microsoft оценила потенциал нового проекта и позволила одному из сотрудников работать над CoApp в режиме полного рабочего дня, а также не исключает оказание помощи формирующемуся вокруг проекта сообществу.

Причины, подтолкнувшие к созданию CoApp:

  • Различная идеология Unix и Windows - расположение файлов и библиотек программ, API, методов доступа к файловой системе и т.д.;
  • Сложность в установке и настройке зависимых пакетов для конкретного Open Source-приложения (так, например, для сборки может дополнительно понадобиться библиотека zlib или OpenSSL);
  • Отсутствие привычной среды сборки и разработки (autotools, bash и т.п.);
  • Отсутствие привычного для Unix контроля за версиями библиотек (многие Windows приложения несут с собой определенные версии библиотек).

Возможности CoApp:

  • Предоставляет распределенную, управляемую сообществом систему по управлению пакетами для распространения open source приложений для платформы Windows;
  • Управляет множеством версий программ, использующих WinSxS, включая различные копии одной версии, собранные разными компиляторами;
  • Обеспечивает поддержку 32- и 64-разрядных сред сборки;
  • Размещает бинарники, библиотеки и файлы заголовков в соответствующих их назначению местах;
  • Имеет инструменты и методы для управления зависимостями;
  • Создаёт надёжные пакеты для инсталляции, используя Microsoft Installer (MSI);
  • Позволяет легко использовать одинаковые компоненты в разных приложениях;
  • Позволяет обновлять и патчить версии как библиотек, так и приложений;
  • Имеет дружелюбный к Windows-разработчику интерфейс - вместо Unix-команды сборки make можно продолжать использовать свою любимую среду разработки (IDE);
  • Позволяет собирать приложения для Windows пользователям, не имеющих навыков разработчика;
  • Позволяет использовать различные технологии для оптимизации скорости выполнения приложения, например Profile Guided Optimization - оптимизацию на основе профилирования;
  • В CoApp заложена возможность поддержки будущих нововведений платформы Windows;
  • Позволяет использовать возможности встроенной в Windows системы по сбору информации о крахах в приложениях - Windows Error Reporting, что позволит разработчику улучшить качество Open Source приложения при работе на платформе Windows.

Для быстрого обмена идеями, предложениями и информацией создан Wiki-сайт coapp.org, код проекта распространяется в рамках лицензии BSD и размещен на сайте Launchpad.

©  OpenNet