vala
// ExampleApp.vala
public class ExampleApp : Gtk.Application {
public ExampleApp () {
Object (application_id: "com.example.App");
}
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 app.run (args);
}
}
// Compile command (requires gtk4 package to be installed):
// valac --pkg gtk4 ExampleApp.valaПочему Vala?
- Производительный
- Удобно пишите свой объектно-ориентированный код с высокоуровневыми абстракциями, имея при этом глубокую интеграцию с технологиями GNOME, это такие как: GObject и GTK!
- Эффективный
- Vala компилируется в невероятно быстрые полностью нативные двоичные файлы. Вы также можете использовать существующий Cи-код в своих программах Vala, а также генерировать Cи-код из Vala.
- С открытым кодом
- Vala - это бесплатное и открытое программное обеспечение с отличным сообществом, которое вносит свой вклад в компилятор и разрабатывает множество удобных инструментов.
- Документация инструментария
Что вы можете сделать?
- Графические приложения
- Идеальная интеграция с GTK, Libadwaita и Granite делает разработку очень простой. Так же с легкостью публикуйте свои приложения во Flathub без лишних хлопот.
- Консольные приложения
- Используйте огромную стандартную библиотеку и множество других библиотек, доступных для использования в Vala.
- Библиотеки
- Предоставляйте привязки для большинства языков и документацию по API без ручной работы. Кроме того, поддерживаются как динамические, так и статические привязки.
Блог

ValaBot: an AI coding assistant fine-tuned for Vala
Sam Cowen
Vala: the smoothest C off-ramp
Reuben Thomas
print("Hello Planet GNOME");
Lorenz WildbergCurrent Versions
- Vala 0.56.17 (Stable Long-term Support)
- Vala main (Development)
Демонстрация
TubaBrowse the Fediverse
WorkbenchLearn and prototype with Vala and other GNOME technologies
DinoA modern open-source chat client for the desktop. Focuses on providing a clean and reliable Jabber/XMPP experience while having your privacy in mind.
MonitorManage processes and monitor system resources
TextSnatcherCopy Text from Images with ease, Perform OCR operations in seconds.
TimeshiftSystem restore tool for Linux. Creates filesystem snapshots using rsync+hardlinks, or BTRFS snapshots.
CrownCrown is a complete and cross-platform game engine designed for flexibility, performance, and fast-iterations.
Сообщество
- Форум
- Задавайте вопросы, связанные с Vala, на форумах GNOME Discourse под тегом „vala“.
- Discourse Форум
- Внутренний чат
- Обращайтесь к разработчикам или задайте вопросы о том, как внести свой вклад в Vala. У нас также есть IRC-сервер.
- Чат Matrix
Социальные сети
Следите за проектом Vala на этих платформах