Files
awesome-awesomeness/html/vala.html
2025-07-18 22:22:32 +02:00

348 lines
15 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 id="awesome-vala-awesome">Awesome Vala <a
href="https://awesome.re"><img src="https://awesome.re/badge.svg"
alt="Awesome" /></a></h1>
<p><a
href="https://vala.dev"><img src="vala.svg" align="right" width="100"></a></p>
<p>A curated list of resources for Vala - A programming language using
modern high level abstractions without imposing additional runtime
requirements, by leaning on GLib and GObject.</p>
<h2 id="contents">Contents</h2>
<ul>
<li><a href="#apps">Apps</a>
<ul>
<li><a href="#cryptography--security">Cryptography &amp;
Security</a></li>
<li><a href="#design-tools">Design Tools</a></li>
<li><a href="#development-tools">Development Tools</a></li>
<li><a href="#games">Games</a></li>
<li><a href="#internet-browsers">Internet Browsers</a></li>
<li><a href="#music">Music</a></li>
<li><a href="#personalization">Personalization</a></li>
<li><a href="#productivity">Productivity</a></li>
<li><a href="#system-tools">System Tools</a></li>
<li><a href="#virtualization">Virtualization</a></li>
<li><a href="#weather">Weather</a></li>
</ul></li>
<li><a href="#cli-tools">CLI Tools</a></li>
<li><a href="#editor-plugins">Editor Plugins</a></li>
<li><a href="#language-servers">Language Servers</a></li>
<li><a href="#libraries">Libraries</a>
<ul>
<li><a href="#command-line">Command-line</a></li>
<li><a href="#concurrency">Concurrency</a></li>
<li><a href="#cryptography--security-1">Cryptography &amp;
Security</a></li>
<li><a href="#data-structures--data-types">Data Structures &amp; Data
Types</a></li>
<li><a href="#databases">Databases</a></li>
<li><a href="#graphics-libraries">Graphics Libraries</a></li>
<li><a href="#gui-programming">GUI Programming</a></li>
<li><a href="#ioc-and-dependency-injection">IoC and Dependency
Injection</a></li>
<li><a href="#multimedia-processing">Multimedia Processing</a></li>
<li><a href="#numerical-computation">Numerical Computation</a></li>
<li><a href="#templating">Templating</a></li>
<li><a href="#text-processing">Text Processing</a></li>
<li><a href="#web-development">Web Development</a></li>
<li><a href="#xml--data-serialization">XML &amp; Data
Serialization</a></li>
</ul></li>
</ul>
<h2 id="apps">Apps</h2>
<h3 id="cryptography-security">Cryptography &amp; Security</h3>
<ul>
<li><a
href="https://gitlab.com/vinarisoftware/integrity-check-gtk">Integrity
Check</a> - Linux application written in Vala and GTK, designed to get
the verification sum of a file (MD5, SHA1, SHA256) and compare to the
sum of verification provided by the file creator.</li>
</ul>
<h3 id="design-tools">Design Tools</h3>
<ul>
<li><a href="https://github.com/akiraux/Akira">Akira</a> - Native Linux
App for UI and UX Design built in Vala and GTK.</li>
<li><a href="https://github.com/johanmattssonm/birdfont">Birdfont</a> -
A font editor for creating fonts in TTF, EOT, SVG and BIRDFONT
format.</li>
</ul>
<h3 id="development-tools">Development Tools</h3>
<ul>
<li><a href="https://gitlab.gnome.org/GNOME/gitg">GitG</a> - A graphical
user interface for <a href="https://git-scm.com/">git</a>.</li>
<li><a href="https://github.com/dbkangaroo/kangaroo">Kangaroo</a> -
AI-powered SQL client and admin tool for popular databases.</li>
<li><a
href="https://gitlab.com/XavierEduardo99/vamm-vinari-software">VAMM
(Vinari OS Apache &amp; MariaDB Manager)</a> - Manages LAMP services
using a GTK 3 GUI.</li>
</ul>
<h3 id="games">Games</h3>
<ul>
<li><a href="https://github.com/tkashkin/GameHub">GameHub</a> - A
unified library for all your games.</li>
<li><a href="https://gitlab.gnome.org/World/highscore">High Score (GNOME
Games)</a> - Retro gaming application for the GNOME desktop.</li>
<li><a href="https://github.com/antolius/sage">Sage</a> - A code
breaking game made for elementary OS.</li>
<li><a href="https://github.com/avojak/warble">Warble</a> - Native Linux
word-guessing game built in Vala and Gtk for elementary OS.</li>
</ul>
<h3 id="internet-browsers">Internet Browsers</h3>
<ul>
<li><a href="https://github.com/starfish-app/Starfish">Starfish</a> - A
Gemini browser for elementary OS.</li>
</ul>
<h3 id="music">Music</h3>
<ul>
<li><a href="https://gitlab.gnome.org/neithern/g4music">g4music</a> - A
beautiful, fast, fluent, light weight music player written in GTK4.</li>
</ul>
<h3 id="personalization">Personalization</h3>
<ul>
<li><a href="https://github.com/cheesecakeufo/komorebi">Korembi</a> - A
beautiful and customizable wallpapers manager for Linux.</li>
</ul>
<h3 id="productivity">Productivity</h3>
<ul>
<li><a href="https://github.com/phase1geo/Annotator">Annotator</a> -
Annotate images for better communication.</li>
<li><a href="https://github.com/elfenware/badger">Badger</a> - Remind
yourself to not sit and stare at the screen for too long.</li>
<li><a href="https://gitlab.gnome.org/raggesilver/blackbox">Blackbox</a>
- A beautiful GTK 4 terminal.</li>
<li><a href="https://github.com/dino/dino">Dino</a> - A modern
Jabber/XMPP Client using GTK+/Vala.</li>
<li><a href="https://github.com/Diego-Ivan/Flowtime">Flowtime</a> - GTK4
Libadwaita Pomodoro Timer.</li>
<li><a href="https://gitlab.gnome.org/GNOME/geary">geary</a> - Geary is
an email application built around conversations, for the GNOME 3
desktop.</li>
<li><a href="https://gitlab.gnome.org/GNOME/gnome-calculator">GNOME
Calculator</a> - The calculator app for the GNOME desktop.</li>
<li><a href="https://github.com/artemanufrij/graphui">graphui</a> -
Graph Visualization based on graphviz.</li>
<li><a href="https://github.com/cassidyjames/ideogram">Ideogram</a> -
Emoji Picker app.</li>
<li><a href="https://github.com/phase1geo/Minder">Minder</a> -
Mind-mapping application.</li>
<li><a href="https://github.com/lainsce/notejot">Notejot</a> -
Stupidly-simple notes app.</li>
<li><a href="https://github.com/Philip-Scott/Notes-up">Notes-up</a> -
Markdown notes editor &amp; manager.</li>
<li><a href="https://github.com/phase1geo/Outliner">Outliner</a> - Write
outlines easily.</li>
<li><a href="https://gitlab.com/posidon_software/paper/">Paper</a> -
Take notes in Markdown.</li>
<li><a href="https://github.com/pdfpc/pdfpc">pdfpc</a> - A GTK presenter
application with multi-monitor support for PDF files.</li>
<li><a href="https://github.com/alainm23/planify">Planify</a> - Task
manager with Todoist support designed for GNU/Linux.</li>
<li><a href="https://github.com/Philip-Scott/Spice-up">Spice-up</a> -
Presentations App for the modern Linux Desktop.</li>
<li><a href="https://github.com/phase1geo/TextShine">TextShine</a> -
Convert and manipulate text.</li>
<li><a href="https://github.com/RajSolai/TextSnatcher">TextSnatcher</a>
- Copy text from Images with ease.</li>
</ul>
<h3 id="system-tools">System Tools</h3>
<ul>
<li><a href="https://gitlab.gnome.org/GNOME/connections">Connections</a>
- A remote desktop client for the GNOME desktop environment.</li>
<li><a href="https://github.com/elementary/appcenter">elementary OS App
Center</a> - Pay-what-you-can app store for elementary OS.</li>
<li><a href="https://github.com/akarin123/manhelper">Man Helper</a> - A
lightweight GTK front-end for man pages.</li>
<li><a href="https://github.com/stsdc/monitor">Monitor</a> - Manage
processes and monitor system resources.</li>
<li><a href="https://github.com/phw/peek">Peek</a> - Simple animated GIF
screen recorder with an easy to use interface.</li>
<li><a
href="https://github.com/ErikReider/SwayNotificationCenter">SwayNotifiationCenter</a>
- A simple GTK based notification daemon for SwayWM.</li>
</ul>
<h3 id="virtualization">Virtualization</h3>
<ul>
<li><a href="https://gitlab.gnome.org/GNOME/gnome-boxes">GNOME Boxes</a>
- A simple GNOME 3 application to access virtual machines.</li>
</ul>
<h3 id="weather">Weather</h3>
<ul>
<li><a href="https://gitlab.com/bitseater/meteo">Meteo</a> - GTK Weather
app using the OpenWeatherMap API.</li>
</ul>
<h2 id="cli-tools">CLI Tools</h2>
<ul>
<li><a href="https://github.com/watsonprojects/EasyDocs">EasyDocs</a> -
Quickly read developer documentation.</li>
<li><a href="https://github.com/colinkiama/spider">Spider</a> - Quickly
generate a HTML5 site structure.</li>
<li><a href="https://github.com/vala-lang/valdo">Valdo</a> - Create new
Vala projects from templates.</li>
</ul>
<h2 id="editor-plugins">Editor Plugins</h2>
<ul>
<li><a href="https://github.com/vala-lang/vala-vscode">Vala VSCode</a> -
A plugin for Visual Studio Code that enables basic autocompletion and
syntax highlighting for Vala.</li>
<li><a
href="https://github.com/technosophos/Vala-TMBundle">Vala-TMBundle</a> -
A TextMate bundle that provides Vala syntax highlighting, code
completion, etc. Sublime Text 3 can also use this plugin.</li>
<li><a
href="https://atom.io/packages/language-vala-modern">language-vala-modern</a>
- Provides Vala language support in Atom. Its a fork of the
unmaintained “language-vala package”.</li>
<li><a href="https://launchpad.net/valasyntax4sublimetext">Vala Syntax 4
Sublime Text</a> - A basic plugin for Sublime Text 3 that provides
syntax highlighting.</li>
</ul>
<h2 id="language-servers">Language Servers</h2>
<ul>
<li><a
href="https://github.com/vala-lang/vala-language-server">vala-language-server</a>
- A language server that aims to provide code completion, formatting,
syntax highlighting, and everything else according to the Language
Server spec.</li>
</ul>
<h2 id="libraries">Libraries</h2>
<h3 id="command-line">Command-line</h3>
<ul>
<li><a
href="https://github.com/naaando/console-command">console-command</a> -
Library to route command-line arguments to a Command pattern object,
current implementation covers extension by inheritance or using
closures.</li>
</ul>
<h3 id="concurrency">Concurrency</h3>
<ul>
<li><a href="https://gitlab.com/kosmospredanie/gpseq">gpseq</a> - A
parallelism library for Vala and GObject.</li>
</ul>
<h3 id="cryptography-security-1">Cryptography &amp; Security</h3>
<ul>
<li><a href="https://www.gnutls.org/">GnuTLS</a> - A secure
communications library implementing the SSL, TLS and DTLS protocols and
technologies around them. It provides a simple API to access the secure
communications protocols as well as APIs to parse and write X.509, PKCS
#12, and other required structures.</li>
</ul>
<h3 id="data-structures-data-types">Data Structures &amp; Data
Types</h3>
<ul>
<li><a href="https://github.com/ebassi/graphene">Graphene</a> - A thin
layer of types for graphic libraries. It provides common types needed to
handle 3D transformations: points, triangles, rectangles, quads,
quaternions, vectors, matrices, spheres, etc.</li>
<li><a href="https://wiki.gnome.org/Projects/Libgee">Libgee</a> - A
utility library providing GObject-based interfaces and classes for
commonly used data structures (lists, maps, queues, trees, etc.).</li>
<li><a href="https://github.com/arteymix/numeric-glib">Numeric-GLib</a>
- A collection of numeric data types for GLib (and Vala) via GCC
extensions. It includes 128 bit integers &amp; floats, complex types,
vectorized operations, and decimal types.</li>
<li><a href="https://github.com/lcallarec/united">United</a> - A library
for unit manipulation (like kilograms, meters, etc).</li>
<li><a href="https://gitlab.gnome.org/BZHDeveloper/vul">vul (Vala
Utility Libraries)</a> - A set of utility libraries for Vala that add:
Text stream handling (input and output), JSON serialization and
deserialization, and, Archive compression and extraction.</li>
</ul>
<h3 id="databases">Databases</h3>
<ul>
<li><a href="https://github.com/AmbitionFramework/almanna">Almanna
ORM</a> - The Almanna ORM for Vala/GLib.</li>
</ul>
<h3 id="graphics-libraries">Graphics Libraries</h3>
<ul>
<li><a href="http://gegl.org/babl/">Babl</a> - A dynamic, any to any,
pixel format translation library.</li>
<li><a href="https://cairographics.org/">Cairo</a> - A 2D graphics
library with support for multiple output devices. This is pretty much
the default library you get in Vala.</li>
<li><a href="http://gegl.org/">GEGL</a> - A data flow based image
processing framework, providing floating point processing and
non-destructive image processing capabilities. Think of it as “Reactive
Programming for Images”.</li>
<li><a href="https://github.com/ev3dev/grx">GRX</a> - A graphics library
for simple graphics displays (think 1-bit displays or Adafruits PiTFT
displays). It also includes keyboard, mouse, joystick and touchscreen
input support.</li>
<li><a href="https://gitlab.com/gsvg/gsvg">GSVG (GObject SVG
Library)</a> - GSVG is an effort to provide a GLib GObject
implementation of W3C standard API.</li>
<li><a href="https://github.com/lcallarec/live-chart">live-chart</a> - A
real-time charting library for Vala and GTK3 based on Cairo.</li>
<li><a href="https://www.libsdl.org/">SDL2</a> - A cross-platform
development library designed to provide low level access to audio,
keyboard, mouse, joystick, and graphics hardware via OpenGL, Direct3D,
and Vulkan. Bindings are included in Vala and will be available starting
with Vala 0.52.</li>
</ul>
<h3 id="gui-programming">GUI Programming</h3>
<ul>
<li><a href="https://www.gtk.org/">GTK</a> - The de facto library for
GUI development in Vala. Bindings are included with the vala
compiler.</li>
</ul>
<h3 id="ioc-and-dependency-injection">IoC and Dependency Injection</h3>
<ul>
<li><a href="https://github.com/nahuelwexd/Vadi">Vadi</a> - An IoC
Container developed in order to facilitate the usage of dependency
injection for Vala developers.</li>
</ul>
<h3 id="multimedia-processing">Multimedia Processing</h3>
<ul>
<li><a href="http://gstreamer.freedesktop.org/">GStreamer</a> - A
powerful framework for creating multimedia applications.</li>
</ul>
<h3 id="numerical-computation">Numerical Computation</h3>
<ul>
<li><a href="https://github.com/fusilero/libbalistica">balistica</a> -
An open source ballistic simulation library. Theres a complete
calculator <a
href="https://github.com/fusilero/balistica">here</a>.</li>
<li><a href="https://github.com/rainwoodman/vast">vast</a> - A project
for generative modeling in Vala. Think of TensorFlow rewritten in
Vala.</li>
</ul>
<h3 id="templating">Templating</h3>
<ul>
<li><a href="https://github.com/arteymix/compose">Compose</a> - A
functional templating library for Vala.</li>
<li><a
href="https://gitlab.gnome.org/GNOME/template-glib">template-glib</a> -
A library for template expansion which supports calling into GObject
Introspection from templates.</li>
</ul>
<h3 id="text-processing">Text Processing</h3>
<ul>
<li><a
href="https://github.com/fabrixxm/libcmark-vapi">libcmark-vapi</a> -
Vala bindings for libcmark, the CommonMark parsing and rendering library
in C.</li>
</ul>
<h3 id="web-development">Web Development</h3>
<ul>
<li><a href="https://github.com/AmbitionFramework/ambition">Ambition</a>
- A web framework written in Vala, with the MVC pattern in mind. Kinda
unmaintained (someone could refactor it to use Valum under the hood, and
maybe move it to Meson 😉).</li>
<li><a href="https://github.com/valum-framework/valum">Valum</a> - A Web
micro-framework entirely written in Vala.</li>
</ul>
<h3 id="xml-data-serialization">XML &amp; Data Serialization</h3>
<ul>
<li><a href="https://gitlab.gnome.org/GNOME/gxml/">GXML</a> - A GObject
API for manipulating XML and a Serializable framework from GObject to
XML.</li>
<li><a href="https://gitlab.gnome.org/GNOME/json-glib/">Json-GLib</a> -
Implements a full JSON parser and generator using GLib and GObject, and
integrates JSON with GLib data types.</li>
<li><a
href="https://github.com/rainwoodman/libyaml-glib">libyaml-glib</a> -
The GLib binding of libyaml, plus a GObject builder that understands
YAML.</li>
</ul>
<p><a href="https://github.com/desiderantes/awesome-vala">vala.md
Github</a></p>