Alla conferenza GUADEC 2021 è stato presentato Cambalache, un nuovo strumento per lo sviluppo rapido di interfacce per GTK 3 e GTK 4, che utilizza la logica MVC e la filosofia di importanza primaria del modello di dati. Una delle differenze più significative rispetto a Glade è il supporto per la gestione di più interfacce utente all'interno di un unico progetto. Il codice del progetto è scritto in Python e fornito sotto licenza GPLv2.
Per garantire il supporto per più rami di GTK, la formazione dell'area di lavoro avviene tramite il backend Broadway, che consente di visualizzare l'output della libreria GTK in una finestra del browser web. Il processo principale di Cambalache fornisce un'interfaccia con WebKit WebView, nella quale, attraverso Broadway, viene trasmesso l'output dal processo Merengue, il quale si occupa direttamente del rendering dell'interfaccia creata dall'utente. L'interfaccia può essere generata basandosi su GTK 3 e GTK 4, a seconda della versione specificata nel progetto.

Cambalache non dipende da GtkBuilder e GObject, ma fornisce un modello di dati che corrisponde al sistema di tipi di GObject. Il modello di dati può importare ed esportare simultaneamente più interfacce, supporta oggetti, proprietà e segnali di GtkBuilder, fornisce uno stack di operazioni di annullamento (Undo / Redo) e la possibilità di comprimere la cronologia dei comandi. Per generare il modello di dati da file gir sono disponibili l'utility cambalache-db, mentre per generare classi GObject dalle tabelle del modello di dati è disponibile l'utility db-codegen.

Fonte: opennet.ru
