Introduction de Blueprint, un nouveau langage d'interface utilisateur pour GTK

James Westman, développeur de l'application GNOME Maps, a introduit un nouveau langage de balisage, Blueprint, conçu pour créer des interfaces à l'aide de la bibliothèque GTK. Le code du compilateur pour convertir le balisage Blueprint en fichiers GTK UI est écrit en Python et distribué sous la licence LGPLv3.

La raison de la création du projet est la liaison des fichiers de description de l'interface utilisateur utilisés dans GTK au format XML, qui est surchargé et peu pratique pour écrire ou modifier manuellement le balisage. Le format Blueprint se distingue par sa présentation claire des informations et, grâce à sa syntaxe lisible, permet de se passer du recours à des éditeurs d'interface visuelle spécialisés lors de la création, de l'édition et de l'évaluation des modifications des éléments de l'interface.

Dans le même temps, Blueprint ne nécessite aucune modification de GTK, reproduit complètement le modèle de widget GTK et se positionne comme un module complémentaire qui compile le balisage au format XML standard pour GtkBuilder. La fonctionnalité de Blueprint est entièrement cohérente avec GtkBuilder, seule la méthode de présentation des informations diffère. Pour migrer un projet vers Blueprint, ajoutez simplement un appel au compilateur blueprint au script de construction sans modifier le code. en utilisant GTK 4.0 ; modèle MyAppWindow : Gtk.ApplicationWindow { title: _("Mon titre d'application"); [titlebar] HeaderBar header_bar {} Label { styles ["heading"] label: _("Bonjour tout le monde !"); } }

Blueprint introduit - un nouveau langage pour créer des interfaces utilisateur pour GTK

En plus du compilateur au format XML GTK standard, un plugin prenant en charge Blueprint pour l'environnement de développement intégré GNOME Builder est également en développement. Un serveur LSP distinct (Language Server Protocol) est en cours de développement pour Blueprint, qui peut être utilisé pour la mise en évidence, l'analyse des erreurs, l'affichage d'astuces et la complétion de code dans les éditeurs de code prenant en charge LSP, y compris Visual Studio Code.

Les plans de développement du Blueprint incluent l'ajout d'éléments de programmation réactifs au balisage, implémentés à l'aide de la classe Gtk.Expression fournie dans GTK4. La méthode proposée est plus familière aux développeurs d'interfaces Web JavaScript et permet une synchronisation automatique de la présentation de l'interface avec le modèle de données associé, sans qu'il soit nécessaire de mettre à jour de force l'interface utilisateur après chaque modification de données.

Source: opennet.ru

Ajouter un commentaire