Представен е Blueprint — нов език за изграждане на потребителски интерфейси за GTK

Джеймс Вестман (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!»); }}

Представен Blueprint - нов език за изграждане на потребителски интерфейси за GTK

Освен компилатора в стандартния XML формат GTK, в разработката също така се намира и плъгин с поддръжка на Blueprint за интегрираната среда за разработка GNOME Builder. Отделно се развива LSP сървър (Language Server Protocol) за Blueprint, който ще може да се използва за оцветяване, анализиране на грешки, предоставяне на подсказки и автозавършване на кода в поддържащите LSP редактори на кода, включително Visual Studio Code.

От плановете за развитие на Blueprint се отбелязва добавянето в отбелязването на елементи на реактивното програмиране, реализирано с помощта на класа Gtk.Expression, предоставен в GTK4. Предложеният метод е по-привичен за разработчиците на уеб интерфейси на JavaScript и позволява автоматична синхронизация на представянето на интерфейса с свързаната модел на данни, без необходимост от принудително обновление на потребителския интерфейс след всяка промяна на данните.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster