Apresentado o Blueprint — uma nova linguagem para construir interfaces de usuário para GTK

James Westman, desenvolvedor do aplicativo GNOME Maps, apresentou uma nova linguagem de marcação chamada Blueprint, destinada à construção de interfaces utilizando a biblioteca GTK. O código do compilador para converter a marcação Blueprint em arquivos ui do GTK foi escrito em Python e é distribuído sob a licença LGPLv3.

A razão para a criação do projeto é a ligação dos arquivos ui utilizados no GTK, que são baseados em XML, um formato pesado e inconveniente para escrever ou editar a marcação manualmente. O formato Blueprint se destaca pela clareza na apresentação das informações e, devido à sua sintaxe legível, permite que se dispense editores visuais especializados na criação, edição e avaliação de alterações nos elementos da interface.

Além disso, o Blueprint não requer modificações no GTK, reproduz completamente o modelo de widgets do GTK e se posiciona como uma camada que compila a marcação no formato XML padrão para o GtkBuilder. As capacidades funcionais do Blueprint correspondem totalmente às do GtkBuilder, diferindo apenas na forma de apresentação das informações. Para adaptar um projeto ao Blueprint, basta adicionar a chamada blueprint-compiler ao script de construção sem modificar o código. using Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _(“My App Title”); [titlebar] HeaderBar header_bar {} Label { styles [“heading”] label: _(“Hello, world!”); } }

Apresentado o Blueprint - uma nova linguagem para construção de interfaces de usuário para GTK

Além do compilador para o formato XML padrão do GTK, está em desenvolvimento um plug-in com suporte ao Blueprint para o ambiente de desenvolvimento integrado GNOME Builder. Também está sendo desenvolvido um servidor LSP (Language Server Protocol) para o Blueprint, que poderá ser utilizado para realce de sintaxe, análise de erros, sugestões e autocompletar código em editores que suportam LSP, incluindo o Visual Studio Code.

Entre os planos de desenvolvimento do Blueprint, destaca-se a adição de elementos de programação reativa à marcação, implementada utilizando a classe Gtk.Expression, fornecida no GTK4. O método proposto é mais familiar para desenvolvedores de interfaces web em JavaScript e permite a sincronização automática da apresentação da interface com o modelo de dados associado, sem a necessidade de atualizar manualmente a interface do usuário após cada modificação nos dados.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster