Présentation de Blueprint — un nouveau langage de construction d'interfaces utilisateur pour GTK

James Westman, développeur de l'application GNOME Maps, a présenté un nouveau langage de balisage Blueprint, destiné à la construction d'interfaces en utilisant la bibliothèque GTK. Le code du compilateur pour transformer le balisage Blueprint en fichiers ui GTK est écrit en Python et est distribué sous la licence LGPLv3.

La raison de la création du projet est liée à l'attachement des fichiers ui utilisés dans GTK au format XML, qui est encombré et peu pratique pour écrire ou éditer le balisage à la main. Le format Blueprint se distingue par la clarté de sa présentation d'information et, grâce à sa syntaxe lisible, permet de se passer d'éditeurs visuels spécialisés lors de la création, la modification et l'évaluation des changements d'éléments d'interface.

En outre, Blueprint ne nécessite pas de modifications dans GTK, reproduit entièrement le modèle de widgets GTK et se positionne comme un complément qui compile le balisage dans le format XML standard utilisé par GtkBuilder. Les fonctionnalités de Blueprint correspondent entièrement à celles de GtkBuilder, seules les méthodes de présentation de l'information diffèrent. Pour transférer un projet vers Blueprint, il suffit d'ajouter l'appel du blueprint-compiler dans le script de construction sans modifier le code. using Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _(«My App Title»); [titlebar] HeaderBar header_bar {} Label { styles [«heading»] label: _(«Hello, world!»); } }

Blueprint présenté - un nouveau langage de construction d'interfaces utilisateur pour GTK

Outre le compilateur vers le format XML standard de GTK, un plugin avec support de Blueprint est également en développement pour l'environnement de développement intégré GNOME Builder. Un serveur LSP (Language Server Protocol) pour Blueprint est en cours de développement, qui pourra être utilisé pour la mise en évidence, l'analyse des erreurs, la fourniture de conseils et l'auto-complétion du code dans les éditeurs de code prenant en charge LSP, y compris Visual Studio Code.

Parmi les plans de développement de Blueprint, il est prévu d'ajouter des éléments de programmation réactive au balisage, réalisés à l'aide de la classe Gtk.Expression, fournie dans GTK4. La méthode proposée est plus familière pour les développeurs d'interfaces web utilisant JavaScript et permet d'atteindre une synchronisation automatique de la représentation de l'interface avec le modèle de données associé, sans avoir à forcer la mise à jour de l'interface utilisateur après chaque modification des données.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster