Представлен Blueprint - новый язык построения пользовательских интерфейсов для GTK

Автор Сообщение
news_bot ®

Стаж: 6 лет 2 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
05-Дек-2021 18:30

Джеймс Вестман (James Westman), разработчик приложения GNOME Maps, представил новый язык разметки Blueprint, предназначенный для построения интерфейсов с использованием библиотеки GTK. Код компилятора для преобразования разметки Blueprint в ui-файлы GTK написан на языке Python и распространяется под лицензией LGPLv3.
В качестве причины создания проекта называется привязка применяемых в GTK ui-файлов описания интерфейса к формату XML, который перегружен и не удобен для написания или редактирования разметки вручную. Формат Blueprint отличается наглядностью представления информации и благодаря читаемому синтаксису даёт возможность обойтись без применения специализированных визуальных редакторов интерфейса при создании, редактировании и оценки изменений в элементах интерфейса.
При этом Blueprint не требует внесения изменений в GTK, полностью повторяет модель виджетов GTK и позиционируется как надстройка, компилирующая разметку в штатный для GtkBuilder формат XML. Функциональные возможности Blueprint полностью соответствуют GtkBuilder, отличается лишь метод представления информации. Для перевода проекта на Blueprint достаточно добавить вызов blueprint-compiler в сценарий сборки без изменения кода.
using Gtk 4.0;
   template MyAppWindow : Gtk.ApplicationWindow {
     title: _("My App Title");
     [titlebar]
     HeaderBar header_bar {}
     Label {
       styles ["heading"]
       label: _("Hello, world!");
     }
   }

Кроме компилятора в штатный XML-формат GTK в разработке также находится плагин с поддержкой Blueprint для интегрированной среды разработки GNOME Builder. Отдельной развивается LSP-сервер (Language Server Protocol) для Blueprint, который можно будет использовать для подсветки, анализа ошибок, вывода подсказок и автодополнения кода в поддерживающих LSP редакторах кода, включая Visual Studio Code.
Из планов по развитию Blueprint отмечается добавления в разметку элементов реактивного программирования, реализуемого с использованием класса Gtk.Expression, предоставляемого в GTK4. Предлагаемый метод более привычен для разработчиков web-интерфейсов на JavaScript и позволяет добиться автоматической синхронизации представления интерфейса со связанной моделью данных, без необходимости принудительного обновления пользовательского интерфейса после каждого изменения данных.
===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_blueprint, #_gtk
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 20-Апр 20:29
Часовой пояс: UTC + 5