“应用程序”和软件包之间的概念和技术差异是什么?

per*_*den 13 package-management qt pygtk application-development

我对新的“应用程序”开发者站点最近的公告(http://developer.ubuntu.com/2011/09/annoucing-the-ubuntu-app-developer-site/)感到有些困惑。我已经退出了 Ubuntu 开发,现在只关注新闻报道来判断操作系统的发展方向,并且没有意识到这即将到来。也许社区中的某个人可以为我澄清这一点。

我非常熟悉 Ubuntu、Linux、编程和打包,但我不确定 Ubuntu 应用程序和 Debian 包之间的概念和技术差异是什么。我查看了开发者社区文档,但没有找到直接的答案。可以将 Ubuntu 应用程序视为支持 Ubuntu 应用程序框架的特殊配置包吗?它有多灵活?例如,我可以在 Qt 中编写一个应用程序并仍然将它包装在一个应用程序中吗?

(顺便说一句,我有点担心 Ubuntu 正朝着这个方向发展。我知道 Ubuntu 应该探索支持应用程序开发和分发的多种途径以保持相关性。但对于像我这样的工程用户来说,这感觉很笨拙。虽然这些言论是无知的。在我知道发生了什么之前,我不应该形成一个可靠的意见。)

Jor*_*tro 9

Ubuntu“应用程序”只是一个应用程序,就像 GIMP、Firefox 或其他任何东西。

它们仍然是 Debian 软件包,我们只是提供了一个名为 Quickly 的工具,它让人们开始使用 PyGTK,并使打包和提交到软件中心变得容易。

您仍然可以在 Qt 中编写您的应用程序,将其打包,然后将其提交到软件中心,我们只是试图简化像您这样的开发人员的连接,以便更轻松地将您的软件交付给最终用户。


Jo-*_*tad 8

好吧,应用程序是作为包提供的,但并非所有包都是应用程序。例如,一种或多种字体可以作为包提供。换句话说,包和应用程序之间存在概念上的区别,但应用程序和包之间没有区别。

是的,您可以使用任何语言并使用您喜欢的任何框架开发应用程序。Quickly 提供了一个非常简单的起点,主要推荐使用 Python 和 GTK,但也有适用于 Ruby 的模板,以及用于 Web 开发而不是桌面应用程序的其他语言和模板。Quickly 专门设计为不限制开发人员对语言的选择,并且(希望很明显)没有锁定到 Ubuntu。例如,如果您的应用程序支持插件,您还可以提供自己的模板。Quickly 的作用是让您免于编写无聊的样板代码。

要使用 MyApps 门户发布应用程序,有一些要求,例如您的应用程序必须将 XDG_USER_DIRS 用于其数据和配置,它必须可安装到 /opt 等。除此之外,没有其他要求。您可以使用 Java、Python、C*、Gambas 或任何其他受支持的语言编写您的应用程序,并使用您喜欢的任何 GUI 工具包。这是有道理的,因为现代版本的 Ubuntu 的主要目标是联合 Qt、GTK 和其他人,以提供更好的用户体验。

我希望这能澄清一点,并且您不必担心 Ubuntu 的发展方向。:)