Представлен Cambalache, новый инструмент разработки GTK-интерфейсов

На конференции GUADEC 2021 представлен Cambalache, новый инструмент быстрой разработки интерфейсов для GTK 3 и GTK 4, использующий парадигму MVC и философию первостепенного значения модели данных. Одним из наиболее заметных отличий от Glade является поддержка ведения нескольких интерфейсов пользователя в одном проекте. Код проекта написан на Python и поставляется под лицензией GPLv2.

Для обеспечения поддержки нескольких веток GTK формирование рабочей области осуществляется с привлечением бэкенда Broadway, позволяющего отрисовывать вывод библиотеки GTK в окне web-браузера. Основной процесс Cambalache предоставляется обвязку с WebKit WebView, в которой при помощи Broadway транслируется вывод из процесса Merengue, который непосредственно занимается отрисовкой интерфейса, создаваемого пользователем. Интерфейс может генерироваться на базе GTK 3 и GTK 4, в зависимости от определённой в проекте версии.

Cambalache не зависит от GtkBuilder и GObject, но предоставляет модель данных, соответствующую системе типов GObject. Модель данных может импортировать и экспортировать разом нескольких интерфейсов, поддерживает объекты, свойства и сигналы GtkBuilder, предоставляет стек отката операций (Undo / Redo) и возможность сжатия история команд. Для генерации модели данных из gir-файлов предоставляется утилита cambalache-db, а для генерации классов GObject из таблиц модели данных — утилита db-codegen.

Источник: http://www.opennet.ru/opennews/art.shtml?num=55544