“应用程序”和包之间的概念和技术区别是什么?

“应用程序”和包之间的概念和技术区别是什么?

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

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

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

答案1

Ubuntu“应用程序”只是一个应用程序,就像 GIMP、Firefox 或其他什么一样。

它们仍然是 Debian 软件包,我们只是提供了一个名为 Quickly 的工具,让人们使用 PyGTK,并轻松地打包并提交到软件中心。

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

答案2

嗯,应用程序以包的形式提供,但并非所有包都是应用程序。例如,可以将一个或多个字体以包的形式提供。换句话说,包和应用程序之间存在概念上的差异,但应用程序和包之间没有差异。

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

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

我希望这能让您稍微明白一点,并且您不必太担心 Ubuntu 的发展方向。:)

相关内容