Представлен Blueprint - новый язык построения пользовательских интерфейсов для GTK
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Джеймс Вестман (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
===========
Похожие новости
- Главная ссылка к новости (https://www.jwestman.net/2021/...)
- OpenNews: Доступна GUI-библиотека SixtyFPS 0.1.0, развиваемая бывшими разработчиками Qt
- OpenNews: Выпуск графического тулкита GTK 4.0
- OpenNews: Представлен Cambalache, новый инструмент разработки GTK-интерфейсов
- OpenNews: Выпуск графического тулкита GTK 4.4
- OpenNews: Рабочий стол Budgie переходит с GTK на библиотеки EFL от проекта Enlightenment
Похожие новости:
- Рабочий стол Budgie переходит с GTK на библиотеки EFL от проекта Enlightenment
- Выпуск графического тулкита GTK 4.4
- Представлен Cambalache, новый инструмент разработки GTK-интерфейсов
- [C++, GTK+] Gtk, OpenGL и все-все-все
- [Программирование, Разработка под Linux] Блокнот на языке Vala
- [Программирование, Разработка под Linux] Программа для создания desktop-файлов
- [Настройка Linux, Графические оболочки, GTK+, Разработка под Linux] В релиз вышел графический тулкит GTK 4.2
- Выпуск графического тулкита GTK 4.2
- Релиз браузерного движка WebKitGTK 2.32.0
- [Программирование, GTK+, Разработка под Linux] Создатель динамических обоев на языке Vala
Теги для поиска: #_blueprint, #_gtk
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 22:04
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Джеймс Вестман (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 =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 22:04
Часовой пояс: UTC + 5