~Tl;dr~
Nếu ứng dụng của bạn được Snap chấp nhận/thêm vào, tức là bạn có thể nhập:
sudo snap cài đặt --options myappname
...để cài đặt ứng dụng của bạn, ứng dụng sẽ nằm trong "Cửa hàng Snap/Trung tâm phần mềm". Họ là một và giống nhau.
~Chi tiết~
Để thêm một ứng dụng vào (các) trung tâm phần mềm, trước hết, ứng dụng đó phải là một gói .deb. Để nó được cài đặt đúng vào hệ điều hành Ubuntu, nó phải là một gói Debian. Tôi tin rằng điều này được thực hiện trong một vài bước, bước đầu tiên liên quan đến công cụ tự động.
Tiêu chuẩn được giám sát bởi GNU. Cái này hướng dẫn sẽ cho bạn biết mọi thứ mà bạn cần biết.
Đối với việc đưa gói .deb của bạn đến "Trung tâm phần mềm", trước tiên, điều quan trọng là phải biết rằng, đối với một số phiên bản Ubuntu mới nhất, "Trung tâm phần mềm" chỉ là bình phong cho cửa hàng snap.Mọi ứng dụng bạn tải xuống ở đó đều xuất hiện nhanh chóng.
Vì vậy, thông tin mà bạn cần tìm kiếm là "làm thế nào để tải ứng dụng của tôi trong tích tắc." Đây là một nguồn tài nguyên tuyệt vời về chủ đề này.
Đối với ngôn ngữ mà bạn cần viết nó, nó không thực sự quan trọng, ít nhất là trong bối cảnh này. Theo truyền thống, hầu hết đều được viết bằng C, nhưng người ta có thể tìm thấy một gói ngoài đó có chứa bất kỳ kết hợp nào dưới ánh mặt trời.
Chắc chắn, gói sẽ cần phải chạy được trong môi trường đích, nhưng gói là một loại thùng chứa, vì vậy bạn chỉ cần đưa môi trường của riêng mình vào bên trong gói đó.
Nếu bạn xây dựng bằng Python, tại sao không chỉ xây dựng trên môi trường ảo và đóng gói toàn bộ thứ chết tiệt này? Bằng cách đó, nó chạy trên cùng một trình thông dịch mỗi lần. Tương tự với Java và JVM, C/C++ và GCC, v.v.
Bạn cũng bao gồm mọi phụ thuộc mà ứng dụng của bạn cần. Điều này không chỉ bao gồm các phụ thuộc thời gian chạy mà cả các trình cài đặt, v.v. Đây thường chỉ là các tập lệnh Bash, nhưng một lần nữa, ngôn ngữ không thành vấn đề.
Thành thật mà nói, những gì bên trong gói đã được chuẩn hóa (bạn sẽ cần một loại giấy phép nguồn mở nào đó, v.v.), nhưng tất cả những gì hệ thống debian quan tâm là giao diện. Dpkg cần biết điều gì đang xảy ra khi cài đặt. Miễn là nó được đưa ra các hướng dẫn rõ ràng dễ hiểu để nó biết đặt mọi thứ ở đâu và kết quả là một hệ thống ứng dụng hoạt động như người dùng mong đợi, thì bạn có một gói .deb hợp lệ.
Điều đó nói rằng, nếu bạn muốn có một gói Snap hợp lệ, tôi có thể đảm bảo rằng các hạn chế của bạn sẽ chặt chẽ hơn một chút. Tốt nhất là tuân theo các tiêu chuẩn mà tôi đã liên kết ngay từ đầu.
CHỈNH SỬA
Gần đây tôi đã tìm thấy một vài tài nguyên trên Github giúp tự động hóa quy trình xây dựng và xuất bản cho snaps. Cả hai đều là hành động github được duy trì bởi Snapcraft. Với sự kết hợp của những điều này, bất kỳ ứng dụng tương thích nào cũng có thể được chuyển thành một bản chụp được xuất bản.
Chúng được đặt đây (trình tạo snap) và đây (nhà xuất bản snap).