Presentamos Blueprint, un novo idioma de interface de usuario para GTK

James Westman, desenvolvedor da aplicación GNOME Maps, presentou unha nova linguaxe de marcas, Blueprint, deseñada para construír interfaces usando a biblioteca GTK. O código do compilador para converter o marcado de Blueprint en ficheiros da interface de usuario GTK está escrito en Python e distribúese baixo a licenza LGPLv3.

O motivo para crear o proxecto é a vinculación dos ficheiros de descrición da interface da interface de usuario utilizados en GTK ao formato XML, que está sobrecargado e non é conveniente para escribir ou editar o marcado manualmente. O formato Blueprint distínguese pola súa clara presentación da información e, grazas á súa sintaxe lexible, permite prescindir do uso de editores de interfaces visuais especializados á hora de crear, editar e avaliar cambios nos elementos da interface.

Ao mesmo tempo, Blueprint non require cambios en GTK, replica completamente o modelo de widget GTK e sitúase como un complemento que compila o marcado no formato XML estándar para GtkBuilder. A funcionalidade de Blueprint é totalmente coherente con GtkBuilder, só é diferente o método de presentación da información. Para migrar un proxecto a Blueprint, só tes que engadir unha chamada ao compilador de blueprint ao script de compilación sen cambiar o código. usando Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _("O meu título da aplicación"); [barra de título] HeaderBar header_bar {} Etiqueta { estilos ["título"] etiqueta: _("Ola, mundo!"); } }

Presentación de Blueprint: unha nova linguaxe para crear interfaces de usuario para GTK

Ademais do compilador no formato estándar GTK XML, tamén se está a desenvolver un complemento con compatibilidade con Blueprint para o contorno de desenvolvemento integrado GNOME Builder. Estase a desenvolver un servidor LSP (Language Server Protocol) separado para Blueprint, que se pode usar para resaltar, analizar erros, mostrar suxestións e completar o código en editores de código compatibles con LSP, incluído Visual Studio Code.

Os plans de desenvolvemento do plano inclúen a adición de elementos de programación reactivos ao marcado, implementados mediante a clase Gtk.Expression proporcionada en GTK4. O método proposto é máis familiar para os desenvolvedores de interfaces web JavaScript e permite a sincronización automática da presentación da interface co modelo de datos asociado, sen necesidade de actualizar forzadamente a interface de usuario despois de cada cambio de datos.

Fonte: opennet.ru

Engadir un comentario