Na konferencii GUADEC 2021 bol predstavený Cambalache, nový nástroj na rýchly vývoj rozhraní pre GTK 3 a GTK 4, ktorý používa paradigmu MVC a filozofiu prioritne dusluhajúceho modelu dát. Jedným z najvýraznejších rozdielov oproti Glade je podpora viacerých používateľských rozhraní v jednom projekte. Kód projektu je napísaný v Pythone a je dodávaný pod licenciou GPLv2.
Pre zabezpečenie podpory viacerých vetiev GTK sa pracovná plocha vytvára s pomocou backendu Broadway, ktorý umožňuje vykreslenie výstupu knižnice GTK v okne webového prehliadača. Hlavný proces Cambalache poskytuje obal s WebKit WebView, v ktorom je pomocou Broadway vysielaný výstup z procesu Merengue, ktorý sa priamo zaoberá vykreslením rozhrania vytváraného používateľom. Rozhranie môže byť generované na základe GTK 3 a GTK 4, v závislosti od verzie určené v projekte.

Cambalache závisí od GtkBuilder a GObject, ale poskytuje model dát, ktorý zodpovedá systému typov GObject. Model dát môže importovať a exportovať viaceré rozhrania naraz, podporuje objekty, vlastnosti a signály GtkBuilder, poskytuje zásobník spätného rokovania (Undo / Redo) a možnosť kompresie histórie príkazov. Pre generovanie modelu dát z gir súborov je k dispozícii nástroj cambalache-db a pre generovanie tried GObject z tabuliek modelu dát — nástroj db-codegen.

Zdroj: opennet.ru
