Blueprint, uma nova linguagem de interface de usuário para GTK, é apresentada

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

O motivo da criação do projeto é a vinculação dos arquivos ui de descrição da interface usados ​​no GTK ao formato XML, que é sobrecarregado e não é conveniente para escrever ou editar marcações manualmente. O formato Blueprint distingue-se pela apresentação visual da informação e, graças à sua sintaxe legível, permite dispensar o uso de editores de interface visual especializados na criação, edição e avaliação de alterações nos elementos da interface.

Ao mesmo tempo, o Blueprint não requer nenhuma alteração no GTK, ele repete completamente o modelo de widget do GTK e é posicionado como um complemento que compila a marcação no formato XML padrão para o GtkBuilder. A funcionalidade do Blueprint é exatamente a mesma do GtkBuilder, apenas a forma como a informação é apresentada é diferente. Para traduzir um projeto para Blueprint, basta adicionar uma chamada para blueprint-compiler ao script de construção sem alterar o código. usando GTK 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _("My App Title"); [titlebar] HeaderBar header_bar {} Label { estilos ["heading"] label: _("Hello, world!"); } }

Blueprint, uma nova linguagem de interface de usuário para GTK, é apresentada

Além do compilador para o formato padrão GTK XML, um plugin com suporte Blueprint para o ambiente de desenvolvimento integrado GNOME Builder também está em desenvolvimento. Um servidor LSP (Language Server Protocol) separado está sendo desenvolvido para o Blueprint, que pode ser usado para destaque, análise de erros, solicitação e conclusão de código em editores de código que suportam LSP, incluindo o Visual Studio Code.

Os planos de desenvolvimento do Blueprint incluem a adição de elementos de programação reativos à marcação, implementados usando a classe Gtk.Expression fornecida no GTK4. O método proposto é mais familiar para desenvolvedores de interface web JavaScript e permite obter sincronização automática da visualização da interface com o modelo de dados associado, sem a necessidade de forçar uma atualização da interface do usuário após cada alteração de dados.

Fonte: opennet.ru

Adicionar um comentário