Wer sein erstes eigenes Ubuntu-Programm erstellen möchte, welches nicht nur aus einer reinen Konsolenanwendung besteht, sondern auch Dialoge & Co benutzen möchte, benötigt am Anfang seines Weges viel Wissen über den Aufbau und die notwendigen Bibliotheken um eine native Anwendung zu schreiben.
Natürlich ist es möglich, plattformübergreifende Toolkits zu benutzen, wie z.B. Java-GUI-Bibliotheken (Swing, SWT, Java Gnome), Qt und ähnliches. Diese haben aber meist den Nachteil, dass sie sich nicht ordentlich in den Desktop von Ubuntu integrieren, weshalb man hier eher auf das Standard-Toolkit von GTK+ zurück greift, um ein möglichst konsistentes Look and Feel zu bieten.
Um den Einstieg für die Entwickler zu vereinfachen, bietet es sich an einmal Quickly zu testen. Quickly beschreibt sich selbst als einfache und schnelle Methode, welches ein stabiles Grundgerüst/Template für euer erstes Ubuntu-Programm bereits mitbringt.

Die Installation ist schnell erledigt, da Quickly in den normalen Paketquellen verfügbar ist. Entweder ihr nutzt das Ubuntu Software Center oder nehmt den schnelleren Weg über:
$ sudo apt-get install quickly
Quickly selbst benötigt einiges an zusätzlichen Programmen und Bibliotheken, daher mussten bei mir ca. 250MB an Daten heruntergeladen werden. Folgende Programme werden bei der Installation von Quickly mitinstalliert:
- Python (Das Template setzt auf Python zum Programmieren eurer Anwendung)
- GTK+ als Toolkit
- PyGObject
- Glade einfache Möglichkeit euch eure Oberfläche in einer Oberfläche zurecht zu ziehen
- Bazaar als Versionskontrollsystem
- Windp ein Python Debugger
$ quickly tutorial ubuntu-application
eine kurze Einführung in das Programm bekommen. Beginnen wir aber mit unserer ersten Anwendung, in dem ihr folgenden Befehl eingebt:
$ quickly create ubuntu-application test
Dabei steht test im Befehl für den Namen eurer Applikation. Anschließend erstellt Quickly automatisch im Hintergrund alle benötigten Dateien, um eine erste lauffähige Desktop-Anwendung zu erstellen, die ihr direkt betrachten könnt. Ihr findet diese Dateien im eigens angelegten Order, der dem Namen eures Programms entspricht.
Wechselt also mit
$ cd test
in euer Programmverzeichnis und startet einfach mal euer Programm mittels:
$ quickly run
Ihr seht dann folgendes Template.
Das Template liefert einen fertigen Dialog, ein einfaches Standardmenü, einen Hilfe-Dialog, About-Dialog. Alles Bestandteile, die man eigentlich in jeder Software irgendwo wiederfindet. Wollt ihr jetzt euer Programm anpassen, bietet es sich an, zunächst zu Glade zu wechseln, um das Design eurer GUI zu verändern. Dies erreicht ihr über:
$ quickly design
Wer schon einmal mit solchen Designern gearbeitet hat, der wird sich auch hier recht schnell zurecht finden (ähnlich wie Qt Creator & Co). In der Mitte findet ihr eine Vorschau eures Dialoges, wie er später aussehen wird, links alle Widgets wie Textboxfelder, Buttons usw., die ihr eurer Oberfläche hinzufügen könnt, und auf der rechten Seite die Eigenschaften der jeweiligen Elemente. Dort könnt ihr z.B. einstellen, welchen Namen das Element bekommt, wie groß das Element ist und vieles mehr. Ändert hier einfach alle eure Angaben und speichert das ganze wieder ab. Anschließend könnt ihr über quickly run sehen, dass die Änderungen sofort übernommen worden sind.
Natürlich nimmt euch Quickly nicht die Arbeit des Programmierens vollständig ab. Ein wenig Grundlagenwissen in Python sollte nach Möglichkeit vorhanden sein. Um jetzt also gewisse Funktionalität hinzuzufügen, müssen wir mittels
$ quickly edit
in den dazugehören Quellcode wechseln. Dies öffnet Gedit und ihr könnt nun relativ einfach beginnen eure Funktionalitäten hinzuzufügen. Nachdem ihr all eure Funktionen implementiert habt, gibt es eine sehr einfache Möglichkeit ein fertiges Paket für eure Software zu erstellen, um das Programm auf eurem System zu installieren. Mittels:
$ quickly package
bekommt ihr ein .deb File, sowie ein gepacktes Paket im .tar.gz Format mit dem enthaltenden Quellcode. Leider sind dort noch etliche Metadaten nicht gepflegt, dort müsst ihr also noch ein wenig selbst Hand anlegen, in dem ihr die setup.py bearbeiten müsst.
Mein sehr einfach gehaltenes Beispiel sieht dann in der Realität folgendermaßen aus:
Wer sein Programm direkt auf Launchpad veröffentlichen möchte, kann dies mittels Quickly ebenfalls sehr einfach durchführen (Account bei Launchpad und ein vorbereitetes PPA vorausgesetzt):
$ quickly release
Es gibt noch eine ganze Reihe, weitere Möglichkeiten, die ihr aber auch in den Dokumentationen findet. Einen sehr guten Einstieg liefert das englischsprachige Video vom Community Manager Jobo Bacon
Er zeigt alle Bestandteile nochmal sehr ausführlich an einem einfachen Beispiel, wie man in ein paar Minuten einen simplen aber funktionsfähigen Webbrowser mithilfe von Quickly erstellt.