~Тл;др~
Если ваше приложение принято/добавлено Snap, то есть вы можете ввести:
sudo snap install --options имя_приложения
... для того, чтобы установить ваше приложение, оно будет находиться в «Snap store/Software Center». Это одно и то же.
~Подробно~
Чтобы добавить приложение в центр(ы) программного обеспечения, прежде всего, это должен быть пакет .deb. Чтобы он был правильно установлен в ОС Ubuntu, он должен быть пакетом Debian. Я считаю, что это делается в несколько шагов, первый из которых включает автоинструменты.
Стандарт контролируется GNU. Этот Гид расскажет вам все, что вам нужно знать.
Что касается доставки вашего пакета .deb в «Центр программного обеспечения», ключ в первую очередь заключается в том, чтобы знать, что для последних нескольких версий Ubuntu «Центр программного обеспечения» — это просто прикрытие для хранилища моментальных снимков.Каждое приложение, которое вы загружаете, становится доступным.
Таким образом, информация, которую вам нужно искать, это «как быстро получить мое приложение». Здесь отличный ресурс по этому вопросу.
Что касается языка, на котором вам нужно это написать, это не имеет большого значения, по крайней мере, в этом контексте. Большинство из них традиционно пишут на C, но, вероятно, можно найти пакет, содержащий любую комбо на свете.
Конечно, пакет должен быть запущен в целевой среде, но пакет — это своего рода контейнер, поэтому вы можете просто включить в него свою собственную среду.
Если вы строите с помощью Python, почему бы просто не создать виртуальную среду и не упаковать всю эту чертову штуку? Таким образом, он каждый раз работает на одном и том же интерпретаторе. То же самое с Java и JVM, C/C++ и GCC и т. д.
Вы также включаете любые зависимости, которые нужны вашему приложению. Сюда входят не только зависимости времени выполнения, но и установщики и т. д. Обычно это просто сценарии Bash, но опять же, язык не имеет значения.
Честно говоря, то, что находится внутри пакета, стандартизировано (вам потребуется определенный тип лицензии с открытым исходным кодом и т. д.), но все, что касается системы Debian, — это интерфейс. Dpkg должен знать, что происходит во время установки. Пока ему даются четкие и понятные инструкции, чтобы он знал, куда что поместить, а результатом является система приложений, которые ведут себя так, как ожидает пользователь, у вас есть действительный пакет .deb.
Тем не менее, если вам нужен действующий пакет Snap, я могу гарантировать, что ваши ограничения будут немного жестче. Лучше всего следовать стандартам, которые я связал с самого начала.
РЕДАКТИРОВАТЬ
Недавно я нашел пару ресурсов на Github, которые автоматизируют процессы сборки и публикации снимков. Оба они являются действиями github, поддерживаемыми Snapcraft. Благодаря их комбинации любое совместимое приложение можно превратить в опубликованную оснастку.
Они расположены здесь (Snap Builder) и здесь (привязка издателя).