Прадстаўлены 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. Прапанаваны метад больш звыклы для распрацоўнікаў web-інтэрфейсаў на JavaScript і дазваляе дамагчыся аўтаматычнай сінхранізацыі падання інтэрфейсу са звязанай мадэллю дадзеных, без неабходнасці прымусовага абнаўлення карыстацкага інтэрфейсу пасля кожнай змены дадзеных.

Крыніца: opennet.ru

Дадаць каментар