Я хочу разработать настольные приложения для ubuntu и отправить их в программный центр ubuntu. Я поискал по всему Интернету, но не нашел подходящей статьи или блога по этой теме. Я думал использовать «быстро», но похоже, что этот пакет устарел. Кто-нибудь может посоветовать мне, какую платформу мне следует использовать и какие настройки мне нужны? Заранее благодарим.
Не существует "официальной" платформы разработки или настройки для Ubuntu. Используйте то, что лучше всего работает для вас. Если вы назовете распространенный язык программирования или IDE, кто-то разрабатывает под Linux, используя его. Используйте любую платформу или установку, которая вам нравится, хотя вы можете обнаружить, что разработка вашего первого приложения hello-world на Ubuntu облегчает тестирование вашего программного обеспечения.
Есть два способа упаковать ваше программное обеспечение и поместить его в репозиторий Ubuntu Software: Deb-пакеты и Snap-пакеты. Если вы не уверены, какой из них выбрать, попробуйте оба.
Deb-пакеты используют стандарт, промульгированный Debian. Он старше и сложнее, чем Snaps, но его легко поддерживать, и в нём нет никаких "чёрных ящиков". Пакеты Debian имеют общие зависимости в системе установки, поэтому для новых выпусков пакет должен быть пересобран... но фермы сборки Debian делают эту работу. Вы вносите свой код для сборки в Debian, и пакеты волшебным образом попадают во все дистрибутивы на базе Debian, включая будущий выпуск Ubuntu.
Snap-пакеты более новые, кросс-платформенные, в целом более безопасные и имеют более сложную внутреннюю конфигурацию. Snap-пакеты включают все зависимости, поэтому имеют тенденцию к большим размерам пакетов. Вы запускаете магическое приложение Snapcraft, которое выполняет упаковку и загрузку. После того, как ваша привязка будет одобрена могущественными стражами магазина привязок, она сразу же появится в Ubuntu Software. Снапы могут быть обновлены (вами) в любое время, и эти обновления никак не связаны с обновлениями основной системы (поскольку нет общих зависимостей).
~ Tl; dr ~
Если ваше приложение принимается / добавляется Snap, т.е. вы можете ввести:
sudo snap install --options myappname
... чтобы установить приложение, оно будет в «Магазине Snap / Центре программного обеспечения». Они одно и то же.
~ Подробно ~
Чтобы добавить приложение в программный центр (центры), прежде всего, это должен быть пакет .deb. Для правильной установки в ОС Ubuntu это должен быть пакет Debian. Я считаю, что это делается в несколько шагов, первый из которых включает автоинструменты.
Стандарт контролируется GNU. Это гид расскажет вам все, что вам нужно знать.
Что касается доставки вашего пакета .deb в «Центр программного обеспечения», главное - знать, что для последних нескольких версий Ubuntu «Центр программного обеспечения» является лишь прикрытием для магазина оснасток. Каждое приложение, которое вы скачиваете, доставляется совсем несложно.
Итак, информация, которую вам нужно искать, - это «как получить мое приложение в мгновение ока». Здесь - отличный ресурс по этой теме.
Что касается языка, на котором вам нужно это писать, это не имеет особого значения, по крайней мере, в этом контексте. Большинство из них традиционно написано на C, но, вероятно, можно найти пакет, содержащий любую комбинацию под солнцем.
Конечно, пакет должен быть запущен в целевой среде, но пакет является своего рода контейнером, поэтому вы можете просто включить в него свою собственную среду.
Если вы строите на Python, почему бы просто не создать виртуальную среду и не упаковать всю эту чертову штуку? Таким образом, он каждый раз запускается на одном и том же интерпретаторе. То же самое с Java и JVM, C / C ++, GCC и т. Д.
Вы также включаете любые зависимости, которые нужны вашему приложению. Это включает в себя не только зависимости времени выполнения, но и установщики и т. Д. Обычно это просто сценарии Bash, но, опять же, язык не имеет значения.
Честно говоря, то, что находится внутри пакета, стандартизировано (вам понадобится определенный тип лицензии с открытым исходным кодом и т. Д.), Но все, что касается системы debian, - это интерфейс. Dpkg необходимо знать, что происходит во время установки. Если ему даны четкие и понятные инструкции, поэтому он знает, где все разместить, и в результате получается система приложений, которые ведут себя так, как ожидает пользователь, у вас есть действующий пакет .deb.
Тем не менее, если вам нужен действующий пакет Snap, я могу гарантировать, что ваши ограничения будут немного жестче. Лучше всего следовать стандартам, которые я связал с самого начала.
Я думаю, вы можете легко создавать настольные приложения с графическим интерфейсом пользователя в ubuntu и других операционных системах на базе Linux с помощью qt ide. Это простая и удобная программа с отличными инструментами для разработки программного обеспечения для Linux с графическим интерфейсом.