В GNOME SDK е добавена поддръжка за езика за строеж на интерфейси Blueprint

В предложения GNOME инструментария за разработка на приложения (GNOME SDK) е вграден компилатор blueprint-compiler, който позволява използването на разметка на Blueprint за определяне на интерфейса на приложенията. Поддръжката на Blueprint в GNOME SDK ще осигури възможност за прилагане на този език за описание на интерфейса в приложенията GNOME без ръчно инсталиране на допълнителни зависимости. В момента Blueprint е добавен в нощните сборки на GNOME SDK и ще бъде част от изданията, започвайки от есенния релиз на GNOME 49.

Blueprint улеснява създаването на интерфейси с използване на библиотеката GTK4 и се отличава със своя прост декларативен синтаксис, който повтаря модела на виджетите на GTK, поддържайки стандартни шаблони, типове и обработчици. За разлика от формата на ui-файлове на GTK, в Blueprint не се използва XML разметка, която се счита за неефективна и неудобна за ръчно редактиране.

За интеграция с вградени среди за разработка и редактори на код се предоставя LSP-сервер (Language Server Protocol), който може да се използва за подсветка, анализ на грешки, извеждане на подсказки и автоматично допълване на кода. Поддръжката на Blueprint вече е вградена в GNOME Builder и е налична под формата на плъгини за Vim, GNU Emacs и Visual Studio Code. Има инструмент за опростяване на портироването на определения на интерфейса от XML в Blueprint.

Благодарение на четимия синтаксис формат Blueprint позволява да се мине без необходимост от специализирани визуални редактори на интерфейса. В същото време Blueprint не изисква промени в GTK и се позиционира като надстройка, компилираща разметката в стандартния формат XML за GtkBuilder. Функционалните възможности на Blueprint напълно съответстват на GtkBuilder, като се различават единствено по метода на представяне на информацията. Кодът на инструмента е написан на Python и се разпространява под лиценз LGPLv3. using Gtk 4.0; template $MyAppWindow: ApplicationWindow { default-width: 600; default-height: 300; title: _(«Hello, Blueprint!»); [titlebar] HeaderBar {} Label { label: bind template.main_text; } }

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

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