桌面应用程序的开发资源?

developer.ubuntu.com上,大部分资源似乎都是针对Ubuntu Touch的。如果我想要开发一个Ubuntu桌面应用程序,我应该从哪里开始?

Ubuntu SDK也适用于桌面吗?我看到它实际上更多地针对移动应用。

鉴于Ubuntu SDK尚未准备好用于桌面,我正在寻找在Ubuntu上开发桌面应用程序的可用选项,并突出每个解决方案的优势和劣势。


通过Ubuntu 14.10,新的SDK也将针对桌面进行开发,并且目前已经在桌面上运行。所以你不妨抓住机会提前开始使用这个SDK。 - iBelieve
目前正在运行的事实并不意味着它针对它,更重要的是,Ubuntu网站上的所有教程都是为移动设备设计的。 - Matteo Pagliazzi
我只是想问一下关于这个的最新情况。我也在尝试学习为Ubuntu编写应用程序,但是我找不到有关使用Ubuntu SDK在我的机器上简单导出桌面应用程序的文档。我目前对将应用程序在线上发布并不感兴趣。 - Arc676
4个回答

我建议使用Qt,因为它易于使用,有大量的开发者文档,并且一旦Ubuntu SDK成为桌面上的默认工具包,您还可以重用后端。
您可以在http://qt-project.org找到Qt的文档。以下是一些更具体的资源列表,您可能会发现有用:
- Qt Creator - 使用Qt Creator创建用户界面 - Qt 5 - QWidgets 如果您想使用Python,您可以考虑其中一个Python绑定。

其他的Qt语言绑定可以在这里找到here

还有其他的语言和框架可供使用,包括:

然而,我建议使用Qt,因为它拥有非常全面的资源,功能强大,并且被用于Ubuntu SDK。

一旦你写好了你的应用程序,你就需要打包它。不幸的是,新的Click软件包只适用于Ubuntu Touch,所以你需要使用Debian打包。你可以在这里找到关于打包的详细指南here

Quickly是一个非常棒的工具,用于快速生成和打包Ubuntu(PyGTK)图形用户界面(GUI)应用程序。它省去了大部分手动重复的工作,使您完全可以专注于应用程序的功能性,而不是设置细节。 Qt软件开发工具包(SDK)是一个跨平台应用程序框架,广泛用于开发带有图形用户界面(GUI)的应用软件。 如何在Ubuntu Linux上安装Qt SDK 这是一个方便的开源开发工具列表,可用于Ubuntu,如集成开发环境(IDE)和强大的编辑器。 Anjuta是C和C++的集成开发环境(IDE)。 Bazaar-NG是用于Ubuntu开发的分布式版本控制系统。

Bluefish是一款功能强大的编辑器,适用于有经验的网页设计师和程序员。

Eclipse是一个用于Java和其他编程语言的集成开发环境(IDE)。它为JBuilder等闭源程序提供了基础。

Eric是一个功能齐全的Python和Ruby集成开发环境(IDE)。

Glade是一个用于构建GNOME应用程序的用户界面设计工具。

IDLE是使用Tkinter GUI工具包构建的Python集成开发环境(IDE)。

KDevelop是一个支持多种编程语言的KDE集成开发环境(IDE)。

MonoDevelop是一个用于编写C#和其他语言的mono/.net应用程序的集成开发环境(IDE)。

NetBeans是一个Java集成开发环境(IDE),具有对CVS的支持和一个表单构建器。

你可以使用的其他资源:

Ubuntu应用开发者

Ubuntu开发人员手册

Ubuntu开发指南:介绍

编辑

到十月份为止,Ubuntu的单一平台SDK将变得成熟可用。

这个Ubuntu SDK允许开发者构建可在手机、平板和桌面电脑上运行的应用程序,到今年十月份应该已经足够成熟以构建大多数应用程序。

当它完整时,今年早些时候Alpha版发布的Ubuntu SDK将允许开发者使用相同的代码基础创建适用于Ubuntu各种形态因素的应用程序。这与Canonical(开发Ubuntu的组织)与社区合作的计划相符,即使Ubuntu成为在手机、平板和桌面上运行的单一操作系统。

使用SDK创建的应用程序主要是使用QML构建的,QML是一种基于JavaScript的语言,用于设计应用程序界面,可以使用C++来处理繁重的任务。使用QML构建的Ubuntu应用程序可以在不同的形态因素上进行界面缩放。这些界面的尺寸可以以网格单位定义,根据设备和屏幕尺寸的不同,会转换为不同的像素值。
Canonical的目标是在发布Ubuntu 13.10时,SDK足够完善,大多数应用程序都可以使用它来编写。Zdnet

我今天也在找同样的东西。我对这个还很新,但似乎每个人都是从Python/Ruby + Tkinter(GUI)开始的。如果你至少了解PHP,或者更好地了解JAVA + Swing(GUI),学习Python应该不会有任何问题。
这里有一个很好而且简单的教程,可以帮助你开始理解它的工作原理: 第一部分
第二部分 看起来制作这个教程的那个家伙(TheReimber)在YouTube上还有更多的教程。
希望能对你有所帮助,我也会尝试用这个来制作Ubuntu桌面应用程序。

从来没听说过这个,但看起来不错!附注:一个朋友告诉我Qt Creator会放置未使用的代码行,所以手动编写GUI代码可能是个好主意,但我还是想试试Qt Creator、PyQt和其他GUI编辑器。谢谢! - Deus

目前Unity版本有相应的文档,以及一些其他适用于Ubuntu的APIs,详见developer.ubuntu.com