Blueprint, забони нави интерфейси корбарро барои GTK муаррифӣ кард

Ҷеймс Вестман, таҳиягари замимаи GNOME Maps, забони нави қайдкуниро муаррифӣ кард, Blueprint, ки барои сохтани интерфейсҳо бо истифода аз китобхонаи GTK пешбинӣ шудааст. Рамзи компилятор барои табдил додани аломати Blueprint ба файлҳои GTK UI дар Python навишта шудааст ва таҳти иҷозатномаи LGPLv3 паҳн карда мешавад.

Сабаби эҷоди лоиҳа ҳатмии файлҳои тавсифи интерфейси интерфейси UI, ки дар GTK истифода мешавад, ба формати XML мебошад, ки аз ҳад зиёд пурбор аст ва барои дастӣ навиштан ё таҳрир кардани аломатҳо қулай нест. Формати Blueprint бо муаррифии равшани иттилоот фарқ мекунад ва ба шарофати синтаксиси хонданаш имкон медиҳад, ки бидуни истифодаи муҳаррирони махсуси интерфейси визуалӣ ҳангоми эҷод, таҳрир ва арзёбии тағирот дар унсурҳои интерфейс анҷом дода шавад.

Ҳамзамон, Blueprint тағиротро ба GTK талаб намекунад, модели виҷети GTK-ро комилан такрор мекунад ва ҳамчун илова ҷойгир шудааст, ки аломатҳоро ба формати стандартии XML барои GtkBuilder тартиб медиҳад. Функсияи Blueprint бо GtkBuilder комилан мувофиқ аст, танҳо усули пешниҳоди иттилоот фарқ мекунад. Барои интиқоли лоиҳа ба Blueprint, танҳо як занги нақша-компиляторро ба скрипти сохтмон бидуни тағир додани код илова кунед. бо истифода аз Gtk 4.0; шаблон MyAppWindow : Gtk.ApplicationWindow { унвон: _("Сарлавҳаи барномаи ман"); [панели сарлавҳа] HeaderBar header_bar {} Label { styles ["heading"] label: _("Салом, ҷаҳон!"); } }

Blueprint муаррифӣ шуд - забони нав барои сохтани интерфейсҳои корбар барои GTK

Илова ба компилятор ба формати стандартии GTK XML, плагин бо дастгирии Blueprint барои муҳити ҳамгирошудаи таҳияи GNOME Builder низ дар ҳоли таҳия аст. Барои Blueprint сервери алоҳидаи LSP (Language Server Protocol) таҳия шуда истодааст, ки он метавонад барои равшансозӣ, таҳлили хатогиҳо, намоиши маслиҳатҳо ва анҷоми код дар муҳаррирони коди LSP, аз ҷумла Visual Studio Code, истифода шавад.

Нақшаҳои таҳияи нақшаҳо иловаи унсурҳои барномасозии реактивиро ба қайд дар бар мегиранд, ки бо истифода аз синфи Gtk.Expression, ки дар GTK4 пешниҳод шудаанд, амалӣ карда мешаванд. Усули пешниҳодшуда ба таҳиягарони веб-интерфейсҳои JavaScript бештар шинос аст ва имкон медиҳад, ки муаррифии интерфейс бо модели додаҳои алоқаманд бидуни зарурати иҷборӣ навсозии интерфейси корбар пас аз ҳар як тағйироти додаҳо синхронизатсия карда шавад.

Манбаъ: opennet.ru

Илова Эзоҳ