Tijdens de GUADEC 2021 conferentie werd Cambalache gepresenteerd, een nieuwe tool voor snelle interfaceontwikkeling voor GTK 3 en GTK 4, die gebruikmaakt van de MVC-paradigma en de filosofie van de belangrijkste datamodel. Een van de meest opvallende verschillen met Glade is de ondersteuning voor meerdere gebruikersinterfaces binnen één project. De projectcode is geschreven in Python en wordt geleverd onder de GPLv2-licentie.
Om ondersteuning voor meerdere GTK-branches te garanderen, wordt de werkomgeving opgezet met behulp van de Broadway-backend, die de uitvoer van de GTK-bibliotheek in een webbrowservenster kan weergeven. Het hoofdproces van Cambalache biedt een binding met WebKit WebView, waarin via Broadway de uitvoer van het Merengue-proces wordt getransporteerd, dat verantwoordelijk is voor het renderen van de door de gebruiker gemaakte interface. De interface kan worden gegenereerd op basis van GTK 3 en GTK 4, afhankelijk van de versie die in het project is gedefinieerd.

Cambalache is niet afhankelijk van GtkBuilder en GObject, maar biedt een datamodel dat overeenkomt met het typesysteem van GObject. Het datamodel kan meerdere interfaces tegelijk importeren en exporteren, ondersteunt objecten, eigenschappen en signalen van GtkBuilder, biedt een undo/redo operatie-stack en de mogelijkheid om de geschiedenis van commando's te comprimeren. Voor het genereren van datamodellen uit gir-bestanden is er een tool genaamd cambalache-db, en voor het генерация van GObject-klassen uit datamodeltabellen is er een tool genaamd db-codegen.

Bron: opennet.ru
