ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.
WikiVala

Vala

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/develop.png Bei Vala und seiner Schwester Genie {en} handelt es sich um zwei noch junge Programmiersprachen. Vala erfreut sich zunehmender Beliebtheit unter anderem im GNOME-Projekt. Bekannte Programme, die in Vala entwickelt werden, sind beispielsweise Shotwell, Pino und der Xfce Music Player Client.

Die beiden modernen Sprachen ermöglichen objektorientierte Programmierung mit dem GObject-Modell. Die Syntax von Vala ist an C# und auch Java angelehnt, die von Genie erinnert in Teilen an Python, Boo und D. Der Vala-Compiler übersetzt den Quellcode in C-Header-Dateien und -Quelltext, der wiederum mit dem GNU C Compiler in ausführbaren Maschinencode übersetzt wird.

Installation

Unter Ubuntu kann die Installation aus den Paketquellen oder einem Community-PPA erfolgen. Das Kompilieren des Vala-Compilers ist in einem eigenen Artikel Vala/Kompilieren beschrieben.

Paketquellen

Der Vala-Compiler und die Dokumentation können über die Paketverwaltung installiert werden [1]:

  • valac

  • vala-doc

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install valac vala-doc 

sudo aptitude install valac vala-doc 

PPA

Außerdem steht ein Community-PPA zur Verfügung, das ggf. Pakete für ältere Ubuntu-Versionen bereithält [2].

Adresszeile zum Hinzufügen des PPAs:

  • ppa:vala-team/ppa

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen bietet die Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung vom Benutzer/Team vala-team.

Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.

Beispiele

Die folgenden Beispiele können in einem Editor [3] erstellt werden.

Hello World

In Vala

Folgendes "Hello World"-Beispiel soll in Grundzügen zeigen, wie mit Vala das GObject-System benutzt wird:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
/* eine Klasse abgeleitet vom GObject */
public class BasicSample : Object {

    /* öffentliche Instanz-Methode */
    public void run () {
        stdout.printf ("Hello World\n");
    }

    /* Einstiegspunkt */
    public static int main (string[] args) {
        // eine Instanz der Klasse wird einer
        // vom Typ abgeleiteten Variablen zugewiesen
        var sample = new BasicSample ();
        // Aufruf der run-Methode
        sample.run ();
        // Rückgabe der main-Methode
        return 0;
    }
}

Das Kompilieren und Ausprobieren erfolgt im Terminal [4] mittels:

valac helloworld.vala
./helloworld 

Um an den C-Quelltext und die Header-Datei zu gelangen, übersetzt man mit dem zusätzlichen Parameter -C, also:

valac -C helloworld.vala 

In Genie

Ein schlichtes "hello world"-Programm in Genie sieht wie folgt aus:

1
2
3
[indent=2]
init
  print "Hello World"

Die erste Zeile gibt hier die verwendete Einrückung (zwei Leerzeichen) vor, da diese bei Genie Teil der Syntax ist. Lässt man diese Angabe weg, wird von Tabulatoren als Einrückung ausgegangen.

Das Kompilieren und Ausprobieren erfolgt analog zum Vala-Beispiel, wobei für die Quelltextdatei die Endung .gs verwendet werden muss.

Browser

Für einen auf GTK+ und WebKit basierenden Browser müssen folgende Abhängigkeiten installiert werden:

  • libgtk2.0-dev

  • libwebkit1.0-dev

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install libgtk2.0-dev libwebkit1.0-dev 

sudo aptitude install libgtk2.0-dev libwebkit1.0-dev 

Die Beispiele sind zu finden unter:

Das Genie-Beispiel wird in einer Datei mit der Endung .gs, das Vala-Beispiel in einer Datei mit Endung .vala gespeichert, beispielsweise meinbrowser.gs oder meinbrowser.vala.

Das Kompilieren erfolgt mittels:

valac --pkg gtk+-2.0 --pkg webkit-1.0 meinbrowser.gs
# bzw.
valac --pkg gtk+-2.0 --pkg webkit-1.0 meinbrowser.vala 

Der Browser kann nach erfolgreichem Kompilieren mittels ./meinbrowser gestartet werden.

Intern

Extern

Medien

  • freiesMagazin 2011-01 {de} - die Januar-Ausgabe 2011 enthält u.a. einen Artikel über das Programmieren mit Vala

Hilfsmittel

ubuntuusers.local › WikiVala