Воведен Blueprint, нов јазик за кориснички интерфејс за GTK

Џејмс Вестман, развивач на апликацијата GNOME Maps, воведе нов јазик за означување, Blueprint, дизајниран за градење интерфејси со помош на библиотеката GTK. Кодот на компајлерот за конвертирање на ознаката на Blueprint во датотеки на GTK UI е напишан во Python и дистрибуиран под лиценцата LGPLv3.

Причината за креирање на проектот е врзувањето на датотеките за опис на интерфејсот на интерфејсот што се користат во 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. Се развива посебен LSP сервер (јазичен сервер протокол) за Blueprint, кој може да се користи за истакнување, анализа на грешки, прикажување совети и комплетирање на кодот во уредувачите на код што поддржуваат LSP, вклучувајќи го и Visual Studio Code.

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

Извор: opennet.ru

Додадете коментар