ARCANADA
Все записи
Блог 11 июля 2026

Собрать программу — только начало

Иллюстрация общего пути публикации программ на разных платформах
Иллюстрация показывает общий ландшафт дистрибуции; она не означает, что у Cubrim есть мобильные сборки.
MP3
Аудио
0:00 / 0:00

Когда я начинал делать собственные продукты, мне казалось, что самые трудные части — продажи, платежи и юридические требования. Всё это действительно сложно. Но у самостоятельного программного продукта есть ещё одна большая и довольно незаметная снаружи задача: доставить его пользователю так, чтобы он мог скачать, установить и запустить программу без приключений.

С SaaS проще хотя бы в одном отношении: обновление происходит на сервере, а пользователь открывает уже новую версию. С настольным приложением нужно подготовить подходящий пакет для каждой поддерживаемой операционной системы и архитектуры. Для Cubrim это сейчас отдельные сборки для Linux x86_64 и ARM64, Windows x86_64, macOS на Intel и Apple Silicon, а также universal-архив для macOS.

Но собрать бинарный файл — только начало.

У каждой площадки свой вход

На одной платформе пользователю достаточно portable-архива. На другой нужен установочный пакет. Для распространения через магазин появляются требования к аккаунту разработчика, метаданным, подписи, проверке и формату загрузки. Apple, Google и Microsoft описывают разные процедуры, а конкретный набор сертификатов, ключей или токенов зависит от выбранного канала.

Это нельзя однажды настроить и забыть. Каждый новый релиз проходит один и тот же контур:

  1. собрать совместимые пакеты;
  2. подписать их там, где это требуется;
  3. протестировать установку и запуск в целевой среде;
  4. опубликовать файлы и контрольные суммы;
  5. проверить, что пользователь действительно может пройти весь путь;
  6. при ошибке — исправить её и повторить цикл.

Агенты могут автоматизировать значительную часть этой работы, но не отменяют проверку в среде пользователя. Если пакет предназначен для Windows, финальный тест нужен на Windows. Если заявлена поддержка Intel Mac и Apple Silicon, обе архитектуры должны быть частью проверяемого релизного контура.

Cubrim заставил пройти этот путь на практике

10 июля 2026 года я выпустил первую публичную версию Cubrim. На странице релиза доступны архивы для Linux, Windows и macOS, отдельные macOS-пакеты для Intel и Apple Silicon, universal-архив и файл с контрольными суммами. Размеры пакетов — примерно от 1,7 до 3,6 MiB: маленькая программа, но у её дистрибуции уже вполне взрослый список задач.

Часть сборок первого публичного релиза Cubrim
Часть сборок первого публичного релиза. Это историческое состояние до завершения Developer ID signing и notarization для macOS; показанная команда снятия quarantine не является рекомендуемым способом установки.

У Cubrim уже есть результаты, ради которых хочется сделать продукт доступным людям. В обновлённом world benchmark он занял первое место на файле x-ray с коэффициентом 0,445067 против 0,454471 у PPMd и выиграл несколько специализированных сравнений. При этом общий опубликованный результат скромнее и честнее: пятое место из восьми, коэффициент 0,2524 и победа над gzip на 19 из 24 файлов. Это не «лучший архиватор для всего», а рабочая исследовательская система с сильными результатами на отдельных типах данных и понятной картой того, что ещё нужно улучшать.

Из ручной рутины — в повторяемый процесс

Сейчас моя ближайшая задача — довести дистрибуцию Cubrim до состояния, в котором человеку не нужно понимать устройство релизного процесса. Он выбирает свою платформу, получает подходящий пакет и видит понятную инструкцию. Подпись, проверки, публикация и контрольные суммы должны оставаться за кадром.

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

У маленького архиватора оказалась большая дистрибуционная задача. Именно поэтому она интересна: если выстроить надёжный путь для Cubrim, его можно будет использовать и для других самостоятельных программ.

Первая публичная версия Cubrim уже доступна на GitHub. Если вы выпускаете desktop-приложения и сталкивались с подписью, установщиками или несколькими магазинами, расскажите в обсуждении Arcanada в Telegram, какая часть релизного пути отнимает у вас больше всего времени.

Источники

Источники и живые цифры