Apprendre le language Vala de GNOME
Voulant développer mes propres applications graphiques (sous GNU/Linux Debian 13, GNOME) et respecter la charte graphique de GNOME, je me suis demandé quel language utiliser et comment développer.
- Je code beaucoup en dotNET et C#, j’aimerais utiliser ce language.
- Je veux avoir le plus simple possible pour garder la charte et les conventions graphique de GNOME. C’est très important que mes applications soient visuellement dans le style des applications de GNOME pour faciliter leur utilisation sans devoir réapprendre la roue à chaque fois.
- Un code simple, épuré serait chouette pour la relecture.
- Un IDE qui soit le plus intégré à GNOME (pour créer le logiciel et aussi pour analyser et réparer le logiciel).
- Que je puisse faire confiance au language et à l’IDE (ne récupère pas des données, soit transparent dans les librairies).
Je vais, non pas utiliser mon language préféré (C#), mais le language créé par GNOME, le language Vala ainsi que l’IDE officiel, GNOME Builder.
Tableau récapitulatif des languages
| Critère | Python + GTK4 / Libadwaita | C# (.NET 9) + Gir.Core (ou Avalonia) | Vala + Libadwaita (Le choix GNOME) |
|---|---|---|---|
| 1. Utilisation de vos compétences C# | Faible : Vous devez apprendre une nouvelle syntaxe dynamique (indentation, typage dynamique par défaut, pas d’accolades). | Maximale : Vous restez à 100 % dans votre langage maîtrisé et utilisez l’écosystème .NET. | Très forte : Vala est un “clone” syntaxique de C#. Vous retrouverez vos marques (classes, namespaces, types) en quelques heures. |
| 2. Respect de la charte graphique GNOME | Excellent : Utilise les vrais composants officiels de GNOME (Libadwaita). Look “Pixel Perfect” automatique. | Moyen / Difficile : Avec Gir.Core, c’est natif mais complexe. Avec Avalonia, le look GNOME est simulé par un thème tiers. | Parfait : C’est le langage officiel de l’écosystème. Conçu exclusivement pour appliquer la charte graphique GNOME sans effort. |
| 3. Code simple et épuré pour la relecture | Très bon : Code très court et lisible, mais l’absence de typage strict dans les exemples de base peut perdre un habitué du C#. | Moyen : Le code lié à GTK en C# (Gir.Core) est actuellement verbeux, lourd et contient beaucoup de plomberie visuelle. | Excellent : Syntaxe moderne, typée et épurée. Grâce aux attributs comme [GtkCallback], le code est débarrassé de la plomberie. |
| 4. IDE intégré à GNOME (Création / Débogage) | Excellent : Parfaitement pris en charge par GNOME Builder (création visuelle, débogage intégré via GDB). | Mauvais : GNOME Builder gère très mal le C#. Vous devrez utiliser VS Code ou Rider, qui ne sont pas intégrés à GNOME. | Idéal : GNOME Builder a été créé pour Vala. L’éditeur visuel, le compilateur et le débogueur ne font qu’un. |
| 5. Confiance, transparence et vie privée | Totale : Tout l’écosystème (langage, IDE, outils de build) est géré par la fondation GNOME et Debian, 100% Open Source. | Modérée : .NET appartient à Microsoft. Les IDEs performants (VS Code / Rider) incluent de la télémétrie par défaut (sauf VSCodium). | Totale : Langage créé par GNOME, compilateur Open Source, aucune télémétrie, transparence absolue des bibliothèques Linux. |
Installation
# IDE + Lib
sudo apt install gnome-builder valac gir1.2-adw-1
# Doc officiel offline
sudo apt install devhelp valadoc
TODO: A modifier petit à petit quand j’ai le temps d’apprendre Vala.