Blueprint упрощает создание интерфейса с использованием библиотеки GTK4 и отличается задействованием простого декларативного синтаксиса, повторяющего модель виджетов GTK, поддерживающего типовые шаблоны, типы и обработчики. В отличие от формата ui-файлов GTK в Blueprint не применяется разметка XML, которая воспринимается как перегруженная и неудобная для редактирования вручную.
Для интеграции с интегрированными средами разработки и редакторами кода предоставляется LSP-сервер (Language Server Protocol), который можно использовать для подсветки, анализа ошибок, вывода подсказок и автодополнения кода. Поддержка Blueprint уже встроена в GNOME Builder и доступна в форме плагинов для Vim, GNU Emacs и Visual Studio Code.
Имеется утилита для упрощения портирования определений интерфейса из XML в Blueprint.
Благодаря читаемому синтаксису формат Blueprint позволяет обойтись без применения специализированных визуальных редакторов интерфейса. При этом Blueprint не требует внесения изменений в GTK и позиционируется как надстройка, компилирующая разметку в штатный для GtkBuilder формат XML. Функциональные возможности Blueprint полностью соответствуют GtkBuilder, отличается лишь метод представления информации. Код инструментария написан на языке Python и распространяется под лицензией LGPLv3.
using Gtk 4.0; template $MyAppWindow: ApplicationWindow { default-width: 600; default-height: 300; title: _("Hello, Blueprint!"); [titlebar] HeaderBar {} Label { label: bind template.main_text; } }
Источник: http://www.opennet.ru/opennews/art.shtml?num=63190