На конференции GUADEC 2021  был представлен новый инструмент для быстрой разработки интерфейсов GTK3 и GTK4 под названием Cambalache. В отличии от Glade, он способен поддерживать создание нескольких интерфейсов пользователя в одном проекте. Проект придерживается философии первостепенного значения модели данных и использует парадигму MVC. Написан на языке Python и распространяется под лицензией LGPLv2.

Рабочая область формируется с привлечением бэкенда Broadway, который позволяет отрисовывать вывод библиотеки GTK в окне браузера. Основной процесс Cambalache предоставляет обвязку с WebKit WebView, где при помощи Broadway транслируется вывод из процесса Merengue, который в свою очередь непосредственно и занимается отрисовкой интерфейса. Интерфейс может генерироваться на базе GTK3 и GTK4, в зависимости от заданной в проекте версии.

В отличии от Glade, Cambalache не зависит от GtkBuilder и GObject, но предоставляет модель данных, соответствующую системе типов GObject. Модель данных может импортировать и экспортировать разом сразу несколько интерфейсов. Также присутствует поддержка объектов, свойств и сигналов от GtkBuilder. Предоставляется стек отката операций и возможность сжатия истории команд. Для генерации модели данных из gir-файлов используется утилита cambalache-db, а для генерации классов GObject из таблиц модели данных – утилита db-codegen. На выходе пользователь получает классический xml-файл с расширением ui, который можно подключать к своему проекту.

Проект довольно интересный, но пока еще не готов к релизу. Вполне вероятно, что в будущем он может потеснить или даже заменить старый добрый Glade. Загрузить и попробовать данный инструмент в деле можно по этой ссылке.


Дата-центр ITSOFT — размещение и аренда серверов и стоек в двух дата-центрах в Москве. За последние годы UPTIME 100%. Размещение GPU-ферм и ASIC-майнеров, аренда GPU-серверов, лицензии связи, SSL-сертификаты, администрирование серверов и поддержка сайтов.

Комментарии (0)