Опубликован релиз проекта Cambalache 0.90, развивающего инструмент быстрой разработки интерфейсов для GTK 3 и GTK 4, использующий парадигму MVC и философию первостепенного значения модели данных. В отличие от Glade в Cambalache предоставляется поддержка ведения нескольких интерфейсов пользователя в одном проекте. Код написан на Python и поставляется под лицензией LGPLv2.1. Для установки доступен пакет в формате flatpak.
Cambalache не зависит от GtkBuilder и GObject, но предоставляет модель данных, соответствующую системе типов GObject. Модель данных может импортировать и экспортировать разом несколько интерфейсов, поддерживает объекты, свойства и сигналы GtkBuilder, предоставляет стек отката операций (Undo / Redo) и возможность сжатия истории команд. Для генерации модели данных из gir-файлов предоставляется утилита cambalache-db, а для генерации классов GObject из таблиц модели данных — утилита db-codegen.
Интерфейс может генерироваться на базе GTK 3 и GTK 4, в зависимости от определённой в проекте версии. Для обеспечения поддержки разных веток GTK формирование рабочей области осуществляется с привлечением бэкенда Broadway, позволяющего отрисовывать вывод библиотеки GTK в окне web-браузера. Основной процесс Cambalache предоставляет обвязку на базе WebKit WebView, в которой при помощи Broadway транслируется вывод из процесса Merengue, который непосредственно занимается отрисовкой интерфейса, создаваемого пользователем.
В новой версии осуществлён перевод интерфейса пользователя Cambalache на библиотеку GTK 4. Каталог виджетов обновлён для GNOME SDK 46. Расширены возможности, связанные с привязкой действий к элементам контекстного меню и переводом всплывающих подсказок к кнопкам. Присвоение номера 0.90 после версий 0.1x объясняется приближением к готовности выпустить релиз Cambalache 1.0.
Источник: opennet.ru