Skip to main content

A Familiar Way To Develop Applications

// ExampleApp.vala

public class ExampleApp : Gtk.Application {
  public ExampleApp () {
    Object (
      application_id: "com.example.App",
      flags: ApplicationFlags.DEFAULT_FLAGS

  public override void activate () {
    var win = new Gtk.ApplicationWindow (this);

    var btn = new Gtk.Button.with_label ("Hello World");
    btn.clicked.connect (win.close);

    win.child = btn;
    win.present ();

  public static int main (string[] args) {
    var app = new ExampleApp ();
    return (args);

// Compile command (requires "glib-2.0" package on version 2.74 or higher and "gtk4" package to be installed):
// valac --target-glib=2.74 --pkg gtk4 ExampleApp.vala

Why Vala?

Comfortably write your code in an object-oriented way with high level abstractions, while having access to deep integrations with GNOME technologies such as: GObject, GTK and more!
Vala compiles code down to blazingly fast, fully native binaries. You're also able to reuse existing C Code in your Vala programs as well as generate C Code from Vala.
Vala is free and open-source software. It has a great community that contributes to the compiler and develops lots of tooling.
Tooling Documentation
Learn more about Vala

What can you build?

GUI Applications
Perfect integration of GTK, Libadwaita and Granite makes development super simple. Easily publish your apps on Flathub without bloated packages.
Command Line Programs
Use a large standard library and use loads of other libraries available for use in Vala.
Provide bindings for many other languages and API documentation without manual work. Also, dynamic and static linking are both supported.

What's new?

Purple background with white text on center that says 'Vala'.
Vala 0.56
Lorenz Wildberg
View Blog


View More Vala Projects


Ask questions related to Vala in the GNOME Discourse forums under the 'vala' tag.
Discourse Forums
Internals Chat
Talk to the developers or ask questions about how to contribute to Vala, use the Vala Matrix channel. It also has a IRC bridge.
Matrix Room
Community Server
Connect with the community on the Discord server.
Discord Server

Social Media

Follow the Vala project across these platforms