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