Introducing Cambalache, a new tool for GTK interface development

At the GUADEC 2021 conference, Cambalache was introduced, a new tool for rapid interface development for GTK 3 and GTK 4, utilizing the MVC paradigm and the philosophy of placing data models as a priority. One of the most notable differences from Glade is the support for managing multiple user interfaces within a single project. The project code is written in Python and is distributed under the GPLv2 license.

To support multiple branches of GTK, the workspace is formed with the involvement of the Broadway backend, which allows rendering the output of the GTK library in a web browser window. The core process of Cambalache provides a wrapper with WebKit WebView, where the output from the Merengue process, which directly handles the rendering of the user-created interface, is streamed through Broadway. The interface can be generated based on GTK 3 and GTK 4, depending on the version specified in the project.

Introducing Cambalache, a new tool for GTK interface development

Cambalache operates independently of GtkBuilder and GObject but provides a data model that aligns with the GObject type system. The data model can import and export multiple interfaces at once, supports objects, properties, and signals from GtkBuilder, offers an undo/redo operation stack, and allows for command history compression. To generate the data model from gir files, a utility called cambalache-db is provided, while a utility named db-codegen is available for generating GObject classes from the data model tables.

Introducing Cambalache, a new tool for GTK interface development


Source: opennet.ru
Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster