How can I start programming for Elementary OS?

1.3k views Asked by At

The Elementary OS is really powerful and beauty operation system, based on Ubuntu, and I want build programs for the OS. How can I start it? Any books, courses, step-by-step instructions etc? What do you can give advice to me for starting? I know the OS use Vala programming language, but I can't find any books for the one.

upd: Now I know on middle level CSS, HTML and PHP.

Thx for any answer, best

2

There are 2 answers

4
Florian Zwoch On BEST ANSWER

Vala is some kind of modern language frontend for C programming, primarily for the GObject world (but not exclusively). That means for programing in the GNOME ecosystem.

Not sure what you want to do - develop command line applications or graphical ones. For graphical ones you will want to learn the Gtk+ framework. It is based upon the GLib framework, which you would use if you want to create command line applications.

I would recommend start reading on the Gtk+ documentation:

https://developer.gnome.org/gtk3/3.22/

This is all in the C world because the framework itself in C. So when using Vala things will be a bit different (but not too much). It can be challenging doing both at the same time - but it should be a good read and excercise to get a basic understanding on how things work.

0
Johannes Braun On

Start at the offical elementary website: https://elementary.io/docs/code/getting-started#getting-started

As stated by Florian Zwoch, the language of choice is Vala in combination with the GTK+ ("GUI-Framework").

Read https://chebizarro.gitbooks.io/the-vala-tutorial/content/ for a introduction to the Vala language itself.

Then go to Valadoc for a comprehesive documentation as well as some introduction turorials on the topic Vala in combination with GTK+ / Application development.

(Besides Vala, GTK+ has bindings for almost any language, with C/C++ and Python being the more popular)

Then you can look at the official Github repository and study the sources of the elementaryos apps: https://github.com/elementary

You find a few more helpful code examples on gnome.org: https://wiki.gnome.org/Projects/Vala/Examples