Developer resources for desktop apps?
Solution 1:
I would suggest using Qt as it is easy to use, has an enormous amount of developer documentation, and also will allow you to reuse your backend once the Ubuntu SDK becomes the default toolkit on the desktop as well.
You can find documentation for Qt at http://qt-project.org. Here is a short list of more specific resources you'll find useful:
Qt Creator
Creating user interfaces with Qt Creator
Qt 5
QWidgets
If you want to use Python, you could look into one of these Python bindings:
PySide
PyQt
Other Qt language bindings can be found here.
There are also other languages and frameworks you can use, including:
- Gtk
- PyGtk
- Java and Swing
- Mono
However, I recommend using Qt because it has very comprehensive resources, is very powerful, and is being used in the Ubuntu SDK.
Once you've written your application, you'll need to package it. Unfortunately, the new Click packages only work for Ubuntu Touch, so you'll need to use Debian packaging. You can find in-depth guide to packaging here.
Solution 2:
Quickly is a great little tool for producing and packaging Ubuntu (PyGTK) GUI applications - quickly. It takes out most of the manual, repeating work involved, so that you can entirely focus on your application's functionality instead of setup details.
The Qt Software Development Kit (SDK) is a cross-platform application framework that is widely used for developing application software with a graphical user interface (GUI).
How to Install Qt SDK on Ubuntu Linux
Here is a list of handy open source development tools for use on Ubuntu such as Integrated Development Environments (IDEs) and powerful editors.
Anjuta is an Integrated Development Environment (IDE) for C and C++.
Bazaar-NG is a decentralised version control system used for Ubuntu development.
Bluefish is a powerful editor for experienced web designers and programmers.
Eclipse is an IDE for Java and other programming languages. It forms the basis for closed-source programs such as JBuilder.
Eric is a fully featured Python and Ruby IDE.
Glade is a User Interface designer for building GNOME applications.
IDLE is the Python IDE built with the Tkinter GUI toolkit.
KDevelop is a IDE for KDE which supports many programming languages.
MonoDevelop is an IDE for writing mono/.net applications in C# and other languages.
NetBeans is a Java IDE that features support for CVS and a form builder.
Other resources that you can use:
Ubuntu App Developers
Ubuntu Developer’s Manual
Ubuntu Development Guide: Introduction
Edit
Ubuntu's single platform SDK to be ship shape by October
The Ubuntu SDK that will allow developers to build apps that can run across phones, tablets and desktop PCs should be mature enough to build most applications by October this year.
When it is complete the Ubuntu SDK, released in Alpha earlier this year, will allow developers to use the same code base to create apps that run on Ubuntu across multiple form factors. It ties in with the plans by Canonical, the organisation which develops Ubuntu with the community, for Ubuntu to be a single OS that runs across phones, tablets and desktops.
Apps created using the SDK are primarily built using QML, a Javascript-based language for designing application interfaces that can use C++ for the heavy lifting. Ubuntu apps built using QML can have UIs that can scale across different form factors. The dimensions of these UIs can be defined in grid units, which will translate to a different pixel values depending on the device and screen size.
Canonical is aiming for the SDK to be complete enough for most applications to be written by the time Ubuntu 13.10 is released.Zdnet
Solution 3:
I was looking for the same thing today. I'm new in this but looks like everybody starts with Python/Ruby + Tkinter (GUI). If you understand at least PHP or better JAVA + Swing (GUI) you shouldn't have any problem to learn Python.
Here you have one nice and easy tutorial to start understanding how it works:
Part 1
Part 2
Looks like the guy(TheReimber) who made this tutorial have a full channel with more tutorials in YouTube.
Hope I helped you, I will try to make ubuntu desktop app with this too.