84

I want to write applications for Ubuntu. I do not know much about programming but I want develop for Ubuntu. I am trying to learn Python right now. What do you think is the best way to develop apps for Ubuntu? Can you point me to some resources that can help me get started with developing for Ubuntu?

Related Ubuntu Forums thread.

4
  • 15
    Best suggestion would simply be to start doing something; pick a goal, something small, and set out to do it the moment that you finish learning python. Stack Overflow and the Web in general will be able to help you when you get stuck. Oct 19, 2010 at 10:43
  • quickly and qt are just good ^^ But as Robert said, it all depends on what you want.
    – aliasbody
    Nov 20, 2011 at 1:39
  • youtube.com/watch?v=sO8hiPreNBg
    – James
    Nov 17, 2012 at 16:26
  • Please refer multiple options here makealinux.app/# Mar 27, 2020 at 1:39

7 Answers 7

93
+50

Python is a good choice as a starting language, and there is Quickly, which helps you to create graphical applications easily. Quickly helps you to set up everything you need to develop a GUI application.

Check out how to get started with Quickly on the Ubuntu App Developer site.

To install Quickly type:

sudo apt-get install quickly

You can then get a tutorial by executing:

quickly tutorial ubuntu-application

To create an application just type:

quickly create ubuntu-application Testapp

which will create an application called "Testapp" using the "ubuntu-application" template.

You can design the graphical user-interface by executing

cd testapp
quickly design

which will open Glade, the GUI designer.

To change the actual source code just type

quickly edit


Learning how the Python language works is essential to having a productive and easy experience developing in the Python, GTK, Quickly, Ubuntu environment. Here are some resources:

1: A Byte of Python

(an easy introduction to the Python programming language, free)


2: Dive into Python

(an advanced book, free)


3: Python for Software Design

(an advanced book, free)


Also, bookmark the PyGTK 2.0 Reference Manual.

2
  • 6
    I'd add to that list, Learn Python the Hard Way, which is by programming examples, the only good way to learn a language in my opinion. Don't mistake yourself however, it is indeed for beginner programmers, starting with the installation of python ,etc. Also free. learnpythonthehardway.org
    – levesque
    Nov 16, 2010 at 2:33
  • 5
    Quickly is dead.
    – Braiam
    Jan 31, 2014 at 21:28
19

If you want to develop applications then you need to learn some programming language (C, C++, Java, Python, C#) You can also help in other ways e.g. Translations, Documentation, Testing etc.

The following links will provide you some links regarding Ubuntu and Gnome development.

https://wiki.ubuntu.com/UbuntuDevelopment

http://library.gnome.org/devel/

http://developer.ubuntu.com/

7
  • I am starting learning Pyhton right now. By the way, the first link you gave mostly talks about contributing to Ubuntu. My question is not about that. I want to make applications for Ubuntu.
    – User
    Oct 19, 2010 at 5:45
  • 3
    for making apps for Ubuntu, you'd probably want to be familiar with pygtk if you want to make gui apps.
    – gregghz
    Oct 19, 2010 at 5:49
  • What is pygtk? Can you point me to some useful resources for learning more about it.
    – User
    Oct 19, 2010 at 5:58
  • 1
    A good place would be start observing some popular ubuntu(Gnome/GTK) application pygtk.org/applications.html. Hopefully someone who has done Ubuntu development in Python answers your question (I am a Java guy :) )
    – Chakra
    Oct 19, 2010 at 6:00
  • 1
    PyGtk or python-gtk is the name for the modules that allow you to use Gtk (the default GUI toolkit in Ubuntu) from Python.
    – JanC
    Oct 19, 2010 at 6:03
7

The single best resource for learning Python (and programming in general) is Alan Gauld's massive, and extremely well-written, tutorial called "Learning to Program".

Python.org lists this tutorial as its third recommended resource on the Official Beginners Resources page. You'll find a ton of other resources there, but I really do think Alan's is the best.

You'd also be doing yourself a great favor by signing up for the Official Python Tutor newsgroup.

3
  • 1
    I linked the URLs for you. I know about a lot of documentation for python but I am looking for specific resources that help me develop programs for Ubuntu using Python.
    – User
    Oct 20, 2010 at 0:23
  • Thanks for that. I deleted the parenthesized bit about the non-linked URL's given it's no longer relevant.
    – trench
    Oct 20, 2010 at 5:55
  • 1
    Also, I just ran across a very nice write-up regarding beginners developing Python apps specifically for Ubuntu a few days ago, as I'm learning myself. If I locate it in my browser history (pretty sure I bookmarked it) I'll report back here.
    – trench
    Oct 20, 2010 at 5:58
4

I'll speak more about programming specific stuff. For Ubuntu-esque tips, see other answers. To get you started, first pick a programming book and learn, sharpen your programming skills. Then, along the way, keep thinking about what you believe is missing on Ubuntu. Once you're done, you either:

  • Join an open source project that is already working towards that goal. If needed, relearn new programming language (knowing more than one programming language is definitely a plus, it has zillions of benefits).

  • Start your own project solving the said problem. Give up when you find out it's too much work and then go back to A. This solution will have the advantage of making you learn what are the challenges in making a good program from scratch.

As a good Python learning resource, I recommend "Learn Python the hard way" by Zed Shaw. It is free, and by the hard way, the author actually means: by getting your hands dirty, by digging straight into programming. It is structured into 52 exercises, and in each you will learn about a different topic of Python and actually implement it yourself. (This is, kind of, the point of the book; if you're not gonna do it, don't bother.)

2

If you have the money, than I'd recommend picking up the Linux Programming Interface, by Michael Kerrisk. It's not a book you would read through cover to cover, which would take you months at the very least, rather it is a reference manual that gives you a deep insight into the inner workings of Linux from a programmers point of view. That is, however, depending on what level of development you're looking to go to. If you're just going to write plugins for existing applications, then this is probably overkill, but if you're planning on doing some serious development on Linux, then you should think about picking this up. There is a lot of information on the internet on this subject, but there's no one stop shop for it all and you'll spend a good amount of time looking for it, time which having a book like this can save you.

2

There are a plethora of resources to help you get started, including the tutorials on Quickly, at http://developer.ubuntu.com

1

If you're not in a hurry you can check out my tutorials.

I've just started using Quickly and learning python as I go. I'm a .net developer as my day job, but I love Open Source, so I started making some tutorials.

You can check out my new blog where I'm recording the creation of my Quickly project.

Not the answer you're looking for? Browse other questions tagged .